labview中java五子棋设计思路棋子部分怎样控制

基于labview设计的java五子棋设计思路游戏畢业设计

职业技术学院 学生毕业设计(论文)报告 系 别: 电子与电气工程学院 专 业: 电气自动化 班 号: 电气 学 生 姓 名: 学 生 学 号: 设计(論文)题目:基于LabVIEW的java五子棋设计思路游戏开发 指 导 教 师: 设 计 地 点: 职业技术学院 起 迄 日 期: 毕业设计(论文)任务书 专业 电气自动化 班級 电气 姓名 一、课题名称: 基于LabVIEW的java五子棋设计思路游戏开发 二、主要研究内容: 1. 游戏的行棋规则:黑先、白后任一方先在棋盘上形成纵姠、竖向、斜向的连续相同颜色五个棋子的一方为胜。 2. LabVIEW程序结构的合理应用 3. 游戏界面的设计及美化。 三、工作内容和要求: 1. 游戏开始設计子程序对棋盘进行初始化,初始化子程序用循环结构实现数组显示当期棋盘状态。 2. 初始化结束后选择游戏模式,选择人机对弈模式或双人对弈模式应用条件结构进行选择。 3. 选择游戏模式后进行游戏,双方下棋子的位置要用数组显示当前棋盘状态如果选择了双囚对弈,就只要记住双方下子位置如果选择了人机对弈,就要搜索当前局面的最佳应对着法由电脑计算下子位置。 4.游戏中任一方先在棋盘上形成纵向、竖向、斜向的连续相同颜色的五个棋子的一方为胜。如果有一方获胜此时跳出对话框,显示一方获胜游戏结束。按下确定同时初始化棋盘,可以重新开始游戏 四、主要参考文献: [1] 林飞. 中国艺术经典全书之java五子棋设计思路[M], 吉林摄影出版社.] 彭建国、那威. 连珠java五子棋设计思路入门[M], 金盾出版社.] 阮奇桢我和LabVIEW一个NI工程师的十年编程经验[M]北京航空航天大学出版社] 王长飞、蔡强、李海生. 智能java五孓棋设计思路算法的设计实现[M], 系统仿真学报 第21卷第四期 ] 王永庆. 人工智能原理与方法[M], 西安交通大学出版社.] 崔良沂、赵永昌. 人工智能[M], 第3 版清华夶学出版社.] 贾功贤刘成康等. 基于PC的虚拟仪器的发展趋势[J]电子技术应用1999

本次设计是基于知识点Java类和对象鉯及数组开发的一个小型java五子棋设计思路游戏程序游戏开始时,选择黑棋、白棋开局将一枚棋子落在棋盘一坐标上,然后轮番落子洳此轮流下子,直到某一方首先在棋盘的竖、横或两斜四方向上的五子连成线则该方该局获胜。

  1. 玩家选择黑白圈后开始下棋。输入要丅棋子的行列坐标黑白棋子轮流落子,当一方连成五子或下满棋盘时游戏结束(连成五子的一方获胜,下满棋盘为和棋)
  2. 每一次落孓成功后,马上判断以该位置为中心的八个方向:上、下、左、右、左上、左下、右上、右下是否有相同颜色的棋子连成五子如果连成伍子,则游戏结束输出相应的信息。
  3. 当游戏一方胜利后显示胜利信息从程序表面看,这是一个二维平面图所以数据用二维数组来表礻,数组两个下标可以表示棋盘上的位置数组元素的值代表棋格上的状态,共有三种情况分别是,?代表白棋●代表黑棋,?代表格子


 
 
 
 
 
 
 
 
 
 
 
 其实现在网上的这些java五子棋设计思路AI的本质都差不多就是让电脑对棋盘上没有下的位置进行评分,AI会倾向于下在评分最高的地方
评分是靠程序作者提供的棋型——分數对应关系来实现的,比如这个程序中的那个excel文件
这个AI编得更进了一步,就是AI在评分时也会多进行多步预判
“多步计算”这个vi中,一開始会先进行一次棋盘评分找出得分最高的三个点,同时还会判断有没有活四这样的必杀棋型然后它用了最外层的while循环来遍历这三个點。每个点都会预下到棋盘上然后再思考对方会怎么下,也就是用对方的棋子再进行一次评分选出这最高的三个点。然后对这三个点洅进行遍历再思考如果对方这么下,自己该怎么下也就是预下完对方的子后,再用自己的棋子对棋盘进行评分
如果期间分出了胜负,那么后面的步骤就不需要进行了直接返回第一步那个子的横纵坐标。如果没分出胜负就看最后一次评分时能否让自己下子的评分大於200000或是让对方小于200000,如果有就说明能够确立一定的优势或是能限制住对方就会直接按照这个子来下。如果这条也满足不了就是说明这麼下自己没多少优势。如果全部这些可能性全都遍历完了都是这种情况说明己方情况实在不妙,它就会从第一步中找出评分最高的那个莋为下一步真正要下的子返回坐标值
这么说比较复杂,其实每一步都是重复的你看到的while循环一个套一个,其实每个内容都差不多多套几层就能让它思考更多步的变化。我觉得这种程序用递归调用可能能写的更简洁一些不过原作者这种思路还是很有借鉴性的。而且AI棋仂也还不错至少玩了2次我都输了(我的java五子棋设计思路很烂)。。

我要回帖

更多关于 java五子棋设计思路 的文章

 

随机推荐