摘要论文详细介绍了在飞思卡尔K70单片机上的五子棋游戏的程序设计过程。程序设计实现了用触摸屏进行落子,进行人人对战以及人机对弈等功能。论文介绍了实现程序所需要的软硬件平台以及人工智能的发展现状,并在此基础上完成了棋盘绘制,棋子绘制,人工智能设计等工作,最后通过不断调试与改进,在K70单片机触摸屏上实现了五子棋游戏的运行。论文还针对测试过程中程序AI的实际表现进行了评价,得出了设计的该五子棋游戏智能化程度已经满足日常游戏的需求的结论。 33509
关键词 五子棋 人工智能 人人对战 人机对弈
毕业论文设计说明书外文摘要
Title The design of K70 development board games based on touch screen
Abstract
This paper introduces the program design process of Gobang game on Freescale K70 micro-controller development board .The program design is realized by touch screen are man-man and man-machine chess and other functions.This Paper introduces the procedures required for the hardware and software platform and development of artificial intelligence, based on the drawing board, drawing pieces and AI design. Finally, through the continuous adjustment and improvement, and in K70 micro-controller touch screen to achieve the Gobang game operation. The actual performance against the testing process in AI programs were evaluated and draws a conclusion that the design of the Gobang game is enough to achieve daily needs.
Keywords Gobang game algorithm
目 次
1 引言 1
1.1 五子棋介绍 1
1.2 人工智能 2
1.3 本论文的主要章节安排 3
2 软硬件平台 4
2.1 飞思卡尔K70开发板 4
2.2 群创液晶屏幕AT070TN92 6
2.3 IAR编译器简介 8
3 棋盘棋子的绘制 11
3.1 棋盘绘制 11
3.2 棋子绘制 13
4 人人对弈 15
4.1 基本流程 15
4.2 判断胜负 17
5 人机对弈 20
5.1 对弈算法 20
5.2 对弈处理 20
5.3 对弈评价 22
5.4 防守策略 25
5.5 选取最佳落子 26
5.6 胜负判断 27
结 论 28
致 谢 29
参考文献30
1 引言
在现代社会,计算机已经成为人们工作学习生活中不可或缺的一部分,伴随着计算机的普及,各类程序软件也逐渐被人们所接受,与计算机相关的产业一同进入快速发展期,并开始影响人们的工作生活。
这些年来,随着计算机技术的飞速发展,以计算机作为对战平台,各种各样的棋类游戏纷纷出现。那些喜欢下棋的棋迷们,常常因为找不到合适的对手而苦恼,电脑棋类游戏的兴起,适时地为他们解决了这个烦恼。而且棋类游戏融合了人工智能的技术,下棋的水平颇高,大有与人脑分庭抗礼之势。“深蓝”便是最具说服力的代表之一,因为它曾经战胜过国际象棋世界冠军卡斯帕罗夫。
当人们与电脑对战对时,这些软件就像是人脑一样进行思考。一般来说,我们假定你对于五子棋的基本非常熟悉,想要让电脑知道该下棋的位置,就要根据棋盘当前的情况以及残局的情况,为每一个有机会落子的点位进行重要程度的计算,也就是当这旗子落下后会形成什么模型,然后对整个棋盘进行扫描并且得出结论,这就是是最基本的算法。当然,仅靠残局当前的盘面进行计算并不足以获得胜利,因为下棋讲究博弈手段,这样直接的下法很容易掉进玩家早就设计好的陷阱中,因为它没有考虑棋盘时时刻刻都在变化。所以在以上的基础上,最合适的算法是电脑能预测出今后几步的各种走法,以便计算机能做出最好的选择,这也是我们平时下棋时常说的“想了几步”。那么,如何才能达到这个程度呢?这是这次设计所要讨论的几个主要问题之一。平时我也会和朋友切磋较量五子棋,朋友没有空的时候也会选择五子棋游戏,在使用了众多的五子棋游戏软件后,发现当今大多数五子棋游戏软件中电脑的人工智能不是很先进,与人对抗并不能完全占据上分,我认为这是因为基于以上的基本算法扩展而出的电脑最优落子算法不够成熟而造成的。本次毕业设计,使用C++语言作为开发工具,在吸收之前看过的文献里面所编的五子棋游戏软件的基础上,再加入自己的创新过的最优落子算法,重新编写了一套完整的五子棋程序。由于设计的要求,硬件平台采用了飞思卡尔K70单片机,而并非是个人计算机。结合触摸屏,操作简单明了,运行界面也能够让人有比较好的游戏体验。 基于K70开发板触摸屏五子棋游戏的设计:http://www.youerw.com/tongxin/lunwen_30645.html