C语言!五子棋!!!看我哪里错了

#include

#include

#include

#include

#defineN19

inti,j,k,size=N;

intisBlack=1;

charstate[N][N];

charx,y,temp[10];

charc;

voidprintState();

voidstartGame();

voidaboutThanks();

intmain(void)

{

system(colorf1);-----------------调用的是系统命令,设置背景颜色

while(1)

{

printf(\n\t-----五子棋-----\n\n);

printf(\t\t1.StartGame!。\n);

printf(\t\t2.Aboutgame.\n);

printf(\t\t3.EXIT。\n);

printf(\n\t请选择!:);

L:k=scanf(%d,&i);-----------------“L:”是标签(Label)的意思,只起个标识作用

if(k==0)

{

printf(\n\t输入错误!.\n从新输入:);

gotoL;-----------------跳转到标签L处,就在上面,运行到这时,就跳转到上面那个L的地方

}

switch(i)

{

case1:

startGame();break;

case2:

aboutThanks();break;

case3:

printf(\t\t\t\t바이바이!!!\n\n\n\t);

return0;

default:

printf(\t无此选项\n);break;

}

}

}

voidprintState()

{

charp='A';

system(cls);

printf(\t棋盘如下.:\n\n);

printf(\t);

for(i=0;i<size;i++)

{

printf(%c,p+i);

}

printf(\n\t);

for(i=0;i<size;i++)

{

printf(%c,p+i);

for(j=0;j<size;j++)

{

printf(%c,state[i][j]);

}

printf(%c\n\t,p+i);

}

printf();

for(i=0;i<size;i++)

{

printf(%c,p+i);

}

printf(\n);

}

voidstartGame()

{

for(i=0;i<size;i++)

{

for(j=0;j<size;j++)

{

state[i][j]='*';

}

}

printState();

while(1)

{

printf(\n\t请%s放子.:,isBlack?black:white);

scanf(%s,temp);

if(!strcmp(temp,BACK))

{

i=x-'A';

j=y-'A';

state[i][j]='*';

printState();

isBlack=!isBlack;-----------------“!”是“非”的意思,非1就是0,非0就是1,也就是说,如果是0,就赋值为1,反过来是一样的

continue;

}

if(!strcmp(temp,LOSE))-----------------strcmp函数是比较字符的意思,比较前面的和后面的是否相同,如果相同刚返回0,不同的不是0,有-1和1两种,想知道具体意义去百度一下这个函数就有了。这个就是判断是否胜利的,temp标识着是否胜利。

{

printf(\n\t%s输.,%s胜!\n\n,isBlack?black:white,isBlack?white:black);

return;

}

x=temp[0];

y=temp[1];

i=x-'A';

j=y-'A';

if(state[i][j]!='*')

{

printf(\t已经有子了请下到别的地方...);

continue;

}

c=isBlack?'1':'2';-----------------“?:”是唯一的一个三目运算符,isBlack如果为真,c='1',如果不为真c='2',相当于if(isBlack)c='1';elsec='2';

state[i][j]=c;

printState();

isBlack=!isBlack;-----------------上面有。。。

}

}

voidaboutThanks()

{

system(cls);

printf(\n\n\t1.MTV。);

printf(\n\t2.CCTV);

printf(\n\t3.everyone。\n\n);

}

不知道有没有胜利的判定方法,给你个思路。

每次下子之后判断这个子周围的5个,是否有连在一起的

免责声明:本站发布的游戏攻略(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!