基于JAVA GUI编程实现五子棋游戏.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 设 计 任 务 书 专 业 班 级 姓 名 设 计 起 止 日 期 设计题目:基于JAVA GUI编程实现五子棋游戏 设计任务(主要技术参数): 利用JAVA GUI编程实现五子棋游戏,该游戏能够实现五子棋基本功能,并且扩充自定义游戏时间、自动显示游戏提示和说明、可以中途认输等功能。程序的设计充分体现优良的界面和简单操作。 硬件环境:CPU:2.10GHz; 内存:2GB; 硬盘:500GB; 软件环境:操作系统:windows xp旗舰版; 开发软件:JDK 1.6,MyEclipse 8.5 指导教师评语: 成绩: 签字: 年 月 日 五子棋游戏 1.课程设计目的 为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了一周的Java程序设计课程设计。 本课程设计根据要求设计了一个基于JAVA GUI编程实现五子棋游戏,该游戏不仅仅把简单的五子棋的各种算法实现了,还添加了对各种问题设置选择方式,使该程序更具有人性化,可以方便的保存,保存上一期没有完成的游戏对弈。程序的设计充分体现优良的界面和简单操作。 2.设计方案论证 2.1设计思路 2.1.1 棋盘和棋子布局 现代五子棋棋盘,经过国际棋联的多次修改,最终定为15 X 15路,即棋盘由横竖各15条平行线交叉组成,共有225个交叉点;棋盘上共有五个星位,中间的星位称为天元,周围四点为小星。五子棋的棋子和围棋相同,分黑白2种颜色,通常为散圆形,有一面凸起或二面凸起等形状,一副棋子总数为225枚,其中黑子113枚,白子112枚。由于正规五子棋比赛按不同级别设置了不同的时间限制,所以本次设计特添加计时功能。但一般的玩家都没有这个限制。 2.1.2 规则和解释 (1)黑棋先行,白棋随后。从天元开始相互顺序落子。 (2)最先在棋盘的横向、竖向、斜向形成连续的相同色五个棋子的一方为胜利。 (3)黑棋主动判负、白棋也是这样。 (4)如分不出胜负,则定位平局。 (5)对局中拔子、中途退场均判为负 (6)五连与禁手同时形成,先五为胜。 (7)黑方禁手形成时,白方应立即指出。若白方未发现或发现后不立即指正,反而继续落子,则不能判黑方负。 五子棋是由两个人在一盘棋上进行对抗的竞技运动。在对局开始时,先由执黑棋的一方将一枚棋子的落在“天元”上,然后由执白棋的一方在黑棋周围的交叉点上落子。如此轮流落子直到某一方首先在棋盘的直线 横线或斜线上形成连续的五子或五子以上,则该方就算获胜。 2.1.3 程序结构说明 图1 五子棋程序流程图 2.2设计方法 本程序是Java Application,要实现五子棋双人对弈,程序包含2个独立的类文件分别是FiveChessFrame.java、Test.java。 其中FiveChessFrame.java主要负责棋盘的初始化,定义了面板上的其他元素,以及判断胜负条件等主题框架结构。Test.java则负责调用各个类,保存玩家的信息,完成整体的实现。 2.2.1 Test.java 主类 Test类是主程序类有main函数,该类主要是设计提示窗口,完成在运行时的操作,主要有游戏开始、游戏结束、重新选择等信息,很好的友好界面设计。它们的主要实现是通过Swing的JOptionPane.showMessageDialog()函数简单实现。或者调用主函数FiveChessFrame。 2.2.2 FiveChessFrame 整个架构的核心部分,类名为FiveChessFrame。封装了棋盘的各种可能用到的功能,如保存棋盘数据、初始化、判断胜负等。用户操作主界面,主界面与FiveChessFrame进行交互来完成对游戏的操作。 2.2.3 棋盘及棋盘类 调用Swing中的JFrame类的paint()函数,用paint()实现窗体的设计尤其是棋盘的绘制。这里主要是19行19列,每行和列添加20个像素,并且为棋盘添加了五个驻点,使棋盘看起来清楚明了。 public void paint(Graphics g) {// 双缓冲技术防止屏幕闪烁 BufferedImage bi = new BufferedImage(500, 500, BufferedImage.TYPE_INT_RGB); Graphics g2 = bi.createGraphics(); g2.setColor(Color.BLACK); g2.drawImage(bgImage, 1, 20, this); // 绘制背景 g2.s

文档评论(0)

2749166188 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档