int main() { int is_gameover=0; //判断游戏 int computer; //电脑的棋子颜色 srand(time(NULL)); init_board(); display_board(); // 用户选择是否执黑子 int choice; printf("请选择执黑(1)或执白(-1):\n"); scanf("%d", &choice); while (choice != 1 && choice != -1) { printf("输入有误,请重新选择:"); scanf("%c", &choice); } if (choice == 1) { char player=choice; //玩家的棋子颜色 while(!is_gameover){ user_move(player); computer=-1; computer_move(computer); is_gameover=gameover(player); if(gameover(player)==1) {break;} } } else if(choice ==-1) { while(!is_gameover){ computer=1; computer_move(computer); char player=-1; user_move(player); is_gameover=gameover(player); if(is_gameover==1) {break;}}} return 0; }NS流程图
时间: 2024-04-01 14:37:18 浏览: 107
一个棋子游戏的判断程序
很抱歉,我无法在这里为您绘制流程图。但是,我可以为您解释这段代码的流程。这是一个井字棋游戏的主函数,它包含以下几个步骤:
1. 初始化游戏棋盘并显示出来。
2. 让用户选择执黑子或执白子,如果用户输入不正确,则要求用户重新输入。
3. 如果用户选择执黑子,则进入玩家与电脑交替下棋的循环中,直到游戏结束。在每一轮中,玩家先下棋,然后电脑根据当前局面选择最好的下法下棋。如果在某一轮中出现了胜负,则跳出循环,游戏结束。
4. 如果用户选择执白子,则与上面的流程类似,只是先让电脑下棋再由玩家下棋。
总的来说,这段代码的流程比较清晰,主要是通过循环来实现玩家和电脑的交替下棋,直到游戏结束。
阅读全文