/*************************************************************************** * _ _ * * /_\ Chess Board /_\ * * \_/ ------------------- \_/ * * /_\ Black vs White /_\ * * |_| ------------------- |_| * * /___\ GNU GPL Version 2 /___\ * * * ***************************************************************************/ /* Header Files */ #include #include #include "MENU/cbmenu.h" #include "SET/setting.h" #include "BOA/board.h" #include "NET/network.h" /* Secure */ #define SET #define ENGINE /* Define Bool */ #define TRUE 1 #define FALSE 0 /* Define Port */ #define PORT 5799 /* Global Definitions */ char chess[10]; char ipad[20]; /* Global Network Definitions */ socket_t tcpsock1; socket_t tcpsock2; socket_t tcpsock0; /*---------------------------------------------------------------------------*/ /* Main Program */ int main(int agec, char **agev) { /* Chess Game Menu */ while(TRUE) { WINDOW **item; item=drawMenu(0); agec=scrollMenu(item,6,0); deleteMenu(item,6); /* Set Menu Bool */ chess[1] = FALSE; chess[2] = FALSE; chess[3] = FALSE; chess[4] = FALSE; chess[5] = FALSE; chess[6] = FALSE; /* Switch Menu */ switch(agec+1) { #ifdef ENGINE /* Play White */ case 1: chess[1] = 'W'; displayBoard(chess,tcpsock0,tcpsock2); break; /* Play Black */ case 2: chess[2] = 'B'; displayBoard(chess,tcpsock0,tcpsock2); break; #endif /* Play Human */ case 3: chess[3] = 'e'; displayBoard(chess,tcpsock0,tcpsock2); break; #ifdef SET /* Start Server */ case 4: chess[4]= 'S'; settings(ipad, chess); tcpsock1 = socket(AF_INET, SOCK_STREAM, 0); net_bind(&tcpsock1, INADDR_ANY, PORT ); net_listen(&tcpsock1); while(TRUE) { net_accept( &tcpsock1, &tcpsock2 ); while(TRUE) { displayBoard(chess,tcpsock0,tcpsock2); } net_close(&tcpsock2); } net_close(&tcpsock1); break; /* Start Client */ case 5: chess[5]= 'C'; settings(ipad, chess); tcpsock0 = socket(AF_INET, SOCK_STREAM, 0); net_connect(&tcpsock0, ipad, PORT); while(TRUE) { displayBoard(chess,tcpsock0,tcpsock2); } net_close(&tcpsock0); break; /* Game Settings */ case 6: chess[6]= 'G'; settings(ipad, chess); break; #endif }} touchwin(stdscr); return 0; } /*---------------------------------------------------------------------------*/