欢迎来到天天文库
浏览记录
ID:22573735
大小:648.13 KB
页数:28页
时间:2018-10-30
《“程序设计”课程设计(报告)井字棋游戏》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、学号:200920311003程序设计”课程设计(报告)设计题目:井字棋游戏学院:信息工程学院专业:计算机科学与技术班级:计算机111专姓名:易毅指导老师:章夏芬完成1_1期:2011目录1.弓IBi1.1龍11.2要解决的闷题12.錢概23.数据结构设计34.遞财35.系统运行结果205.1系统运行环境205.2系统运行结果206.调试和改进227.心得和结论227.1结i仑227.2进一步改进方1423主要参考文献231.引言井字游戏是一种两人对弈的棋类游戏,棋盘一般不画边框,格线排成井字故得名。由于十分简单,容易上
2、手,也不需要什么特别的棋盘和棋子,特别适合大家在有时间空间等限制条件T作为打发时间的工具,不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。1.1动机井字游戏是一个简申的棋类游戏,这类棋类游戏~般都都包括一些典型的算法,可以提高自己用知识解决实际fuj题的能力,并且编写游戏程序可以大大提高我编程的兴趣,从以前大量的理论到实践的一个进步,从而提高编程水平。1.2要解决的问题1)棋盘绘制:要设置九个按钮,同时设置相应的响应,当玩家点上去会变颜色。2)棋盘初始化,默认的是计算机先开始。同时设计开始,暂停,退出游戏按钮
3、。3)输赢状态判断:计算机怎么判断输赢,以及在判断情况H故出相应的反应。此处做法是设置一个变量,当变量为1吋,表示玩家赢,为2吋,电脑赢,为3时,代表平手。4)落子位置计算:计算机怎么判断下一步的走法。此处处理主要是按照极大极大算法处理的及相应的改进算法。1.系统框架下而介绍程序的大致框架,当运行程序时,显示初始化界而,玩家可以选择是电脑先下还是玩家先下,接着点击开始游戏按钮,若是电脑先下,先利用估价函数计算电脑落子位置,然后再下子,电脑下子后,先判断是否冇三子成一线的情况,若有,结束游戏,电脑胜出,若没有,则玩家继续下
4、子,再判断是否有三子成一线的情况,若有,结束游戏,玩家肿出。没有,继续游戏。游戏结束时,程序有和关的提示信息。1.数据结构设计㘀㘀㘀胜负设定:用一个int型变量。Structwinorlose{intresult;//棋局结果,1代表玩家嵐,2代表电脑嵐,3代表平手。}㘀㘀㘀判断是否有棋子:用数组存储当前的棋而情况k=inta[i][i](i〈3);//棋盘数组,k为0,代表无棋子,k为1,代表玩家下的棋子,k为2,代表电脑下的棋子。㘀㘀㘀棋子按钮的变化:用javax.swing中的jbutton设置按钮,用setvis
5、ibleO方法控制按钮是否可见。setBackground()和setForeground()用于设置按钮的颜色等等。2.关键技术木系统的关键是要解决如下儿关键点:1)棋盘绘制:系统界面布局采用的是卡片式的布局方式(即GridLayout),将整个500X500大小的界面分成五个区域,即东西南北中。西区用于布置棋盘按钮(主要是布局九个棋子按钮),北区为欢迎词。中区为空0区,东区主要为命令按钮及棋局状况(如显示谁先下,谁后下按钮,开始结朿退出按钮等等)。整个程序主类是继承JFrame类的基础上。程序设计先设置了一个顶层容器
6、Container,再设置五个JPanel,用于布局东两南北中卜:,由于是建立在swing框架的基础上,不能直接将Jpanel添加到顶层容器中◊必须先获取Container的内容面板。代码为Contentpane=this.getContentpane();,现在就可以向容器中添加主件了。代码如下:Contcntpanc.add(uppanchBordcrLayout.NORTH);//将北
7、x:uppanel加入'容器,叩panel屮采川的足BorderLayout布局,显示在北方。Contentpane.add(do
8、w叩anel,BorderLayout.SOUTH);//将downpanel加入容器。Contentpane.add(rightpanel,BorderLayout.EAST);"将rightpanel加入容器Contentpane.add(centerpanel,BorderLayout.CENTER);//将centerpanel加入容器Contentpane.add(leftpanehBorderLayout.LEFT);//将leftpanel加入各器还有,在打开井字游戏程序吋,一般我们要使棋盘显示在电脑屏幕的
9、屮央位置。需插入的代码如卜、DimensionframcSize=this.getSizeO;//获取框架的人小DimensionscreenSize=Toolkit.getDefaultToolkif().getScreenSizeO;/*通过Toolkit,getDefauitToo1kitQ获取系统信兑、,再调
此文档下载收益归作者所有