求助高手,求一个C语言编写五子棋游戏的程序外加流程图,尤其是流程图谢谢万分火急 20
2个回答
展开全部
内部逻辑要弄好,而且你是和机器对战还是网络对战。假如网络对战,那么只要处理好数据包定义、解析等,至于逻辑只是简单的每一步之后检查是否有五子情况。假如是机器对战,那么就稍微要麻烦一点,要赋予机器一定的思维,机器人下棋的逻辑可以这样
(1)遍历棋盘,看自己是否有五子缺一的情况,假如有,那么补全五子,取胜
(2)查看对家是否有五子缺一的情况,有的话那么围堵
(3)查看自家是否有一个以上两端自由的三子连棋,假如有,那么补足,成为四子连棋,一般保持两端自由,那么下一步棋就赢了,但是假如碰边的话就很麻烦,要进一步检测
(4)查看对家是否有两个以上的两端自由的三子连的棋,假如有的话一般自己会输,那么找见自家一段自由的三子连棋,补足四子,而且第四子端要自由,否则下一步起就输了
(5)假如上述情况都没出现,那么这里就可以堵对方棋,或者自定义下棋
这里面逻辑有点乱,而且很多没有考虑,所以你是高手的话开发这个系统那么有可玩性,假如你连五子棋都是菜鸟的话,那么很多你考虑不到,那么高手可以秒杀你的系统。注意的是,五子棋变化比较多,要熟知棋局的很多情况,特别是棋盘大小的限制,使得你要考虑的更多!
(1)遍历棋盘,看自己是否有五子缺一的情况,假如有,那么补全五子,取胜
(2)查看对家是否有五子缺一的情况,有的话那么围堵
(3)查看自家是否有一个以上两端自由的三子连棋,假如有,那么补足,成为四子连棋,一般保持两端自由,那么下一步棋就赢了,但是假如碰边的话就很麻烦,要进一步检测
(4)查看对家是否有两个以上的两端自由的三子连的棋,假如有的话一般自己会输,那么找见自家一段自由的三子连棋,补足四子,而且第四子端要自由,否则下一步起就输了
(5)假如上述情况都没出现,那么这里就可以堵对方棋,或者自定义下棋
这里面逻辑有点乱,而且很多没有考虑,所以你是高手的话开发这个系统那么有可玩性,假如你连五子棋都是菜鸟的话,那么很多你考虑不到,那么高手可以秒杀你的系统。注意的是,五子棋变化比较多,要熟知棋局的很多情况,特别是棋盘大小的限制,使得你要考虑的更多!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询