河南城建学院HenanUniversityofUrbanConstruction《JAVA基础》课程设计设计说明书课程名称:《JAVA基础》课程设计设计题目:Java游戏设计黑白棋指导教师:陈红军何宗耀班级:0844141学号:084414119学生姓名:管维聪同组人员:张欣林阳赵阳计算机科学与工程学院2016年1月8日成绩:评语:《JAVA基础》课程设计实验报告-1-目录第1章选题...............................................................................................................................21.1题目背景...............................................................................................................................21.2系统实现的具体分工...........................................................................................................21.2.1选题.............................................................................................................................21.2.2团队分工....................................................................................................................21.3开发环境...............................................................................................................................2第2章设计内容(用例图及类图等)....................................................................................32.1实现功能...............................................................................................................................32.2概要设计...............................................................................................................................42.3界面设计...............................................................................................................................5第3章系统实现...........................................................................................................................63.1涉及知识点...........................................................................................................................63.2系统运行(主要运行界面抓图).......................................................................................63.3源程序清单(关键代码)...................................................................................................7第4章测试与实验结果.............................................................................................................23第5章结束语.............................................................................................................................23参考文献.......................................................................................................................................24《JAVA基础》课程设计实验报告-2-第1章选题1.1题目背景目前游戏是人们娱乐消遣的途径之一,并且开发一个游戏可以让自己综合运用所学的知识,也能让自己掌握的知识更加巩固。所以如何设计,开发一个游戏,也是许多人去热衷研究的。1.2系统实现的具体分工1.2.1选题用户可通过使用界面选择人人对战和人机对战来进行游戏,在游戏界面还能通过自己的爱好,来选择界面的颜色,还有让用户了解游戏规则的帮助选项。1.2.2团队分工表1.1项目分工一览表角色姓名承担的具体任务组长张欣设计人机部分组员林阳设计画图部分组员赵阳设计界面部分组员管维聪设计人人部分1.3开发环境编程工具:JDK+ECLIPSE(+MySQL)计算机:PC操作系统:MicrosoftWindows7.0《JAVA基础》课程设计实验报告-3-第2章设计内容(用例图及类图等)2.1实现功能1.用户进入界面:用户通过这个界面进入游戏。如图2.菜单功能:提供开始,更改背景,帮助提示等功能。用户可以使用重新开始游戏,退出游戏,和改变界面背景,观看帮助信息。如图:3.人人对战:可以进行两个人的对战游戏,玩家和玩家之间可以继续游戏。4.人机对战::玩家可以和简单人对战。《JAVA基础》课程设计实验报告-4-2.2概要设计自己的图:Class:ChessListener继承ChessListener:构造函数MousClickedjudge()full()Check(inta)paintChess()paintChess1()paintChess2()paintChess3()paintChess4()hengYou()hengZuo()hengShang()hengShang1()hengXia()hengXia1()xieyouS()xieyouX()xiezuoS()xiezuoX()hengYou1()hengZuo1()xieyou1()xieyou2()xiezuo1()xiezuo2()MouseAdaper《JAVA基础》课程设计实验报告-5-组员林阳的图:组员赵阳的图:2.3界面设计用户使用界面人人对战开始功能背景设计功能关于人机对战游戏界面《JAVA基础》课程设计实验报告-6-第3章系统实现3.1涉及知识点Java编程,Swing图形界面设计,继承与多态等。3.2系统运行(主要运行界面抓图)图3.1系统主界面1.用户使用界面:2.人人对战:3.人机对战:《JAVA基础》课程设计实验报告-7-3.3源程序清单(关键代码)importjava.awt.*;//导入包中的类importjava.awt.event.*;importjavax.swing.*;classChessListenerextendsMouseAdapter{//继承MouseAdapter类,重写方法MouseClicked()privateGraphicsg;//将画布对象传过来privateintxiafa;//记录当前棋子的下法publicstaticintstata=1;//判断下黑棋还是白棋privateintx1,y1;//记录点击处的横坐标和纵坐标privateJLabeljilu;//当前下棋子的人privateJLabelalila;//黑棋棋子数privateJLabeltaozila;//白棋棋子数privateChessch;//用来刷新棋盘privateintte=0;//特殊情况privateintchange;//记录改变的棋子数目publicChessListener(Graphicsg,Chessch,JLabeljilu,JLabelalila,JLabeltaozila){this.g=g;this.ch=ch;this.jilu=jilu;this.alila=alila;this.taozila=taozila;}//点击下棋子构造函数:用于接受来自Chess类的数据,并对ChessListener类进行初始化。《JAVA基础》课程设计实验报告-8-publicvoidmouseClicked(MouseEvente){inta=1;//记录所下的子Strings=null;x1=e.getX();y1=e.getY();System.out.println(x1+,+y1);for(inti=0;iChess.rows-1;i++){for(intj=0;jChess.cols-1;j++){intx2=Chess.x+Chess.size/2+Chess.size*i;//得到棋盘中棋子所在点的横坐标inty2=Chess.y+Chess.size/2+Chess.size*j;//得到棋盘中棋子所在点的纵坐标//将棋子下在棋盘格子的正中央if(Math.abs(x1-x2)Chess.size/3&&Math.abs(y1-y2)Chess.size/3){if(Chess.chess[i][j]==0){if(stata==1){stata=-1;}elseif(stata==-1){stata=1;}Chess.chess[i][j]=-stata;//将棋子存入棋盘g.fillOval(x2-Chess.size/2,y2-Chess.size/2,Chess.Chess_size,Chess.Chess_size);//--------------如果8个方向都不能改变棋子则不改变棋盘状态--------------if(hengYou(i,j)==null&&hengZuo(i,j)==null&&hengShang(i,j)==null&&hengXia(i,j)==null&&xieyouS(i,j)==null&&xieyouX(i,j)==null&&xiezuoS(i,j)==null&&xiezuoX(i,j)==null){Chess.chess[i][j]=0;if(stata==1){stata=-1;}elseif(stata==-1){stata=1;}//刷新棋盘ch.update(g);JOptionPane.showMessageDialog(null,不能放子);}else{实现方法MousClicked:对鼠标点击面板动作的具体实现《JAVA基础》课程设计实验报告-9-//改