五子棋总结
一 窗体设置
窗体分为两部分,一部分是五子棋棋盘的绘制,一部分是人机对战、人人对战选择面板的绘制,用到的还是JFrame、JPanel。五子棋棋盘用重绘方法重写JFrame中Paint方法,将棋盘线条绘制在棋盘面板上;将人机对战、人人对战按钮添加在新面板上并将新面板添加到程序窗体上。
二 添加监听器 人人对战的实现
在棋盘面板上添加鼠标监听器,并在人机对战、人人对战选择按钮上添加动作监听器,使得鼠标选择人机对战或是人人对战时产生不同的对战效果。在棋盘上添加鼠标监听器,在人人对战中,使得鼠标点击时,在棋盘中绘制黑棋或是白棋,棋子颜色通过定义的整形count的数值改变来改变,每点击一次,count大小改变一次,棋子颜色改变一次。又通过在鼠标点击的坐标的一定范围内限定棋子绘制的位置来保证棋子绘制在棋盘上横向线与纵向线的交叉处。
三 胜负判断
建立二元数组chess,把所绘制的棋子的位置和颜色存储起来,在Paint方法中重绘,并且在输赢判断的方法中统计每颗棋子周围相同颜色的棋子个数,用numb计数,当横向或者纵向或者斜向出现相同颜色的五颗棋子时,判定该颜色胜出。
四 人机对战的实现
列出权值表,在鼠标点击下棋之后,程序判断所下棋子的位置附近未下棋子位置的权值,在权值最大的地方下一颗颜色相反的棋子。
五 程序优化
包括界面美化、权值表的优化使程序更为美观、完善,我的五子棋程序还未进行最后的美化,目前依然比较粗糙。
分享到:
相关推荐
五子棋社团工作计划总结总结.doc
【毕业设计】MATLAB实战应用案例小游戏(附MATLAB代码):围五子棋.zip
1引言1 1.1系统开发背景2 1.1系统开发的目的和意义3 1.2完成的主要工作4 2需求分析和总体设计4 2.1需求分析与设计思路5 2.1.1关键技术说明5 2.1.2...模块实现9 4系统运行结果10 5课程设计总结12 五子棋游戏的设计与实现...
网络五子棋设计报告 大家下载着看看吧 网络五子棋设计报告 网络五子棋设计报告
本文档是关于大学本科课程实训的一个项目,是用c语言写的一个关于五子棋的实训报告,并且可视化
北京邮电大学世纪学院实习报告,主要针对五子棋的设计过程做出分析,附有代码说明
五子棋程序源码 加 报告 五子棋程序源码 加 报告 五子棋程序源码 加 报告
python课程设计完整 五子棋
五子棋课程设计报告 五子棋课程设计报告 五子棋课程设计报告
Java五子棋设计报告.pdf
使用C语言基于EGE图形库实现的五子棋小游戏,实验报告,C语言程序设计的结课作业,实现了人机对弈与人人对战功能。有相应的音乐
NULL 博文链接:https://javaprince.iteye.com/blog/798714
使用python写的基于两层博弈树的五子棋AI。加入了阿尔法贝塔剪枝。 python版本:3+,应该可以在命令行里直接跑。 电脑执黑,玩家执白。无禁手。 因为只有两层博弈树,请大家不要嫌他菜哈哈哈,仅供大家学习参考。 ...
五子棋游戏是一个深受人们喜爱的游戏,通常是人机对弈,本程序设计为人与人对弈,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己的棋子五子相连。按键盘上的方向键可以移动光标,回车键可以摆放...
Python编程与数据分析-结课报告-五子棋对弈的算法设计包含以下两部分文件: 1.【报告】分为五章进行展示,包括程序思路介绍、设计方案、源程序代码、程序运行,以及结语。 2.【代码】包括4个python代码文件,用于...
五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰...
Java实现五子棋源码+实验报告
基于Python实现五子棋(三人对战) 大学生课程设计 基于python的课程设计 自己大二写的课程设计
五子棋游戏开发总结c语言版