一. 项目背景:

“贪吃蛇”是一款经典的游戏,他因操作简单,娱乐性强而广受欢迎。本文基于Java技术,开发一个操作简单,功能较全的“贪吃蛇”游戏。

二。功能说明

1.使用上下左右四个按键对贪吃蛇进行控制,让贪吃蛇吃到食物,并且不能碰到自身和墙壁。

2.每吃到一个食物,蛇身会增长一个单位

3.初始场景随机出现食物,当食物被吃掉后,再次生成食物。

4.有计分机制,每吃到一个食物,增加一个分值。

三。设计思路

这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时原来蛇的位置和新蛇的位置差一个单位,所以看起来蛇会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块。

四。技术要点

1.蛇身的处理

2.蛇身运动的处理

3.食物的产生

4.吃到食物,碰墙壁,碰自身的处理。

5.绘图

五。系统设计难点及解决办法

1.这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时原来蛇的位置和新蛇的位置差一个单位,所以看起来蛇会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块

2.检测蛇有无撞到食物、围墙或是自己的身体。当蛇开始移动之后,需要判断蛇头要移动到的新的位置的情况,然后根据新位置是空白、食物、围墙还是蛇的身体来做出相应的操作。

3.事物的随机产生。当食物被吃掉后,要在场景中重新随机产生。

转载于:https://www.cnblogs.com/dinghongtao/p/7788531.html

《结对-结对编程项目作业名称-结对项目总结》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. dbf如何导入oracle_「赵强老师」第一个Oracle的手工管理的备份和恢复
  2. java 快排和堆排序
  3. 谁说PCB布线不能走直角。。。
  4. EFCore+Mysql仓储层建设(分页、多字段排序、部分字段更新)
  5. 5 thinkpad 黑将评测_王中林院士团队黑科技:80秒,将PM 2.5降至0!把森林氧吧搬回家!...
  6. 【USACO2006 Mar】滑雪缆车 skilift
  7. mysql输出美式报表_Navicat for MySQL 如何预览报表
  8. android拍照功能编程,android实现手机App实现拍照功能示例
  9. 新骗子举报收录系统源码
  10. matlab中定点数16位转为14位,如何使用python将浮点数转换为具有预定义位数的固定点...
  11. Ext.Net 学习 之 GridPanel、 Store 取值
  12. 计算机图形设计案例,9《计算机图形图像的设计的案例实训题.doc
  13. 虚拟化arm服务器,服务器虚拟化领域的ARM处理器与RISC技术
  14. 深度linux网卡配置,Deepin 15.11 命令行配置静态IP
  15. 服务器win10虚拟内存设置,win10虚拟内存设置多少合适?这样设置就最好!
  16. 应急响应之windows进程排查
  17. 生态对对碰|云和恩墨数据库云管平台 zCloud 最新支持 TiDB
  18. 公司固定资产该哪个部门管理,一般公司固定资产怎么管理
  19. 【手册】如何编译/修改三星手机Rom(三)
  20. Elasticsearch解决只能查询10000条数据以及查询的total为10000条的解决方案

热门文章

  1. [Web开发] 如何改变IE滚动条的颜色
  2. nginx http相关配置定义路径相关配置
  3. 超长干货 | Kubernetes命名空间详解
  4. ffmpeg -acodec列表
  5. ZenHub Epics创造了GitHub中敏捷Epics
  6. CString类常用方法(转载)
  7. ajax-登陆+验证码
  8. 紧急事态分析及处理方法
  9. WCF Transaction
  10. 利用bwm-ng 实时监控系统