C++做五子棋的方案急
期末老师让我们做个C++五子棋,主要有2个方面困惑,1个,怎么判断输赢,5子一线怎么让其判断,其次,人机对战时,怎么让电脑有AI,我看了网上很多很多的帖子,主要问题还是这2块,能解释下么?详细点最好,可以QQ交流,谢谢了,可能分很少,但是我真的虚心求教,谢谢啦
追问:懂了哈!我基本也是这样做的,但是其他方向加进去以后会很长很长,我想可以比如扫到一个棋子然后上下左右各衍生4格变成9*9=81格,在里面扫一次呢?
期末老师让我们做个C++五子棋,主要有2个方面困惑,1个,怎么判断输赢,5子一线怎么让其判断,其次,人机对战时,怎么让电脑有AI,我看了网上很多很多的帖子,主要问题还是这2块,能解释下么?详细点最好,可以QQ交流,谢谢了,可能分很少,但是我真的虚心求教,谢谢啦
追问:懂了哈!我基本也是这样做的,但是其他方向加进去以后会很长很长,我想可以比如扫到一个棋子然后上下左右各衍生4格变成9*9=81格,在里面扫一次呢?
答案:1、判断输赢容易啊,五子相连即为赢,怎么找五子呢,首先要定义一个棋盘数组。比如15*15的棋盘。先用最简单的办法,穷举法来判断输入。
以某点为座标,其八个方向上,有连续的五个字都是相同的,则为赢。
2、怎么让电脑有AI,就有相当复杂了。一般的AI有启发式,搜索式,我们先说一个简单的入门级的分值计算法。意思就是给定一个规则,下哪个点分值高,就让电脑下哪个点。
一会再花点时间做个DEMO给你看看
上一个:求助C/C++语言设计
下一个:C++的问题 什么叫做结构