大一C语言程序设计
答案:2 悬赏:0 手机版
解决时间 2021-11-20 15:56
- 提问者网友:蓝莓格格巫
- 2021-11-19 15:36
大一C语言程序设计
最佳答案
- 五星知识达人网友:青尢
- 2021-11-19 16:41
贪吃蛇源代码我有,
在电脑里,有时间发给你。
在电脑里,有时间发给你。
全部回答
- 1楼网友:执傲
- 2021-11-19 17:55
井字棋游戏,希望对你有用
#include
void main()
{
int player=0; // 当前游戏玩家数量-1至2名(current现在的)
int winner=0; //记录获胜玩家的编号
int choice=0; //被选择的方格
unsigned int row=0; //方格的行索引
unsigned int column=0; //列索引
unsigned int i,line;
char board[3][3]={ //棋盘
{'1','2','3'}, //最初的元素是符号1-9
{'4','5','6'},
{'7','8','9'},
};
for(i=0;i<9&&winner==0;++i)//循环终止条件:九个格子全部填满或者已经产生了赢家
{
printf(" %c | %c | %c\n",board[0][0],board[0][1],board[0][2]);
printf("---+---+---\n");
printf(" %c | %c | %c\n",board[1][0],board[1][1],board[1][2]);
printf("---+---+---\n");
printf(" %c | %c | %c\n",board[2][0],board[2][1],board[2][2]);
printf("---+---+---\n");
player=i%2+1;//通过对游戏回合数取余选择本回合玩家(0或偶数取余结果为0,奇数反之)
// 获取玩家输入
do
{
printf("%d号玩家,请输入本回合落子位置 :",player);
scanf("%d",&choice);
row=--choice/3;
column=choice%3;
} while(choice<0||choice>8||board [row][column]>'9');
board[row][column] = (player==1) ? 'X': 'O'; //将
//先检查棋盘对角斜线上是否已经有棋子连成一线
if((board[0][0]==board[1][1]&&board[0][0]==board[2][2])||
(board[0][2]==board[1][1]&&board[0][2]==board[2][0]))
winner=player;//最后下棋的玩家是获胜者
else
//接下来检查十字上是否产生棋子连线
for(line=0;line<=2;line++)
if((board[line][0]==board[line][1]==board[line][2])||
(board[0][line]==board[1][line]==board[2][line]))
winner=player;
}
//游戏结束,现在显示棋盘
printf("\n");
printf(" %c | %c | %c\n",board[0][0],board[0][1],board[0][2]);
printf("---+---+---\n");
printf(" %c | %c | %c\n",board[1][0],board[1][1],board[1][2]);
printf("---+---+---\n");
printf(" %c | %c | %c\n",board[2][0],board[2][1],board[2][2]);
printf("---+---+---\n");
if(winner)
printf("恭喜,%d号玩家获胜!",winner);
else
printf("很遗憾,本局双方平手");
}追问有能直接运行出来的文件吗追答有的,有空再发有的,有空再发追问嗯嗯
#include
void main()
{
int player=0; // 当前游戏玩家数量-1至2名(current现在的)
int winner=0; //记录获胜玩家的编号
int choice=0; //被选择的方格
unsigned int row=0; //方格的行索引
unsigned int column=0; //列索引
unsigned int i,line;
char board[3][3]={ //棋盘
{'1','2','3'}, //最初的元素是符号1-9
{'4','5','6'},
{'7','8','9'},
};
for(i=0;i<9&&winner==0;++i)//循环终止条件:九个格子全部填满或者已经产生了赢家
{
printf(" %c | %c | %c\n",board[0][0],board[0][1],board[0][2]);
printf("---+---+---\n");
printf(" %c | %c | %c\n",board[1][0],board[1][1],board[1][2]);
printf("---+---+---\n");
printf(" %c | %c | %c\n",board[2][0],board[2][1],board[2][2]);
printf("---+---+---\n");
player=i%2+1;//通过对游戏回合数取余选择本回合玩家(0或偶数取余结果为0,奇数反之)
// 获取玩家输入
do
{
printf("%d号玩家,请输入本回合落子位置 :",player);
scanf("%d",&choice);
row=--choice/3;
column=choice%3;
} while(choice<0||choice>8||board [row][column]>'9');
board[row][column] = (player==1) ? 'X': 'O'; //将
//先检查棋盘对角斜线上是否已经有棋子连成一线
if((board[0][0]==board[1][1]&&board[0][0]==board[2][2])||
(board[0][2]==board[1][1]&&board[0][2]==board[2][0]))
winner=player;//最后下棋的玩家是获胜者
else
//接下来检查十字上是否产生棋子连线
for(line=0;line<=2;line++)
if((board[line][0]==board[line][1]==board[line][2])||
(board[0][line]==board[1][line]==board[2][line]))
winner=player;
}
//游戏结束,现在显示棋盘
printf("\n");
printf(" %c | %c | %c\n",board[0][0],board[0][1],board[0][2]);
printf("---+---+---\n");
printf(" %c | %c | %c\n",board[1][0],board[1][1],board[1][2]);
printf("---+---+---\n");
printf(" %c | %c | %c\n",board[2][0],board[2][1],board[2][2]);
printf("---+---+---\n");
if(winner)
printf("恭喜,%d号玩家获胜!",winner);
else
printf("很遗憾,本局双方平手");
}追问有能直接运行出来的文件吗追答有的,有空再发有的,有空再发追问嗯嗯
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯