Author: Tom Kerrigan
Date: 20:55:47 08/31/99
Go up one level in this thread
It's fun to be glancing through a post and think, "Gee, this code looks very
familiar." =)
It seems like the move generator that I include with TSCP does almost exactly
what you want. Why don't you like it?
-Tom
On August 31, 1999 at 17:03:13, Nicolas Carrasco wrote:
>I would like if anyone can write me a move_generator to these arrays and put all
>possible moves at "struct move_list.from ,"move_list.to", "move_list.type" and
>put the last index number to "move_list.num".
>
>I would be extreamly pleased if anyone can create a:
>void gen_moves (char side, m_list list)
>
>side = side to move
>list = struct m_list to change
>
>QUESTION:*****Is this a good move_generator idea, or simply good to start?
>
>///////////////////////////////Begin of source/////////////////////////////////
>struct m_list{
>
> unsigned char num;
> char type; // 0 move, 1 capture, 2 promote, 3 castle king-side, 4 castle
> // queen-side (anything to add or wrong?)
> char from[64];
> char to[27]; // A queen at the center of the board has the maximun
> // move_number of moves per piece?
>
>}move_list;
>
>#define TRUE 1
>#define FALSE 0
>
>#define PAWN 0
>#define KNIGHT 1
>#define BISHOP 2
>#define ROOK 3
>#define QUEEN 4
>#define KING 5
>
>#define WHITE 0
>#define BLACK 1
>
>#define EMPTY 6
>
>#define BOOL char
>
>#define FILE(x) (x&7)
>#define RANK(x) (x>>3)
>
>char mailbox[120]= {
> -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> -1, 0, 1, 2, 3, 4, 5, 6, 7, -1,
> -1, 8, 9, 10, 11, 12, 13, 14, 15, -1,
> -1, 16, 17, 18, 19, 20, 21, 22, 23, -1,
> -1, 24, 25, 26, 27, 28, 29, 30, 31, -1,
> -1, 32, 33, 34, 35, 36, 37, 38, 39, -1,
> -1, 40, 41, 42, 43, 44, 45, 46, 47, -1,
> -1, 48, 49, 50, 51, 52, 53, 54, 55, -1,
> -1, 56, 57, 58, 59, 60, 61, 62, 63, -1,
> -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
>};
>
>char mailbox64[64]= {
> 21, 22, 23, 24, 25, 26, 27, 28,
> 31, 32, 33, 34, 35, 36, 37, 38,
> 41, 42, 43, 44, 45, 46, 47, 48,
> 51, 52, 53, 54, 55, 56, 57, 58,
> 61, 62, 63, 64, 65, 66, 67, 68,
> 71, 72, 73, 74, 75, 76, 77, 78,
> 81, 82, 83, 84, 85, 86, 87, 88,
> 91, 92, 93, 94, 95, 96, 97, 98
>};
>
>/* Posciciones iniciales
>*************************************************************/
>char init_color[64]= {
> 1, 1, 1, 1, 1, 1, 1, 1,
> 1, 1, 1, 1, 1, 1, 1, 1,
> 6, 6, 6, 6, 6, 6, 6, 6,
> 6, 6, 6, 6, 6, 6, 6, 6,
> 6, 6, 6, 6, 6, 6, 6, 6,
> 6, 6, 6, 6, 6, 6, 6, 6,
> 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0
>};
>
>char init_piece[64]= {
> 3, 1, 2, 4, 5, 2, 1, 3,
> 0, 0, 0, 0, 0, 0, 0, 0,
> 6, 6, 6, 6, 6, 6, 6, 6,
> 6, 6, 6, 6, 6, 6, 6, 6,
> 6, 0, 6, 6, 6, 6, 6, 6,
> 6, 6, 6, 6, 6, 6, 6, 6,
> 0, 0, 0, 0, 0, 0, 0, 0,
> 3, 1, 2, 4, 5, 2, 1, 3
>};
>/*
>*************************************************************/
>char notation [64][3]= {
> "a8","b8","c8","d8","e8","f8","g8","h8",
> "a7","b7","c7","d7","e7","f7","g7","h7",
> "a6","b6","c6","d6","e6","f6","g6","h6",
> "a5","b5","c5","d5","e5","f5","g5","h5",
> "a4","b4","c4","d4","e4","f4","g4","h4",
> "a3","b3","c3","d3","e3","f3","g3","h3",
> "a2","b2","c2","d2","e2","f2","g2","h2",
> "a1","b1","c1","d1","e1","f1","g1","h1"
>};
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.