Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Can u put a move_generator to small defs:

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.