急求C语言游戏代码!!!!!
# include & ltconio.h & gt
# include & ltstdlib.h & gt
# include & ltwindows.h & gt
int?板[10]?=?{2,2,2,2,2,2,2,2,2,2};
int?转?=?1,旗帜?=?0;
int?播放器,comp
作废?menu();?
作废?go(int?n);
作废?start_game()。
作废?check _ draw();
作废?draw _ board();//打印棋盘
作废?player _ first();
作废?put_X_O(char?ch,int?pos);
//void?gotoxy(int?,?int?);
坐标?coord={0,0 };?//?这个?是吗?全球?可变的
//居中?的?轴?是吗?设置?去哪?那个?top?向左?cornor?的?那个?屏幕
//*************************************
作废?gotoxy(int?x,int?y)//
{
坐标。X = x
坐标。Y = y
SetConsoleCursorPosition(GetStdHandle(STD _ OUTPUT _ HANDLE),coord);
}
int?主()
{
系统(“cls”);
menu();
getch();
}
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
作废?菜单()
{
int?选择;
系统(“cls”);
printf(" \ n-MENU-");
printf("\n1?:?玩?用什么?x”);//人先走
printf("\n2?:?玩?用什么?o”);//电脑先走
printf("\n3?:?退出”);
printf(" \ n输入?你的?选择:>;");
scanf("%d ",& amp选择);
转?=?1;
切换?(选择)
{
案子?1:
玩家?=?1;
comp?=?0;
player _ first();
打破;
案子?2:
玩家?=?0;
comp?=?1;
start_game()。
打破;
案子?3:
退出(1);
默认值:
menu();
}
}
//*****************************************
int?make2()
{
if(板[5]?==?2)
回归?5;
if(板[2]?==?2)
回归?2;
if(板[4]?==?2)
回归?4;
if(板[6]?==?2)
回归?6;
if(板[8]?==?2)
回归?8;
回归?0;
}
int?make4()
{
if(板[1]?==?2)
回归?1;
if(板[3]?==?2)
回归?3;
if(板[7]?==?2)
回归?7;
if(板[9]?==?2)
回归?9;
回归?0;
}
//********************************************
int?posswin(int?p)
{
//?p==1?然后呢?Xp==0?然后呢?o?;x开头的是人,O开头的是电脑。
int?我;
int?check_val,pos
如果(p?==?1)
check_val?=?18;
其他
check_val?=?50;
我?=?1;
while(我& lt=9)//row?检查?线检测
{
if(板[i]?*?板[i+1]?*?板[i+2]?==?检查值)
{
if(板[i]?==?2)
回归?我;
if(板[i+1]?==?2)
回归?I+1;
if(板[i+2]?==?2)
回归?I+2;
}
I+= 3;
}
我?=?1;
while(我& lt= 3)//列?检查?列检测
{
if(板[i]?*?板[i+3]?*?板[i+6]?==?检查值)
{
if(板[i]?==?2)
回归?我;
if(板[i+3]?==?2)
回归?I+3;
if(板[i+6]?==?2)
回归?I+6;
}
i++;
}
if(板[1]?*?董事会[5]?*?董事会[9]?==?Check_val)//对角线检测
{
if(板[1]?==?2)
回归?1;
if(板[5]?==?2)
回归?5;
if(板[9]?==?2)
回归?9;
}
if(板[3]?*?董事会[5]?*?董事会[7]?==?Check_val)//对角线检测
{
if(板[3]?==?2)
回归?3;
if(板[5]?==?2)
回归?5;
if(板[7]?==?2)
回归?7;
}
回归?0;
}
//************************************
作废?go(int?n)
{
如果(转?%?2)
董事会?=?3;
其他
董事会?=?5;
转++;
}
//************************************
作废?player_first()
{
int?pos
check _ draw();
draw _ board();
gotoxy(3018);
printf("你的?转?:& gt?");
scanf("%d ",& amppos);
if(board[pos]?!=?2)
player _ first();
如果(pos?==?波斯温(玩家))
{
go(pos);
draw _ board();
gotoxy(30,20);
//text color(128+红色);
printf("播放器?wins”);
getch();
退出(0);
}
go(pos);
draw _ board();
start_game()。
}
//**************************************
作废?开始_游戏()
{
//?p==1?然后呢?Xp==0?然后呢?O
if(posswin(comp))
{
go(posswin(comp));
旗帜?=?1;
}
其他
if(posswin(玩家))
go(posswin(选手));
其他
if(make2())
go(make 2());
其他
go(make 4());
draw _ board();
if(标志)
{
gotoxy(30,20);
//text color(128+红色);
printf("计算机?wins”);
getch();
}
其他
player _ first();
}
//*********************************
作废?Check_draw()//两边都是偶数。
{
如果(转?& gt?9)
{
gotoxy(30,20);
//text color(128+红色);
printf("游戏?draw”);
getch();
退出(0);
}
}
//***************************************
作废?draw_board()
{
int?j;
for(j = 9;j & lt17;j++)
{
gotoxy(35,j);
printf(" | | ");
}
gotoxy(28,11);
printf("-");
gotoxy(28,14);
printf("-");
for(j = 1;j & lt10;j++)
{
if(board[j]?==?3)
put_X_O('X ',j);
其他
if(board[j]?==?5)
put_X_O('O ',j);
}
}
//****************************************
作废?put_X_O(char?ch,int?位置)
{
int?m;
int?x?=?31,?y?=?10;
m?=?pos
如果(m?& gt?3)
{
而(m?& gt?3)
{
y?+=?3;
m?-=?3;
}
}
如果(pos?%?3?==?0)
x?+=?16;
其他
{
pos?%=?3;
pos-;
while(位置)
{
x+= 8;
pos-;
}
}
gotoxy(x,y);
printf("%c ",ch);
}xo棋