This is the doxygen documentation for gtkboard.

.
Main Page   Data Structures   File List   Data Fields   Globals  

eightqueens.c File Reference

#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <stdlib.h>
#include <time.h>
#include "game.h"
#include "../pixmaps/chess.xpm"
#include "../pixmaps/misc.xpm"

Go to the source code of this file.

Defines

#define EIGHTQUEENS_CELL_SIZE   54
#define EIGHTQUEENS_NUM_PIECES   2
#define EIGHTQUEENS_BOARD_WID   8
#define EIGHTQUEENS_BOARD_HEIT   8
#define EIGHTQUEENS_EMPTY   0
#define EIGHTQUEENS_QUEEN   1
#define EIGHTQUEENS_CONTROLLED   2
#define ABS(x)   ((x) < 0 ? -(x) : (x))
#define ATTACKS(i, j, x, y)   ((i)==(x) || (j)==(y) || ABS((i)-(x)) == ABS((j)-(y)))

Functions

void eightqueens_init ()
int eightqueens_getmove (Pos *, int, int, GtkboardEventType, Player, byte **, int **)
ResultType eightqueens_who_won (Pos *, Player, char **)
int num_attacks (byte *board, int x, int y)

Variables

char eightqueens_colors [6] = {200, 200, 160, 200, 200, 160}
char** eightqueens_pixmaps []
Game Eightqueens
SCORE_FIELD eightqueens_score_fields [] = {SCORE_FIELD_RANK, SCORE_FIELD_USER, SCORE_FIELD_TIME, SCORE_FIELD_DATE, SCORE_FIELD_NONE}
char* eightqueens_score_field_names [] = {"Rank", "User", "Time", "Date", NULL}


Define Documentation

#define ABS( x )   ((x) < 0 ? -(x) : (x))
 

Definition at line 39 of file eightqueens.c.

#define ATTACKS( i, j, x, y )   ((i)==(x) || (j)==(y) || ABS((i)-(x)) == ABS((j)-(y)))
 

Definition at line 40 of file eightqueens.c.

Referenced by eightqueens_getmove(), and num_attacks().

#define EIGHTQUEENS_BOARD_HEIT   8
 

Definition at line 33 of file eightqueens.c.

#define EIGHTQUEENS_BOARD_WID   8
 

Definition at line 32 of file eightqueens.c.

#define EIGHTQUEENS_CELL_SIZE   54
 

Definition at line 29 of file eightqueens.c.

#define EIGHTQUEENS_CONTROLLED   2
 

Definition at line 37 of file eightqueens.c.

#define EIGHTQUEENS_EMPTY   0
 

Definition at line 35 of file eightqueens.c.

#define EIGHTQUEENS_NUM_PIECES   2
 

Definition at line 30 of file eightqueens.c.

#define EIGHTQUEENS_QUEEN   1
 

Definition at line 36 of file eightqueens.c.


Function Documentation

int eightqueens_getmove ( Pos * pos,
int x,
int y,
GtkboardEventType type,
Player player,
byte ** movp,
int ** rmovep ) [static]
 

Definition at line 105 of file eightqueens.c.

void eightqueens_init ( )
 

Definition at line 65 of file eightqueens.c.

ResultType eightqueens_who_won ( Pos * pos,
Player to_play,
char ** commp ) [static]
 

Definition at line 85 of file eightqueens.c.

int num_attacks ( byte * board,
int x,
int y ) [static]
 

Definition at line 95 of file eightqueens.c.

Referenced by eightqueens_getmove().


Variable Documentation

Game Eightqueens
 

Initial value:

 { EIGHTQUEENS_CELL_SIZE, 
        EIGHTQUEENS_BOARD_WID, EIGHTQUEENS_BOARD_HEIT, 
        EIGHTQUEENS_NUM_PIECES, 
        eightqueens_colors, NULL, eightqueens_pixmaps, "Eight queens puzzle", 
        eightqueens_init}

Definition at line 52 of file eightqueens.c.

char eightqueens_colors[6] = {200, 200, 160, 200, 200, 160}
 

Definition at line 42 of file eightqueens.c.

char** eightqueens_pixmaps[]
 

Initial value:

 
{
        chess_wq_54_xpm,
        grey_square_54_xpm,
}

Definition at line 46 of file eightqueens.c.

char* eightqueens_score_field_names[] = {"Rank", "User", "Time", "Date", NULL}
 

Definition at line 59 of file eightqueens.c.

SCORE_FIELD eightqueens_score_fields[] = {SCORE_FIELD_RANK, SCORE_FIELD_USER, SCORE_FIELD_TIME, SCORE_FIELD_DATE, SCORE_FIELD_NONE}
 

Definition at line 58 of file eightqueens.c.