求高手帮忙 vc6.0上用c编写的五子棋游戏 输入棋子后棋盘变形 求高手帮忙解决
求高手帮忙 vc6.0下用c编写的五子棋游戏 输入棋子后棋盘变形 求高手帮忙解决啊
开始界面
img=http://img.my.****.net/uploads/201206/23/1340433744_5109.jpg][/img]
然后继续
输入棋子位置后变成这样
继续
就是输入棋子以后 棋盘的线条位置换了 怎么改啊
求 高手
------解决方案--------------------
那个棋子是汉字符号占2个字节:
printf(" %2d│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2d\n",
j,p[i][0],p[i][1],p[i][2],p[i][3],p[i][4],p[i][5],p[i][6],p[i][7],p[i][8],p[i][9],p[i][10],p[i][11],p[i][12],p[i][13],p[i][14],j);
│%2s表示字符串长度2时取字符串,如果s空那就空2个字节。
------解决方案--------------------
还有:
if(qipan[j][i]==SPA)
strcpy(p[j][i]," \0");
if(qipan[j][i]==MAN)
strcpy(p[j][i],"●\0");
if(qipan[j][i]==COM)
strcpy(p[j][i],"◎\0");
这几句有问题:
字符串: " \0";这个0是什么?
C中字符串以0结束,但这个0是隐藏的。
所以字符串" "后有一个隐藏的0。
strcpy(p[j][i]," ");//2字节
if(qipan[j][i]==MAN)
strcpy(p[j][i],"●");//汉字2字节
if(qipan[j][i]==COM)
strcpy(p[j][i],"◎"); //汉字2字节
------解决方案--------------------
只改了draw:
开始界面
img=http://img.my.****.net/uploads/201206/23/1340433744_5109.jpg][/img]
然后继续
输入棋子位置后变成这样
继续
就是输入棋子以后 棋盘的线条位置换了 怎么改啊
求 高手
------解决方案--------------------
那个棋子是汉字符号占2个字节:
printf(" %2d│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2d\n",
j,p[i][0],p[i][1],p[i][2],p[i][3],p[i][4],p[i][5],p[i][6],p[i][7],p[i][8],p[i][9],p[i][10],p[i][11],p[i][12],p[i][13],p[i][14],j);
│%2s表示字符串长度2时取字符串,如果s空那就空2个字节。
------解决方案--------------------
还有:
if(qipan[j][i]==SPA)
strcpy(p[j][i]," \0");
if(qipan[j][i]==MAN)
strcpy(p[j][i],"●\0");
if(qipan[j][i]==COM)
strcpy(p[j][i],"◎\0");
这几句有问题:
字符串: " \0";这个0是什么?
C中字符串以0结束,但这个0是隐藏的。
所以字符串" "后有一个隐藏的0。
strcpy(p[j][i]," ");//2字节
if(qipan[j][i]==MAN)
strcpy(p[j][i],"●");//汉字2字节
if(qipan[j][i]==COM)
strcpy(p[j][i],"◎"); //汉字2字节
------解决方案--------------------
只改了draw:
- C/C++ code
void draw() /* 画棋盘 */ { int i,j; char p[15][15][4]; for(j=0;j<15;j++) for(i=0;i<15;i++) { if(qipan[j][i]==SPA) strcpy(p[j][i]," "); if(qipan[j][i]==MAN) strcpy(p[j][i],"●"); if(qipan[j][i]==COM) strcpy(p[j][i],"◎"); } printf(" 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 \n"); printf(" ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐\n"); for(i=0,j=0;i<14;i++,j++) { printf(" %2d│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2d\n", j,p[i][0],p[i][1],p[i][2],p[i][3],p[i][4],p[i][5],p[i][6],p[i][7],p[i][8],p[i][9],p[i][10],p[i][11],p[i][12],p[i][13],p[i][14],j); printf(" ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤\n"); } printf(" 14│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│%2s│14\n", p[14][0],p[14][1],p[14][2],p[14][3],p[14][4],p[14][5],p[14][6],p[14][7],p[14][8],p[14][9],p[14][10],p[14][11],p[14][12],p[14][13],p[14][14]); printf(" └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘\n"); printf(" 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 \n"); }