尹燕军 java火柴游戏课程设计报告.docx
《尹燕军 java火柴游戏课程设计报告.docx》由会员分享,可在线阅读,更多相关《尹燕军 java火柴游戏课程设计报告.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JAVA课程设计题目 小游戏班级网络工程11-1学号201101050627姓名尹燕军指导老师赵建立JOpt ionPane .s6owMessageDiaLog( main Frame,/显示信息对话框提示电脑胜利了!Computer is the winner.);init();/并重新初始化userBtn. set Enabled (true); 设置用户按钮重新可用SuppressWarnings(serial)private class MyPaintPanel extends Component /定义一个自定义的面板类并继承 了组件类(private Bufferedlmage
2、bim;/仓,建个Buffered工mage的变量bim private Stack data;/定义一个私有的栈类型的变量dataprivate MyPaintPanel。/构造我的初始面板的方法 bimg = new Buffered Image (190., 285,Buffered工mage. TYPE_SBVTEBGR);表示一个具有8位RGB颜色分量的图像,Graphics2D g2 = bimg.createGraphics();/创建个 Graphics2D, 并将 它绘制到此Bufferedlmage中g2.setColor(Color订E);/设置要画的颜色,即面板的颜色g
3、2.fillRect(0, 0, 190, 285);/在坐标(0,0)处画一个大小为宽190,高 为285的白色矩形区域g2.dispose。;/释放此图形的上下文以及它使用的所有系统资源。调用 dispose之后,就不能再使用Graphics对象。data = new Stackdnteger)。;/在此面板中实例化一个具体的栈的对象public void paint(Graphics g)定义画图形的默认方法 g.drawlmage(bimg 0, 0, null);/从坐标(0,0)出开始画图片g.disp。se();释放此图形的上下文以及它使用的所有系统资源。调用 dispose之后
4、,就不能再使用Graphics对象。)private void add(int num)添加火柴棍的方法Graphics2D g2 = bimg.createGraphics();/创建个 Graphics2D, 并将 它绘制到此Bufferedlmage中int loc = data.size。;/将当前栈的大小赋给变量”/System .out .printin (当前栈为“+data. size();int offX = loc % 3 * 65;/动态的坐标int offY = loc / 3 * 15;/动态的坐标g2.setColor (Color .VELLOW);/设置火柴棒的
5、颜色为黄色 g2.fillRect(offX + 8, offY + 5, 50, 6);填充火柴棒的颜色区域 g2.setColor (Color .GREEN); 设置火柴棒头的颜色为绿色 g2.fillArc(offX + 50,offY + 3, 10, 10, 0, 360);/设置火柴棒头的坐 标,大小为宽和高为1。的360度的弧g2.setColor (Color .8L4CK); 设置当前火柴棒的根数的颜色g2.drawString(String.vatueO/(num), offX, offY+ g2.getFont() .getSize();/画出数字data. push
6、(num);/把数字1压入堆栈顶部repaint。;/重画g2.dispose。;/释放此图形的上下文以及它使用的所有系统资源。调用 dispose之后,就不能再使用Gr叩hies对象private int remove()/定义一个移除火柴棍的方法 Graphics2D g2 = bimg.createGraphics。;/创建一个 Graphics2D,并将 它绘制到此Bufferedlmage中int loc = data.size() - 1;/将当前栈的大小即火柴棍的数量减1 /System.out . printin (当前栈为+data. size();int offX = lo
7、c % 3 * 65;/动态的获取坐标int offY = loc / 3 * 15;/动态的获取坐标g2.setColor (Color .WHITE); 设置移除填充颜色为白色 g2.fillRect(offX, offY, 60, 15);/画出移除火柴棍的位置 g2.dispose。;/释放此图形的上下文以及它使用的所有系统资源。调用 dispose之后,就不能再使用Graphics对象repaint。;/调用重新画的方法return data.pop();/移除堆栈顶部的对象,并作为此函数的值返回该对象。)private void reset ()定义一个重置的方法 data .cl
8、ear。;/清楚该面板栈中的内容Graphics2D g2 = bimg.createGraphics();/仓1J建个 Graphics2D, 并将 它绘制到此Bufferedlmage中g2. setColor(Color. WH工TE);/设置颜色为白色g2.fillRect(0, 0, 190, 285);/在坐标为(0,0)处填充大小为 190,285的 矩形区域g2.dispose();/释放此图形的上下文以及它使用的所有系统资源。调用 dispose之后,就不能再使用Graphics对象。repaint (); /重绘此组件。private int getCnt()/定义一个返回
9、第二个面板火柴棍的数量return data.size。;/返回当前栈中的火柴棍数量四、测试运行界面电脑Reset用户Computer FirstTake 11/ 2O34 O 567, 8-9,10O 1112-1314r1516 17j18;19o 2021-22232425 26o27.28o 29二3031 3233 34 353637 38339404142?434445C146具体步骤1 .如果是电脑先拿先单击Computer First按钮,电脑随机拿走几根火柴,并在电脑按钮下方显示Computertakes/matches this time”提示信息,单击之后电脑拿走的按钮被
10、禁用,直到用户单击自己的按钮之后才能再拿。ResetTaComputer First46240369258147032 .之后用户单击自己的Take按钮,根据自己的情况拿相应的火柴 数,比如说用户拿三根火柴。电脑用户Computer FirstTakeComputer takes 1 matches this time.24464541,1471013161922252831343740, 2 5-8 11 14* 172023 26 29 32 35 38O 3 6 9 12 15 18 21 24 27 30 33 36 394443 423 .可以看到用户根据自己的需要拿了三根火柴,之后
11、电脑又拿了一 根,如此循环,直到哪一方赢得比赛的胜利。从下图中可以看到电脑 赢得了比赛的胜利。五、心得体会在本次的课程设计中,我遇到了很多问题,也学会了很多东西。 比如Graphics的绘图方法的问题,如何绘制曲线,如何绘制直线, 如何绘制矩形,如何绘制圆形等一些基本图形的绘制,经过自己与同 学的讨论,学会了图形类的使用方法。还有浏览器中不能显示 Applet程序使由于缺少某种插件等等。但是随着这些问题的解决, 我也从中学习到了新知识,感觉付出是值得的。目录、需求分析1.1 概述1.2 技术原理二、概要设计详细设计3.1程序类U!3.2主要代码测试五、心得体会一、需求分析1.1 概述程序随机产
12、生2050根火柴,由人与计算机轮流拿,每次拿的 数量不超过3根,拿到最后一根为胜。(使用图形界面)1.2 技术原理该游戏程序设计的主要内容是使用java中的各种组件与容器互 相搭配来完成的一个小游戏。游戏设计中的主要的知识要点包括java 的awt包中的颜色类,图形类,图像类,事件监听器类,和util包中 的stack类,timer类,和timertask类的使用方法,以及swing包中 的窗口类,按钮类,标签类,面板类,复选框类等一些常用组件的用 法。通过这些组件来掌握事件监听器的用法,java中栈的用法,以及 实现了 Runnable类的TimerTask类的用法,通过这个类实现线程技 术
13、,还有Graphics类中的主要方法的使用,学会运用这些方法来来 绘制火柴,绘制图片的目的。八概要设计设置随机数的范围 获取随机数设计出人性化的图形界面给予不同的提示完成游戏三、详细设计3.1程序类博Package Explorer笈日策 力。已/ 目 src1 田(default package)/ 国 JRE System Library JavaSE-1,7 resourcesjar - D:Program FilesJavajre;t rtjar * D:Program FiIesJavajre7libl jssejar D:Program FiIesJavajre7lib0 jcej
14、ar - D:Program FiIesJavajre7libl 国 charsetsjar - D:Program FilesJavajre7 jfrjar - D:Program FilesJavajre7libaccess-bridgejar - D:Program FilesJava dnsnsjar - D:Program FilesJavajre7lib jaccessjar - D:Program FilesJavajre7lil localedatajar D:Program FilesJavajre sunecjar - D:Program FiIesJavajre7lib1
15、 sunjcejorovider.jar - D:Program HlesJa oio sunmscapijar - D:Program FilesJavajre sunpkcslljar - D:Program FilesJavajre zipfsjar - D:Program AI esJ a vaj re7l i bt3.2主要代码import java.awt.Color;/引入颜色类import java . awt.Component; /引 入组件类import java.awt.Dimension;引入封装单个对象中组件的宽度和高度(精确到整数)的类import java.aw
16、t.Graphics;/弓I入图形类import java.awt.Graphics2D;/引入二维图形类import javaawt.event.ActionEvent;/弓I入事件类import java . awt. event .Action Listener; /引入事件监听器类import 工mage;/弓I入缓冲图像类import java.util.Stack;/引入栈类import java . util .Timer;/引入计时器类import java.util.TimerTask;/引入了实现Runnable接口的类,并具有了线程的功能 import javax.swi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 尹燕军 java火柴游戏课程设计报告 java 火柴 游戏 课程设计 报告
限制150内