java课程设计实验报告.docx

上传人:h**** 文档编号:26968883 上传时间:2022-07-20 格式:DOCX 页数:12 大小:14.54KB
返回 下载 相关 举报
java课程设计实验报告.docx_第1页
第1页 / 共12页
java课程设计实验报告.docx_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《java课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《java课程设计实验报告.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、java课程设计实验报告 Java课程设计实验报告 实验题目:打字游戏小程序 专业: 计算机科学与技术系 班级: 1202班 成员:段玉珍(2022100215) 范婧(2022100232) 曹美娟(2022100231) 南芳芳(2022100242) Java 课程设计(打字游戏小程序) 一、课程设计目的 经过一学期的java学习,能灵活运用书中和实验中所学习的各类知识和技巧,并且能在程序开发中得以很好的运用和发挥。在以后的学习和工作中,可以从中获取很好的经验,并且锻炼自己开发程序和创新的意识。 二、课程设计内容 1.课程设计简介 设计的是一个打字的小游戏,屏幕上不断地有英文字母下落,键

2、盘输入字母,屏幕上与输入的字母形同的就会消失,并计分,如果有没有消去的字母掉到屏幕底,将扣分。 2.设计说明 因为要进行键盘操作,所以引用了event包,还要注册事件监听。字母是随机产生的,又要用Math.random。注册了线程。还要对窗口定义坐标,防止字母出现在同一位子。并且通过一位数组来给随机出现的字母做坐标定义。主要通过一位数组来控制字母的坐标,并且通过字母坐标的改变来对整个游戏的流程进行控制。 3.设计流程图 4.实现功能 随机产生字母,运用了键盘操作当按对屏幕中出现的字母时,该字母全部消失,并且在分数上相应的增加或减少。 5.详细设计(源代码) 1)CharEntity.java

3、package DownCharGame; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; /* * 下落的字母实体类 * author shenbf * */ public class CharEntity /定义字母的x、y private int x; private int y; /字母的值 private char ch; /字母下落的速度 private int speed; /颜色 private Color color; /字体 private Font font; public vo

4、id draw(Graphics g) /设置字体 g.setFont(font); /设置画笔颜色 g.setColor(Color.white); g.fillOval(getX()-9, getY()-24, 30, 30); g.setColor(color); g.drawString(ch+, x, y); /下落的方法 public void down() y=y+speed; /快速生成getters和setters方法:alt+shift+s-r-select all-ok public void setX(int x) this.x=x; public int getX()

5、 return this.x; public int getY() return y; public void setY(int y) this.y=y; public char getCh() return ch; public void setCh(char ch) this.ch = ch; public int getSpeed() return speed; public void setSpeed(int speed) this.speed = speed; public Color getColor() return color; public void setColor(Col

6、or color) this.color = color; public Font getFont() return font; public void setFont(Font font) this.font = font; 2)DownCharFrame.java package DownCharGame; import javax.swing.JFrame; public class DownCharFrame public static void main(String args) JFrame frame=new JFrame(); frame.setTitle(打字母游戏V1.2)

7、; frame.setBounds(200,100,640,480); frame.setResizable(false); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); DownCharPanel panel=new DownCharPanel(); frame.add(panel); frame.addKeyListener(panel); panel.addKeyListener(panel); panel.startDown(); frame.setVisible(true); 3)DownCharPanel.java pa

8、ckage DownCharGame; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JPanel; public class

9、DownCharPanel extends JPanel implements KeyListener CharEntity chs=new CharEntity10; /消除字母4,定义统计的变量 /正确率 int accuracy = 0; /正确数 int rightNum = 0; /打错的个数 int errorNum = 0; /遗漏的个数 int loseNum = 0; /初始总分 int sum = 1000; public DownCharPanel() /为数组中的每一个子科目实例化 for(int i=0;i50|loseNum100) g.setColor(Color

10、.red); g.setFont(new Font(宋体,Font.BOLD,100); g.drawString(Game Over!, 50, 250); public void startDown() new Thread() public void run() while(!(loseNum100|errorNum50) try Thread.sleep(40); catch (InterruptedException e) e.printStackTrace(); for(int i=0;i=480) /消除字母6,遗漏数+ loseNum+; sum -= 100; chsi.se

11、tX(int)(Math.random()*580)+30); chsi.setY(0); chsi.setColor(new Color(int)(Math.random()*256), (int)(Math.random()*256),(int)(Math.random()*256); chsi.setCh(char)(65+(int)(Math.random()*26); chsi.down(); repaint();/? .start(); public void keyTyped(KeyEvent e) public void keyPressed(KeyEvent e) publi

12、c void keyReleased(KeyEvent e) /消除字母7,实现具体的方法 /7.1获取到键盘按下的字母 char key = e.getKeyChar(); /和当前按下字母key相同字母(y值最大)对应的下标 int maxYindex = -1; /7.2使用按下的字母和chs数组中所有的字母去比较 for(int i=0; ichs.length; i+) if(key=chsi.getCh()|key=chsi.getCh()+32) /按下的字母key和下标对应的字母“相同” if(maxYindex=-1)/说明第一次找到 maxYindex = i; else/

13、说明不是第一次找到 if(chsmaxYindex.getY()chsi.getY() maxYindex = i; /判断正确还是错误 if(maxYindex=-1)/一个相同的字母都没有找到 errorNum+; sum -= 100; else/至少找到一个相同的字母 rightNum+; sum += 10; chsmaxYindex.setX(int)(Math.random()*580)+30); chsmaxYindex.setY(0); chsmaxYindex.setCh(char)(65+(int)(Math.random()*26); 三、运行结果截图: 四、实验总结: 此程序运用了一维数组,且随机性。并且把键盘事件与电脑随机的功能相联系。有它的可取之处,值得我们学习。但也有不足之处,该程序不能自动结束。这点还有待完善。该程序比较基础。可以让自己先打好深刻了解理论基础。通过这次的课程设计,给自己增加了很多有用的经验,希望在以后的基础上可以接触些更有深度和技巧型的程序。让自己能更好的运用java的功能。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁