为什么在Linux可以跑,在vs2010就不行呢?
#include <stdio.h>//三子旗游戏项目
void print(char arr);
void game(char arr, char ch);
int main()
{
int input, i, j;
char arr = {0};
char ch;
for(i = 0; i < 3; i++) //初始化棋盘
{
for(j = 0; j < 3; j++)
{
arr = ' ';
}
}
printf("1.>开始游戏<\n2.>结束游戏<\n");
scanf("%d", &input);
getchar();
if(input == 1)
{
printf("游戏规则:\n 请输入键盘上的数字或字母来控制棋子位置\n\n例如: Q W E\n A S D\n Z X C\n\n 7 8 9\n 4 5 6\n 1 2 3\n\n");
print(arr);
for(i = 1; i < 10; i++)
{
if(i % 2 == 0)
{
printf("请乙方输入:");
scanf("%c", &ch);
getchar();
}
else
{
printf("请甲方输入:");
scanf("%c", &ch);
getchar();
}
game(arr, ch);
print(arr);
}
}
else
{
printf("无效输入游戏结束\n");
}
return 0;
}
void print(char arr)
{
int i, j;
for(i = 0; i < 3; i++)
{
printf("\n-------------\n");
for(j = 0; j < 3; j++)
{
printf("| %c ", arr);
}
printf("|");
}
printf("\n-------------\n");
putchar('\n');
}
void game(char arr, char ch)
{
switch(ch)
{
case '7':
arr = '*';
break;
case '8':
arr = '*';
break;
case '9':
arr = '*';
break;
case '4':
arr = '*';
break;
case '5':
arr = '*';
break;
case '6':
arr = '*';
break;
case '1':
arr = '*';
break;
case '2':
arr = '*';
break;
case '3':
arr = '*';
break;
case 'q':
arr = '#';
break;
case 'w':
arr = '#';
break;
case 'e':
arr = '#';
break;
case 'a':
arr = '#';
break;
case 's':
arr = '#';
break;
case 'd':
arr = '#';
break;
case 'z':
arr = '#';
break;
case 'x':
arr = '#';
break;
case 'c':
arr = '#';
}
}
多了个安全检查
ba21 发表于 2022-3-30 20:42
多了个安全检查
好的,我试试
1187520285 发表于 2022-3-30 21:06
好的,我试试
请结贴 同志,给你找个bug。假如甲在e的位置落子,那么轮到乙时,乙在9的位置落子,那么乙不就把甲给覆盖了?
页:
[1]