- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 6
目录
TOC \o 1-3 \h \z \u 1.设计任务与要求 2
1.1设计任务 2
1.2具体要求 2
2.软件主要模块流程图 3
3.总体方案与说明 4
3.1总体方案 4
3.2系统模块 4
3.2.1游戏界面设计 4
3.2.2贪吃蛇蛇身及运动设置 6
3.2.3游戏控制设置 3
4.程序设计 4
4.1GamePanel类 4
4.2.Snake类 4
5.分析问题与解决方案 5
5.1 问题处理 5
6小结与体会 6
参考文献(资料) 7
程序代码: 8
基于Java的游戏“贪吃蛇”的设计和实现
内容提要:
“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。
1.设计任务与要求
1.1设计任务
设计一个贪吃蛇的游戏
功能要求:能够显示贪吃蛇的运动,能通过键盘控制贪吃蛇的运行,能够处理蛇在运行中各种情况,以及其它的辅助功能。
设计任务要完成设计、编码、测试等过程,给出设计思路、主要代码。源代码以及可运行的贪吃蛇游戏。
1.2具体要求
具体内容如下:
1) 设计任务与要求
2) 总体方案与说明
3) 面向对象的设计(主要类的设计)
4) 源程序清单与注释
5) 软件主要模块流程图
6) 问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);
7) 小结与体会
2.软件主要模块流程图
软件的主要模块流程如下图5-1所示
单击
单击“enter”按钮,游戏开始。
键盘操作:
右移
左移
上移
sdasdasd
下移
没有吃到食物且蛇碰到边界
游戏结束
按F1重新开始
游戏中途欲中断,稍后继续游戏
按enter游戏暂停
进入游戏画面
再次开始按enter按钮,游戏恢复
图5—1 游戏处理流程图
3.总体方案与说明
3.1总体方案
我们设计的贪吃蛇主要利用键盘控制蛇的前进移动方向,是否吃到食物,是否撞墙以及是否暂停、开始游戏等。当吃到食物的时候,蛇就自动长大一格,在游戏中可进行暂停和开始操作。中途若是撞到墙或是撞到自己,同样也结束。
3.2系统模块
根据总体方案,我把贪吃蛇游戏分为:游戏界面设置(即绘图)、贪吃蛇蛇身及运动与碰撞问题(食物、蛇身、石头)设置三大模块来设计。
3.2.1游戏界面设计
游戏界面设置包括:游戏区,蛇的长度信息,获得分数的信息以及历史最高分的信息。
游戏界面使用简单和直观的布局设计,游戏区放置在界面的主题位置上,在游戏区右上方放置蛇的长度数据及获得的分数数据,具体设计效果如图2-1所示。
图2-1 游戏界面
附加代码:
import java.awt.*;
import java.io.*;
import java.util.*;
import javax.swing.JFrame;
public class GameFrame extends JFrame {
public GamePanel panel = new GamePanel(this);
public Snake xiaoqing = new Snake(this);
public Control ct = new Control(this);
public Food food = new Food(this);
public LinkedListRocks rocks = new LinkedListRocks();
public GameFrame(){
}
public void intiRocks(){
}
public void inti() {
}
private Snake snake;
Properties dbconfig = new Properties();
static FileInputStream file;
public String msg() throws IOException{
}
private class SnakeDriver implements Runnable {
@Override
public void run() {
}
public static vo
您可能关注的文档
最近下载
- 机械制图习题集(第7版)钱可强课后习题答案.pdf
- 学堂在线网课《生活英语读写》课后作业单元考核答案.docx VIP
- CCES 02-2004 自密实混凝土设计与施工指南.pdf VIP
- 儿童闭塞性细支气管炎的诊断和治疗专家共识2023.pptx
- 学堂在线 中国共产党与中华民族伟大复兴 期末考试答案.docx VIP
- 2020年第三单元 百年追梦 复兴中华.ppt VIP
- 小学法制安全教育课件.ppt VIP
- 《芣苢》《插秧歌》课件.pptx VIP
- 《C语言程序设计教程》PPT完整全套教学课件.pptx VIP
- 初中地理八上3中国的自然资源优质课金奖课件市公开课一等奖课件名师大赛获奖课件.pptx VIP
文档评论(0)