五子棋实训报告五子棋实训报告篇一:(3)棋子的绘制与存储棋子的绘制用实心圆模式,颜色为黑色及白色两种。
棋子在内存中的存储方式:因为表示各个棋子的数据类型都相同,所以考虑用数组存储,因为棋盘是二维的,因此棋子用二维数组a存储。
a{ setTitle{ Objet obj = e.getSoure }toolbar = ne JPanel{ } publi int getX{ } publi intgetY{ } publi Color getColor{ } return olor; return ;return x; this.x = x; this. = ; this.olor = olor;篇四:实习报告-五子棋信息工程学院201X年毕业实习报告班级:计科XX 姓名:XXX实习地点:XXXXXX 实习12周-19周一、实习目的1. 夯实专业基础,提高动手能力。
把专业知识应用于实践,找出专业薄弱环节加强巩固。
3. 了解就业单位的计算机技术的应用情况、需求情况和发展方向及前景,培养实践能力、分析问题和解决问题的能力以及综合运用所学基础知识和基本技能的能力,同时也增强了适应社会的能力和就业竞争力。
4. 挖掘自身潜力,寻找自身不足,通过实践对未来做出合理规划。
二、实习任务在MElipse的平台上运用java语言,学习开发一个常用小游戏:五子棋。
三、实习计划5. 基础夯实,联系实践。
在信息高速发展的今天,计算机科学技术的重要性也在人们的日常生活中日益突显。
不管是从事理论教学还是从事软件的设计和开发,基础都是最有力的保障。
思想决定行动,认识决定成败。
没有正确的思想作为指导,行动就会陷入盲目和被动。
缺乏正确的认识基础,前途就会迷茫,方向就会迷失,机会就会丧失。
所以说,理论学习是我增强行动自觉的重要保证。
人常说:“经济基础决定上层建筑”专业基础对我来说就是经济基础,而上层建筑就是我们所从事的相关工作。
但是只拥有专业基础还是不行的,所以,我必须要把理论应用于实践。
这也是此次实习课程的重要所在,以专业基础知识为重要依托,以专业知识的应用为重要手段,在实践中实现基础的夯实和对实践的联系。
6. 结合实践,角色转换。
理论学习首先要学习正确的理论。
正确的理论,让我对事物的认识更加真实、更加深邃、更加准确。
理论本身没有对错之分,然而却因理论形成的出发点和落脚点不同,使理论指导的实践得出的结论也不尽相同,也使得理论具有了好坏之分的特性。
实践没有止境,我们的认识就不会停止,理论的创新和发展就会继续,而理论学习也要不断进行,要坚持不懈地把理论学习进行到底并把其和实践有机结合。
从学校走向社会,首要面临的问题便是角色转换的问题。
从一个学生转化为一个单位人,在思想的层面上,必须认识到二者的社会角色之间存在着较大的差异。
学生时代只是单纯的学习知识,而社会实践则意味着继续学习,并将知识应用于实践,学生时代可以自己选择交往的对象,而社会人则更多地被他人所选择。
诸此种种的差异。
不胜枚举。
但仅仅在思想的层面上认识到这一点还是不够的,而是必须在实际的工作和生活中潜心体会,并自觉的进行这种角色的转换。
7. 积极工作,主动工作。
通过实习达到积极主动工作和主动工作是实习质的提高。
人对待工作的态度大致可以分为四种:第一,不用别人告诉你,便能积极出色的完成自己的各项工作;第二,领导安排任务后,才去做领导安排的工作和自己职责范围内的工作,领导不安排就不知道去做;第三,领导安排任务后,多次督促,迫于形势才去做;第四,领导安排任务后,告诉他怎么做,并且盯着他才去做。
显然第一种态度是我们所要企及的目标,那就是积极主动地去完成自己的工作。
实习毕竟是短期的一次实践,而这种品质需要长期的检验和我们长期的坚持,我希望进入社会和从事自己的行业时依然能够保持这种习惯,直到成为自己的一种品质。
实习知识开端,在今后的工作和生活中,我将继续学习,深入实践,不断提升自我,努力创造业绩,,继续在自己的工作学习领域创造更多的价值。
四、实习过程11月24日开始进行收集材料,选定实习作品的主题及编写语言;12月 1日开始进行实习作品的功能设计并研究其设计思想;12月8日开始温习java语言基础并根据实习作品需求进行深一步学习; 12月17日正式开始编写实习作品;1月5日对编写的程序进行测试并不断修改;1月19日,已完成实习任务,撰写实习报告,整理实习期间文档等材料。
五、实习项目简介五子棋一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。
传统五子棋的棋子分为黑白两色,采用围棋棋盘,棋子放置于棋盘线交叉点上。
游戏规则简单,对阵双方交替落子,任何一方不能多下一步,也不能在已有棋子的地方或棋盘外继续落子,若任何一方先出现在棋盘的横、纵或者斜线上形成连续的五子,则该方获胜。
Java语言是Sun Mirosstem公司开发的编程语言,是一个简单,面向对象,分布式,解释性,强壮,安全,与系统无关,可移植,高性能,多线程的动态的语言。
同时,Java也是大学时期相对学习较为深入的一门语言,在目前程序语言中占有较大的市场比重,积累一些java方面的实践经验对于以后的工作学习会有一定帮助,因此选用java来开发设计这款单机版五子棋小游戏。
功能描述:游戏的基本功能描述如下:1)游戏场地为一个15*15的棋盘;2)游戏需产生黑白两种棋子,供两方玩家对弈(默认黑棋优先);3)玩家在点击鼠标左键时,可以在相应的位置显示所下的棋子;4)游戏双方玩家可交替进行落子操作,每次只下一步,所下棋子颜色与已选颜色一致;5)游戏双方玩家落子时必须在除以下几种情况外:选取位置已有棋子、棋盘范围外或游戏结束;6)游戏一方玩家一次落子后可选择“悔棋”按钮进行悔棋操作;7)游戏提供“重新开始”和“退出”按钮供双方玩家根据自身需要选择;8)游戏一方玩家先在棋盘上形成横、纵或者斜线上的连续五子,游戏判定该方玩家胜出,同时显示弹窗:“恭喜,x棋赢了!;” 9)游戏一方玩家胜出后,点击弹窗中的“确定”可清除现有棋盘开始新的游戏或直接退出结束游戏。
设计思想:8. 本程序要实现五子棋的游戏功能,首先需要一个棋盘,所以,通过继承JPanel,然后在JPanel上画一个15*15的棋盘,当然Panel必须放在JFrame中,所以,又通过继承JFrame得到一个实例;9. 对于落子的操作,通过对JFrame增加鼠标事件监听器MouseListener,每次当用户点击鼠标时,先取得点击的坐标值,然后换算成对应棋盘上的(即棋盘数组)的位置;10. 判断此处是否已经有棋子并在棋盘范围内,如果有或者不在棋盘范围内则不能进行落子操作,否则通过java里的画图方法在此处画上棋子,重新刷新输出棋盘;11. 判断该颜色棋子是否在棋盘上形成横、纵或者斜线上的连续五子,如果该颜色棋子先在棋盘上形成,提醒相应的游戏玩家获胜。
如果没有,更换游戏玩家进行落子;1对于游戏玩家的更换时程序自动的,每次用户点击鼠标左键后,若本局游戏还未结束则会变换玩家,从而画出对应黑方白方的棋子,直到有一方玩家获胜后不能再进行落子。
测试报告:13. 测试棋盘:运行程序以后,弹出了棋盘的对话框,标题为“单机版五子棋”,整体棋盘呈白色,由横竖16根线画成,棋盘边界与对话框边界稍有余地。
棋盘下方依次列有“重新开始”、“退出”和“悔棋”三个按钮。
14. 测试落子范围:程序运行后,在棋盘任意位置落子均能显示,但已有棋子的位置及非棋盘范围内不能落子;15. 测试对弈基本功能:将程序运行后,弹出棋盘的对话框,开始下棋。
点击鼠标后,棋盘相应位置显示出棋子,再次落子棋子已变换颜色表示游戏双方玩篇五:五子棋Java实验报告五子棋JAVA实验报告一、实验目的和要求1、能够用编程语言实现一个简单的五子棋程序2、在实际系统中使用、实现人工智能的相关算法3、进一步加深对人工智能算法的理解二、五子棋的基本常识与原理1、五子棋的起源五子棋,是一种两人对弈的纯策略型棋类游戏,亦称“串珠”、“连五子”;是中国民间非常熟知的一个古老棋种。
相传,它起源于四千多年前的尧帝时期,比围棋的历史还要悠久。
亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。
五子棋发展于日本,流行于欧美。
容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为19X19,棋子放置于棋盘线交叉点上。
两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。
因为传统五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。
2、五子棋的基本常识与任何一种竞技棋一样,五子棋的每一局棋也分为三个阶段:开局,中局和残局。
五子棋的开始阶段称为开局,或称布局。
其开局阶段是十分短暂的,大约在七着与十几着之间。
在这一阶段的争夺中,双方的布局,应对将对以后的胜负起着极为关键的作用。
在开局阶段取得的形势好坏,主动与被动,先手与后手的优劣程度,往往直接影响中局的战斗。
因此积极处理好开局和开局向中局的过渡十分重要。
五子棋是从一至五,逐渐布子,发展连系,同时运用限制和反限制的智慧,在连子的过程中为自己的棋子争得相对的主动权和优势,逐步扩展优势,或者从劣势转化为优势,击溃对方的防线,最后连五取胜或抓禁手取胜或迫使对方投子认负。
3、五子棋比赛的相关规定职业连珠规则a. 黑方先下子,白后下,从天元开始相互顺序落子。
b. 最先在棋盘横向、竖向、斜向形成连续的相同色五个棋子的一方为胜。
. 黑棋禁手判负,白棋无禁手。
黑棋禁手包括“三三”比赛中的规定和特例a. 对局开始前,双方猜子,大数减小数,单数交换,偶数不换。
b. 白棋第一手特殊规定职业五子棋虽然对黑棋采取了种种限制,但黑子先行的优势依然很大。
因此,在高段位的职业比赛中,又出现了三种特殊的规定。
a. 指定打法:是指比赛双方按照约定好的开局进行对弈,由白棋先行。
b. 三手可交换:是指黑棋下盘面第3手棋后,白方在下第四手之前,如感觉黑方棋形不利于己方,可提出交换,即执白棋一方变为执黑棋一方,而黑方不可以不换。
. 五手两打法:是指黑棋在下盘面上关键的第5手棋时,必须下两步棋,让白棋在这两步棋中拿掉一粒棋子,然后再继续对弈。
一般说来,白棋肯定拿掉对白方不利的一点,而保留对黑方较为不利的那点让黑方行棋。
三、五子棋的系统设计1、系统用例模型设计五子棋系统应该具有选择玩家先落子还是电脑先落子的功能,应该具有开始游戏和重新开始的功能,当然了,必须具有在玩家指定位置落子的功能。
以上描述,用用例图在图1中做进一步描述。
这部分功能,主要通过界面与系统的交互来实现。