崔钊 五子棋实训报告.docxVIP

  • 7
  • 0
  • 约1.22万字
  • 约 25页
  • 2019-10-16 发布于湖北
  • 举报
《java语言程序设计》 实训报告 实训题目: 五子棋游戏制作 专 业: 软件技术 班 级: 15软件(1)班 姓 名: 崔钊 指导教师: 邓衍青 2016年 6 月 11 日 目 录 TOC \h \z \t 一级标题,1,二级标题,2 一、 实训目的: 1 二、 实训题目描述和要求 1 2.1 实训题目描述: 1 2.2 实训题目要求: 1 三、 实训报告内容: 2 3.1 需求分析: 2 3.2 需求设计: 3 3.3 详细设计 4 四、 游戏的测试 16 五、 结论 21 六、 参考书目: 22 PAGE 19 实训目的: 在制作五子棋游戏过程中,增加学生对java和Eclipse的熟练使用,增加对java语言的运用,让我们学到用到的知识来掌握熟练度! 实训题目描述和要求 实训题目描述: 五子棋的娱乐性强、规则简单、易学、流行性广,普通人不需长时间专门训练即可自如行棋,因此极受大众喜欢· 五子棋规则为: 1.棋盘:采用像围棋盘一样的棋盘,本系统采用18路的棋盘· 2.下法:两人分别执黑白两色棋子,轮流在棋盘上选择一个无子的交叉点落子,无子的交叉点又被称为空点· 3.输赢判断:黑、白双方有一方的五个棋子在横、竖或斜方向上连接成一线即为该方赢· 实训题目要求: 设计功能明确。 熟悉JAVA开发环境,掌握JAVA程序的编译和运行。 掌握JAVA基本编程技术和方法。 实训上交内容:实训报告一份,电子版本实训报告一份,源程序代码。 游戏界面要如下图所示: 实训报告内容: 需求分析: 开始1.初始化2.主控制 开始 1.初始化 2.主控制 3.白方下子 白方 黑方 否则 胜利 4.判断胜负 结束 3.黑方下子 我们看到本程序由4个基本功能模块构成,各模块的详细分析如下: 1.初始化FiveChessFrame类 过try { bgImage = ImageIO.read(new File(E:/帅志文/image/background.jpg)); } catch (IOException e) { e.printStackTrace(); } }加载背景图片,然后再背景图上通过:paint方法中的for (int i = 0; i 19; i++) { g2.drawLine(10, 70 + 20 * i, 370, 70 + 20 * i); g2.drawLine(10 + 20 * i, 70, 10 + 20 * i, 430); }语句绘制一个18*18的网格棋盘,每次下棋后通过调用repaint方法来初始化程序。 2.通过public void mousePressed(MouseEvent e)这个主方法中的isBlack变量值来判断当前应该哪一方开始下棋。 3.若是白子,则通过allChess[][]这个二维数组的值为1来定义该子,若是黑子,则通过allChess[][]数组的值为2来定义该子,若为0,则为空。 4.通过checkWin()方法来判定当前方是否已练成5个同颜色的棋子。若同时有了5个同颜色的连子则判定该方获胜。 本程序最重要的就是能够自动判定黑白两方各个方向上的棋子是否连成了五个相同颜色的棋子,怎么做到这点呢?这个要通过private int checkCount(int xChange, int yChange, int color)方法来判定,然后通过private boolean checkWin()方法判定获胜方。其次本程序关键的一点就是可以模拟游戏中的按钮来自定义游戏的时间,从而增加本游戏的可控性,智能性,同时增强游戏玩家的趣味性和刺激性。 需求设计: 因为本程序用Eclipse开发,如图: 在Eclipse中建立了两个类,一个是有主方法的test主类,另一个是程序的主窗体FiveChessFrame类,同时为了方便管理和应用两个类都分别打包了,具体见后面。 详细设计 主类Test package org.liky.game.test; import org.liky.game.frame.FiveChessFrame; public class Test { public static void main(String[] args) { iveChessFrame ff = new FiveChessFrame(); } } 程序窗体主类FiveChessFrame类: 界面板块功能:

文档评论(0)

1亿VIP精品文档

相关文档