- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java五子棋课程的设计的报告
Java课程设计报告
题目:用java编写五子棋游戏
姓名:曾磊
学号:20141387036
专业:物联网工程
要求:
1.用java编写五子棋的游戏
2.该程序拥有简洁美观的图形化界面,且界面主要由棋盘、标题和游戏操作的按钮三部分组成。另外,该游戏界面的大小是不可变的,程序会自动获取电脑屏幕的大小信息,并且计算出合适的位置居中显示。因为考虑到棋盘和背景图片的显示问题,为防止出现排列错乱,故采用这样的设计方式。
3.标题位于界面的最上方;棋盘为19*19的围棋棋盘,位于左下方;按钮包括:“开始游戏” “退出游戏” “游戏说明”,共3个,位于棋盘的右侧
4. 在单击鼠标时,在相应的位置显示棋子 ,还能够显示轮到哪一方下棋(规定黑子先下)
5. 可以保存棋局,即保存之前下过的棋子
6.能够判断游戏胜负,并且弹出窗口提示。一局结束后可以通过“开始游戏”按钮清空棋盘界面,进行下一局。
设计思想:本程序主要用到以下3种技术:
⑴ Swing编程
⑵ ImageIO类的使用
⑶ Graphics图片的绘制
对于这样一个五子棋游戏程序。1.首先我们要用java.Swing和java.awt工具包来设计游戏的用户界面并且绘制图像图形,如制作棋盘。2.此外还要用到ImageIO类来导入和显示图片用作游戏界面的背景,背景图片可以自己设计。
3.主体界面制作好了以后,我们就可以添加事件监听,用与监听鼠标相关的类—— MouseListener来在指定区域和位置内利用鼠标点击产生棋子进行游戏。4. 接下来就可以开始设计判定胜负的算法了。5.然后就是按钮功能的实现。6.最后就是调试和测验,看程序有没有什么bug。
具体会用到的类和方法会在下面的主程序中一一给予介绍
编程过程
导入java.awt、java.io和javax.swing工具包,它们包含用于创建用户界面、绘制图形图像、图像导入,鼠标监听的所有分类。
import java.awt.Color; //color类用于对游戏界面进行配色
import java.awt.Font; //font类提供与字体相关的类和接口。
import java.awt.Graphics; //Graphics类提供执行实际的绘制、着色及文本输出的操作功能的基类
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener; //与监听鼠标相关的类
import java.awt.image.BufferedImage; //导入图片的处理类
import java.io.File; // 文件和目录路径名的抽象表示形式。
import java.io.IOException; //异常类
import javax.imageio.ImageIO; //显示图片的类
import javax.swing.JFrame; //创建窗体,并且设置其大小,位置等属性
import javax.swing.JOptionPane; //与对话框相关的类
public class FiveChessFrame extends JFrame implements MouseListener, Runnable {
// 获取屏幕的宽度和高度,用以计算出合适的位置将游戏界面居中显示
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
// 先将背景图片定义为空
BufferedImage bgImage = null;
//这里定义的x,y用来保存棋子的坐标
int x = 0;
int y = 0;
定义一个19*19的二维数组来表示棋盘,其中数据内容 0: 表示这个点并没有棋子, 1: 表示这个点是黑子, 2:表示这个点是白子
int[][] allChess = new int[19][19];
// 标识当前应该黑棋还是白棋下下一步
boolean isBlack = true;
// 标识当前游戏是否可以继续
boolean canPlay = true;
// 保存显示的提示信息,这个信息是用来在界面的棋盘上方显示的
您可能关注的文档
- Directors' Orientation Handouts Kentucky Adult Education 董事取向的讲义肯塔基成人教育.docx
- Design Pattern Composite的设计模式的复合材料.ppt
- DIVISION OF CLASSICAL STUDIES古典的研究部.doc
- DK19+242.03框架桥高压旋喷桩试桩的方案.doc
- DK3+350预应力混凝土梁中桥施工的方案.doc
- DKC室内型电池柜用空调器产品是针对机柜应用的环境而开发的一款.doc
- DM广告信息发布实施的的策划的方案.doc
- DO NOT CITE Seattle Police Officers' Guild不要引用西雅图警察协会.doc
- Discovery Projects Funding Outcomes 2011 Listing by FoR Codes的的结果发现的项目的资金的2011的代码清单.doc
- Design of a Composite Wing with Leading Edge Discontinuity一个领先的边缘不连续的复合材料机翼的设计.ppt
最近下载
- 《医德医风培训》PPT课件.pptx VIP
- 水电站运行考试题库 .pdf VIP
- 食品安全与操作规范(高职烹饪类和餐饮类专业 )全套教学课件.pptx
- 智能制造系统集成应用(初级)任务13 RFID功能测试.ppt VIP
- 汽车钣金件检具设计规范.pdf VIP
- 2025中国潮玩经济行业研究报告.pdf
- 25题工程管理类岗位常见面试问题含HR问题考察点及参考回答.docx VIP
- 数字技术赋能旅游业高质量发展的理论机理与路径探索.docx VIP
- 2025秋人教版八上《道德与法治》八年级上册新学期开学教学计划及进度安排.docx VIP
- “飞天”凌空——跳水姑娘吕伟夺魁记 语文统编版八年级上册(公开课一等奖创新教学设计).docx VIP
文档评论(0)