“唉,我还以为什么高难度,游戏机里我玩过,电脑弱智的很,最高难度的要思考好久,还不如真人有意思!”王伟不以为然道。
“不一样,我写的当然要能正常对局,咱们的电脑虽然很落后,比你的游戏机还是要强很多的,计算能力不是一个水平!你等着瞧好了!”曾凡很自信的说道。
“看把你能的,到时候你的程序要是能赢我,我请咱们全班吃雪人!”王伟对自己的象棋水平还是很有把握的。
“知道你家有钱,我不和你打赌,到时候就知道了!”曾凡才不上当,一根雪人雪糕一块钱,全班六十多人,他全身上下的钱加起来都不够。
“不是打赌,是我个人自愿!”
王伟说着突然站了起来,踩桌子站到讲桌上,转过身大声说道:“大家听好了,周四上机课,我和曾凡写的象棋程序对战,如果我输了,自愿请全班同学吃雪人!决不食言!”
“王伟!快下来,这是晚自习,别影响大家学习!”班长杨菲菲赶紧站起来维持秩序。
下面的同学们看热闹不嫌事大,更何况还有便宜可占,纷纷的跟着起哄,尤其是后几排的男同学,刘志新嚷的最欢,被班长狠狠瞪了一眼,才不得不住口。
“我说完了,大家知道有这事儿就行了!”王伟踩着桌子又回到自己的位置。
曾凡很无语,这下子全班都知道了,想低调都做不到了,也怪自己,和这个出名的大嘴巴抬什么杠呢!
“曾凡,我等着看你的大作了!”王伟拍了拍他的肩膀,笑呵呵的说道,明显是不相信他能写出这样的程序。
有了王伟的打岔,曾凡不得不认真起来,反正作业都写完了,曾凡拿过那本程序书认真翻看起来,在里面找相似类型的算法代码作参考。
一般类似的棋类软件算法都是枚举法,将每一个棋子可能的走法逐一计算,通过特殊的程序算法进行判断,选择出最有利的走法。
程序想要获胜,仅算一步肯定不够,还要计算对手可能的走法,再逐一计算,然后再根据对方的某一步计算己方最佳的应对方法,以此类推。
每往深层多计算一步,总的计算数量就是双方所有可能走法相乘一次,计算机运算能力再强大,也禁不起这种海量枚举的消耗,一般的人类棋手,水平再差也能算两三步,但凡有点水平算四五步,七八步都很常见,虽然没有程序机械严谨,很容易有疏漏,可是人类的经验计算机不能比,能弥补偶尔疏漏造成的错误。
好的算法就是减少程序的枚举步骤,通过严密设计提前排除大量无效步骤,并且高效判断某一步的价值,以少量的计算获取最深的计算步骤,尽量减少己方的失误。
曾凡左手托下巴,右手无意识的翻书,脑子里思索着程序的结构设计,怎样枚举计算,怎样判断每一步的价值,已经有了初步的想法,迫切的想要去写出来验证一下。
看了看表,才刚刚八点多,到十点熄灯还有将近两个小时,差不多够用了。
“高小娜,我出去一下!”曾凡的位置在里面,后排的桌子又靠的很紧,想要出去,需要外面的人先出去,或者尽量往前靠,他才能过去。
出了教室,曾凡直奔机房,开门进去先开灯,然后直奔刚才他用的那台电脑。
这次他带着软盘过来,写完了备份到软盘上面,下次随便哪台电脑都能继续编写了。