21根火柴的人机对战编程揭秘:胜负策略

需积分: 32 2 下载量 6 浏览量 更新于2024-09-17 收藏 1KB TXT 举报
本文档介绍了一个简单的21根火柴的人机对战游戏。游戏规则是玩家和计算机轮流从一堆火柴中取走1到4根,直到只剩下1根或更少时,取走最后一根火柴的玩家将输掉比赛。游戏的关键在于一个名为`com`的函数,它根据剩余火柴的数量来决定计算机的行动。当玩家输入一个非法数字(不在1到4之间)时,程序会提示重新输入。 `com`函数通过`switch`语句实现,根据不同数量的火柴给出相应的策略: - 当剩余火柴数为0时,电脑取4根; - 剩余4根时,电脑取3根; - 剩余3根时,电脑取2根; - 剩余2根时,电脑取1根; - 对于其他情况,电脑默认不取(返回0),即保持游戏进行。 在`main`函数中,程序首先设置了屏幕颜色,然后定义了游戏的初始状态(21根火柴)。游戏流程是循环进行,直到只剩下1根火柴。在每次玩家的回合,程序会询问玩家要取走多少根,检查输入的有效性,然后更新剩余火柴数量并调用`com`函数计算电脑的行动。接着,再次更新剩余火柴数,如此反复,直到游戏结束。 当只剩下1根火柴时,程序询问玩家是否想再取,但此时无论玩家输入什么,因为规则限制,都会判定为错误,直到玩家正确输入1为止。最后,如果玩家成功取得最后一根火柴,那么他/她就赢得了游戏。 这个程序实现了基本的21根火柴的人机对战逻辑,适合学习者练习基础的C语言编程,特别是控制流和用户输入处理。同时,它也展示了如何利用简单的条件判断和循环结构来模拟一个博弈过程。