java课程设计实验报告_第1页
java课程设计实验报告_第2页
java课程设计实验报告_第3页
java课程设计实验报告_第4页
java课程设计实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaJava 课程设计实验报告课程设计实验报告 实验题目 打字游戏小程序 专业 计算机科学与技术系 班级 1202 班 成员 段玉珍 2012100215 范婧 2012100232 曹美娟 2012100231 南芳芳 2012100242 0 JavaJava 课程设计 打字游戏小程序 课程设计 打字游戏小程序 1 课程设计目的 经过一学期的 java 学习 能灵活运用书中和实验中所学习的各类知识和技巧 并且能 在程序开发中得以很好的运用和发挥 在以后的学习和工作中 可以从中获取很好的经验 并且锻炼自己开发程序和创新的意识 2 课程设计内容 1 课程设计简介 设计的是一个打字的小游戏 屏幕上不断地有英文字母下落 键盘输入字母 屏幕上 与输入的字母形同的就会消失 并计分 如果有没有消去的字母掉到屏幕底 将扣分 2 设计说明 因为要进行键盘操作 所以引用了 event 包 还要注册事件监听 字母是随机产生的 又要用 Math random 注册了线程 还要对窗口定义坐标 防止字母出现在同一位子 并 且通过一位数组来给随机出现的字母做坐标定义 主要通过一位数组来控制字母的坐标 并且通过字母坐标的改变来对整个游戏的流程进行控制 3 设计流程图 4 实现功能 随机产生字母 运用了键盘操作当按对屏幕中出现的字母时 该字母全部消失 并且 在分数上相应的增加或减少 5 详细设计 源代码 1 1 CharEntity javaCharEntity java 1 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 void 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 return this x public int getY 2 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 Color color this color color public Font getFont return font public void setFont Font font this font font 2 2 DownCharFrame javaDownCharFrame java package DownCharGame import javax swing JFrame public class DownCharFrame public static void main String args JFrame frame new JFrame frame setTitle 打字母游戏 V1 2 frame setBounds 200 100 640 480 frame setResizable false frame setDefaultCloseOperation JFrame EXIT ON CLOSE DownCharPanel panel new DownCharPanel 3 frame add panel frame addKeyListener panel panel addKeyListener panel panel startDown frame setVisible true 3 DownCharPanel java DownCharPanel java package 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 DownCharPanel extends JPanel implements KeyListener CharEntity chs new CharEntity 10 消除字母 4 定义统计的变量 正确率 int accuracy 0 正确数 int rightNum 0 打错的个数 int errorNum 0 遗漏的个数 int loseNum 0 初始总分 int sum 1000 public DownCharPanel 为数组中的每一个子科目实例化 for int i 0 i chs length i CharEntity ce new CharEntity int fontSize int Math random 10 20 ce setFont new Font 宋体 Font BOLD fontSize ce setX int Math random 580 30 ce setY 0 ce setSpeed int Math random 3 1 ce setColor new Color int Math random 256 0 255 4 int Math random 256 int Math random 256 ce setCh char 65 int Math random 26 chs i ce public void paint Graphics g super paint g 设置背景图 Image bgimg try bgimg ImageIO read new File Picture 238 jpg g drawImage bgimg 0 0 null catch IOException e e printStackTrace 消除字母 5 绘制统计数字 g setFont new Font 宋体 Font BOLD 20 g setColor Color yellow g drawString 正确数 rightNum 10 40 g setColor Color red g drawString 错误数 errorNum 10 60 g setColor Color green g drawString 遗漏数 loseNum 10 80 绘制下落的字母 for int i 0 i50 loseNum 100 g setColor Color red g setFont new Font 宋体 Font BOLD 100 g drawString Game Over 50 250 public void startDown new Thread public void run while loseNum 100 errorNum 50 try Thread sleep 40 catch InterruptedException e 5 e printStackTrace for int i 0 i 480 消除字母 6 遗漏数 loseNum sum 100 chs i setX int Math random 580 30 chs i setY 0 chs i setColor new Color int Math random 256 int Math random 256 int Math random 256 chs i setCh char 65 int Math random 26 chs i down repaint start public void keyTyped KeyEvent e public void keyPressed KeyEvent e public void keyReleased KeyEvent e 消除字母 7 实现具体的方法 7 1 获取到键盘按下的字母 char key e getKeyChar 和当前按下字母 key 相同字母 y 值最大 对应的下标 int maxYindex 1 7 2 使用按下的字母和 chs 数组中所有的字母去比较 for int i 0 i chs length i if key chs i getCh key chs i getCh 32 按下的字母 key 和下标对应的字母 相同 if maxYindex 1 说明第一次找到 maxYindex i else 说明不是第一次找到 if chs maxYindex getY chs i getY maxYindex i 6 判断正确还是错误 if maxYindex 1 一个相同的字母都没有找到 errorNum sum 100 else 至少找到一个相同的字母 rightNum sum 10 chs maxYindex setX int Math random 580 30 chs maxYindex setY 0 chs ma

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论