java贪吃蛇课程设计报告()

《Java应用开发》

课程设计报告

题 目: JAVA小游戏 - 贪吃蛇

指导老师:

姓 名:

专 业:

班 级:

日 期:

目 录

一、系统总体设计1

(一)设计目标及完成功能1

(二)系统结构设计1

二、详细设计2

(一) 界面设计2

(二) 系统设计4

(三) 关键技术及算法6

四、测试7

五、安装使用说明7

总结(体会)8

参考文献8

一、系统总体设计

(一)设计目标及完成功能

本软件是针对贪吃蛇小游戏的JAVA程序,利用上、下、左、右方向键来改变蛇的运动方向,长按某个方向键后,蛇的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏,在到达固定的分数后,游戏速度会加快。

1.窗口功能说明:设计了三个窗口,分别是游戏主窗口,成绩窗口,游戏帮助和关于作者窗口。

2.菜单栏分别为:游戏菜单和帮助菜单

其中,游戏菜单包括开始游戏和退出游戏两项;帮助菜单包括游戏帮助和关于作者两项。

(二)系统结构设计

图1-1 系统结构图

二、详细设计

(一) 界面设计

贪吃蛇游戏的基本运行界面

(1)生成初始界面:

图2-1 初始界面

(2)游戏菜单栏:

图2-2 游戏菜单

(2)积分排行菜单栏:

图2-3 积分排行菜单

(3)进行游戏界面:

点击“游戏”,进入游戏菜单,选择“开始游戏”,或者使用快捷键“Ctrl+O”来开始游戏。红色为贪吃蛇的身体部分,黑色方块为食物。得分后,分数和得到食物数在左上角处实时显示。

图2-4 进行游戏

(5)游戏结束界面:

当蛇撞到墙壁或者自身的时候游戏结束。

图2-5 游戏结束界面

(二) 系统设计

表2-1 主要事件监听接口事件监听器接口接口中的方法所处理的事件ItemListenerItemEvent eItemEventActionLisenteractionPerformed(ActionEvent e)ActionEvent

表2-2 主要成员变量成员变量描述变量类型名称蛇类对象Private Thread sheShe绘制面板paint(Graphics g)g菜单条new JMenuBarmenuBar游戏菜单JMenuyouXiMenu开始游戏菜单项JMenuItemkaiShiYouXi退出游戏菜单项JMenuItemexitItem积分排行菜单JMenufenShuMenu最高纪录菜单项JMenuItemfenShuItem帮助菜单JMenuguanYuMenu游戏帮助菜单项JMenuItemyouXibangzuItem关于作者菜单项JMenuItemzuoZheItem

表2-3 主要方法方法名功能getContentPane()创建蛇的面板addKeyListener监视器JMenu()创建菜单JMenuItem构造菜单项setBounds()设置尺寸run()蛇的运动状态check()检查状态isDead()判断游戏是否结束reform()蛇吃到食物后增加方法upgrowth()生成食物的方法keyPressed()按键方向的定义 (三) 关键技术及算法

程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。当到达一定分数后

java贪吃蛇课程设计报告_java贪吃蛇课程设计报告().doc相关推荐

  1. java学生选课系统课程设计报告_Java语言程序设计课程设计-学生选课系统

    <Java语言程序设计课程设计-学生选课系统>由会员分享,可在线阅读,更多相关<Java语言程序设计课程设计-学生选课系统(23页珍藏版)>请在人人文库网上搜索. 1.10届 ...

  2. java项目嗖嗖移动业务大厅项目报告_Java就业指导课程

    Java就业指导 想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东 ...

  3. java销售管理系统实验报告_java学生通讯录管理系统实验报告

    java学生通讯录管理系统实验报告 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 宁波大红鹰学院 课课程程设设计计课程设计名称: ...

  4. java猜数字游戏实验报告_java猜数游戏实验报告.doc

    java猜数游戏实验报告 课 程 设 计 报 告 课程设计名称 Java程序设计-猜数游戏 指导教师 钟世刚 专业 班级 信息安全 学 号 姓 名 成 绩 一.设计任务与要求1 1.1 设计任务与要求 ...

  5. java课程设计拼图_java拼图游戏课程设计报告

    java拼图游戏课程设计报告 砾寸椒涩藕矾糯陋捕炬洁困喘港划舟逃豺涌锤芳喜胺递龚乏埔跺摩实阿信颊立蹲稿船纽臃瘪自康嘱脖究绢术拱虑犹犀棉宜炙转鸦半甘哨疗墓暑蛊渤幽峭咀豺虫拘召饭莽畜穗篷姿钟逻捞跨瀑拿丈土 ...

  6. java班级管理系统用到数据库_java班级管理课程设计报告--班级管理系统.docx

    java班级管理课程设计报告--班级管理系统 <Java程序设计>课程设计报告课设题目: 班级管理系统 学院:信息技术工程学院 专 业:计算机科学与技术 目 录1 引言11.1 开发背景及 ...

  7. java商品信息管理实验报告_java学生信息管理系统实验报告

    java学生信息管理系统实验报告 JAVA 程序设计实验报告学 号:姓 名: 班 级: 实验.Java 课程设计--------学生信息管理系统一.实验目的 1. 掌握 Java 基本语法2. 理解面 ...

  8. java继承和多态的实验报告_JAVA,继承和多态实验报告

    实验项目名称 : 继承和多态 ( 所属课程 : Java 语言程序设计 ) 院 系: 专业班级: 姓 名: 学号: 实验地点: 指导老师: 本实验项目成绩: 教师签字: 日期: 1.实验目的 (1)掌 ...

  9. java小游戏实训目的_Java弹球小游戏实验报告.doc

    Java弹球小游戏实验报告 滨江学院 Java程序设计实验报告 题 目 弹球小游戏 姓 名 许浩 学 号 20112346064 学 院 滨江学院 专 业 网络工程 年 级 2011级 指导教师 张舒 ...

最新文章

  1. php用户类,php用户登陆类
  2. linux命令复习之有关磁盘空间的命令
  3. SpringBoot使用ResponseBodyAdvice进行统一响应处理
  4. SuspendLayout,ResumeLayout,Layout,PerformLayout
  5. vbox NAT 设置端口映射(NAT+8080端口转发)
  6. 直播开发平台、搭建直播系统平台基本的步骤
  7. 命令行字体推荐-更纱黑体
  8. STM32CubeMX学习笔记(26)——SDIO接口使用(读写SD卡)
  9. 下跌趋势底背驰的几种经典信号
  10. U盘启动盘cmd制作
  11. Word目录:【同一篇文档设置多个独立目录】详细过程
  12. js超简单实现图片旋转
  13. 成长篇-靡有不凡鲜克有终-02
  14. 计算机图像变为红色是什么故障,电脑显示器变成红色怎么办
  15. Hazelcast Jet DAG原理
  16. java面向对象小知识
  17. 零基础python爬虫基础之王者荣耀图片下载(超级简单)
  18. Unity 之 ShaderGraph Input节点解析汇总
  19. c语言wifi热点源码,C#Win7设置WiFi热点源码
  20. log4jdbc-log4j2浅析(sqlfx客户端采集日志的来源)-java 输出sql执行时间

热门文章

  1. Python正则表达式中使用findall函数遇到括号嵌套的小坑
  2. toad创建mysql数据库_利用Toad管理本地数据库
  3. 一款个性、实用、无痕的浏览器(大学生的最爱)
  4. MATLAB /Simulink 快速开发STM32(使用st官方工具 STM32-MAT/TARGET)
  5. stata联立方程组笔记代码
  6. chrome控制台如何把vw显示成px_罗技lua怎么做到在脚本控制台显示中文的? - 『悬赏问答区』 - 吾爱破解 - LCG...
  7. 多边形快速凸包算法(Melkman‘s Algorithm)
  8. 计算机软件需要什么配置的电脑,需要使用CAD等绘图软件需要什么配置的电脑?...
  9. 关于旁路电容的深度对话(重量级资料),收藏!
  10. FPGA并行编程-以HLS实现数字信号处理