




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java Java 程序设计程序设计 课程设计报告课程设计报告 题题 目 目 贪吃蛇游戏的设计与实现贪吃蛇游戏的设计与实现 指导老师 指导老师 沈泽刚沈泽刚 专专 业 业 计算机科学与技术计算机科学与技术 班班 级 级 10 310 3 姓姓 名 名 梁潇梁潇 一 一 课程设计目的课程设计目的 贪吃蛇游戏一款非常经典的手机游戏 因为它比较简单有趣 无论老少都比较适合 目的是更好地了解和掌握 java 语言 并熟练 的运用 java 语言来实现项目 培养自主学习的能力 本软件在设计方面本着方便 实用及娱乐性高的宗旨 在外界 进行设计的过程中 始终坚持清晰明了 在性能方面能够实现效率 高 不易出错等优点 二 二 课程设计要求课程设计要求 贪吃蛇游戏设计与实现 主要分为以下二个模块 游戏主界面 模块 游戏控制模块 三 三 课程设计报告内容课程设计报告内容 一 系统设计 1 程序概述 本程序是一个利用 Java 应用软件制作的贪吃蛇小游戏 在游戏过程中 用户通过点击小键盘区的方向键来控制蛇的 运行方向 当蛇没有吃到食物且碰到墙壁或自己的身体时游戏结束 本程序的另一个功能是在程序运行窗口的左上角显示 用户 在游戏过程中所得的分数 不过缺点就是在退处程序后 下次打开 程序时无法保存 2 游戏的主界面设计 游戏的主界面是进入游戏后 能够给玩家第一感官的部分 主要包括游戏图形区域界面 游戏的速度选择更新界面 游戏分数 的显示更新界面 游戏开始按钮 暂停游戏按钮 退出游戏按钮以 及游戏排行榜按钮 3 游戏控制模块设计 这个模块是游戏的中心环节 主要完成控制游戏的开始 暂 停 退出等功能 为了能够给玩家一个很好的游戏环境 这部分应 该做到易懂 易操作 2 2 主界面设计主界面设计 游戏界面主框架主要包括游戏图形区域界面 游戏的开始 按钮 暂停按钮 游戏的退出按钮 困难程度 积分排行 关于作 者 3 3 代码设计代码设计 import java awt Color import java awt Container import java awt Graphics import java awt Toolkit import java awt event ActionEvent import java awt event ActionListener import java awt event InputEvent import java awt event KeyEvent import java awt event KeyListener import javax swing public class TanChiShe extends JFrame implements ActionListener KeyListener Runnable private JMenuBar menuBar private JMenu youXiMenu nanDuMenu fenShuMenu guanYuMenu private JMenuItem kaiShiYouXi exitItem zuoZheItem fenShuItem private JCheckBoxMenuItem cJianDan cPuTong cKunNan private int length 6 private Toolkit toolkit private int i x y z objectX objectY object 0 growth 0 time private int difficult 2 private int m new int 50 private int n new int 50 private Thread she null private int life 0 private int foods 0 private int fenshu 0 public void run 运行 time 500 for i 0 i length 1 i m i 90 i 10 n i 60 x m 0 y n 0 z 4 while she null check try she sleep time catch Exception ee System out println z public TanChiShe 创建新对象 setVisible true menuBar new JMenuBar Container con getContentPane toolkit getToolkit 游戏菜单对象 youXiMenu new JMenu 游戏 kaiShiYouXi new JMenuItem 开始游戏 exitItem new JMenuItem 退出游戏 困难程度对象 nanDuMenu new JMenu 困难程度 cJianDan new JCheckBoxMenuItem 简单 cPuTong new JCheckBoxMenuItem 普通 cKunNan new JCheckBoxMenuItem 困难 分数菜单对象 fenShuMenu new JMenu 积分排行 fenShuItem new JMenuItem 最高记录 关于对象 guanYuMenu new JMenu 关于 zuoZheItem new JMenuItem 关于作者 设置关于菜单 guanYuMenu add zuoZheItem 设置困难程度菜单 nanDuMenu add cJianDan nanDuMenu add cPuTong nanDuMenu add cKunNan 设置分数菜单 fenShuMenu add fenShuItem 设置游戏菜单 youXiMenu add kaiShiYouXi youXiMenu add exitItem 设置主菜单 menuBar add youXiMenu menuBar add nanDuMenu menuBar add fenShuMenu menuBar add guanYuMenu 监听注册 zuoZheItem addActionListener this kaiShiYouXi addActionListener this exitItem addActionListener this addKeyListener this fenShuItem addActionListener this 加快捷键 KeyStroke keyOpen KeyStroke getKeyStroke O InputEvent CTRL DOWN MASK kaiShiYouXi setAccelerator keyOpen KeyStroke keyExit KeyStroke getKeyStroke X InputEvent CTRL DOWN MASK exitItem setAccelerator keyExit 设置框架 setJMenuBar menuBar setTitle 贪吃蛇 setResizable false setBounds 300 200 400 400 validate setDefaultCloseOperation EXIT ON CLOSE public static void main String args new TanChiShe 菜单监听 public void actionPerformed ActionEvent e if e getSource kaiShiYouXi length 6 life 0 foods 0 if she null she new Thread this she start else if she null she null she new Thread this she start if e getSource exitItem System exit 0 if e getSource zuoZheItem JOptionPane showMessageDialog this 梁潇 n n if e getSource fenShuItem JOptionPane showMessageDialog this 最高记录为 fenshu 检查一下 public void check isDead if she null if growth 0 reform else upgrowth if x objectX growth 1 toolkit beep 产生食物坐标 if object 0 object 1 objectX int Math floor Math random 39 10 objectY int Math floor Math random 29 10 50 this repaint void isDead if z 4 x x 10 else if z 3 x x 10 else if z 2 y y 10 else if z 1 y y 10 if x390 y390 she null for i 1 i length i if m i x public void upgrowth if length 50 length growth time time 10 reform life 100 if fenshu0 i m i m i 1 n i n i 1 if z 4 m 0 m 0 10 if z 3 m 0 m 0 10 if z 2 n 0 n 0 10 if z 1 n 0 n 0 10 public void keyPressed KeyEvent e if she null if e getKeyCode KeyEvent VK UP if z 2 z 1 check else if e getKeyCode KeyEvent VK DOWN if z 1 z 2 check else if e getKeyCode KeyEvent VK LEFT if z 4 z 3 check else if e getKeyCode KeyEvent VK RIGHT if z 3 z 4 check public void keyReleased KeyEvent e TODO 自动生成方法存根 public void keyTyped KeyEvent e TODO 自动生成方法存根 public void paint Graphics g 画图 g setColor Color DARK GRAY g fillRect 0 50 400 400 g setColor Color pink for i 0 i length 1 i g fillRect m i n i 10 10 g setColor Color green g fillRect objectX objectY 10 10 g setColor Color white g drawString 当前 分数 this life 6 60 g drawString 当前已吃食物数 this foods 6 72 4 4 测试测试 5 5 使用说明使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国直曲线修边机市场调查研究报告
- 2025年中国样板管理系统市场调查研究报告
- 2025年中国塑胶下切牙市场调查研究报告
- 2025年葡萄糖磷酸盐试剂项目可行性研究报告
- 2025年荧光比色皿项目可行性研究报告
- 2025-2030脂肪酸二乙醇酰胺行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030美容机构行业市场现状供需分析及投资评估规划分析研究报告
- 2025年花生芝麻糖项目可行性研究报告
- 2025-2030粮仓行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030立方氮化硼和聚晶立方氮化硼行业市场现状供需分析及投资评估规划分析研究报告
- 2024-2025学年统编版七年级语文下册第四单元检测B卷(原卷+答案)
- 《医疗机构重大事故隐患判定清单(试行)》知识培训
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 《成人鼾症》ppt课件
- 配电线路巡视记录单
- 乙炔气柜施工方案
- 狼和兔子的凄美爱情故事,前世今生的约定,看哭了很多人
- 体育测量与评价PPT课件-第四章 心肺功能的测量与评价
- 公路路基土建工程项目拌合站建设方案详细
- 雅马哈电子琴中英文音色对照表
- 埋石混凝土施工工法
评论
0/150
提交评论