ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:71.67KB ,
资源ID:13276765      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13276765.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java编写的贪吃蛇游戏源码Word文档格式.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java编写的贪吃蛇游戏源码Word文档格式.docx

1、年1月7日1、函数程序结构图 注释: 二、题目分析通过分析该程序基本需要以下几个类:Text(Main方法)、Snake(蛇)、Food(食物)、Yard(窗口)、Map(地图)、Node(节点)、PaintThread(线程)、Dir(方向)、KeyMonitor(键盘监听)。主要实现蛇运动的基本操作和一些事件反应、游戏分数的记录、暂停、重新开始、更改蛇蛇颜色,蛇的移动速度,地图、死亡模式的改变等功能。本程序运用Java语言知识,用面向对象的思维设计“贪吃蛇”游戏。3、结果分析运行程序出现游戏界面,蛇(Snake)头自动向前移动,用键盘的上(Up)下(Down)左(Left)右(Right)

2、键控制蛇头的移动方向。游戏窗体中在随机位置出现紫色的食物(Food)。1、每吃一个加5分2、默认撞墙不死3、默认速度34、默认地图15、默认普通蛇身6、默认30分提升一个速度档次7、默认每个速度都走完后更换地图并且速度恢复默认,积分归零功能键:1、按F1重新开始2、按空格键暂停/继续3、按1/2/3/4/5数字键设置蛇的移动速度(逐渐变快)4、按F2更换地图(3种)5、按F3普通蛇/彩蛇的切换6、按F4更换游戏模式(蛇撞到最外围为死亡还是从另一端返回) 该程序初步完成了“贪吃蛇”的游戏雏形,但是缺乏完善。比如:界面效果十分粗糙、屏幕闪烁、缺少声音等。但是,我们通过编写贪吃蛇,能更好的运用面向对

3、象的思维方式了,并学到了许多有用的经验。四、 附录(程序清单)1、 Snake.javaimport java.awt.Color;import java.awt.Graphics;import java.awt.event.KeyEvent;public class Snake Node head = null; Node tail = null; int size = 0; Yard y; Node n = new Node(1, 2, Dir.D); public Snake(Yard y) head = n; tail = n; size = 1; this.y = y; for(in

4、t i=0;i3;i+) this.Headadd(); public void Tailadd() Node node = null; switch (tail.dir) case L : node = new Node(tail.m+1, tail.n, tail.dir); break; case U : node = new Node(tail.m, tail.n+1, tail.dir); case R : node = new Node(tail.m-1, tail.n, tail.dir); case D : tail.next = node; node.pre = tail;

5、tail = node; size +; public void Deltail() if (size = 0) return; tail = tail.pre; tail.next = null; public void Headadd() switch (head.dir) case L: node = new Node(head.m - 1, head.n, head.dir); case U: node = new Node(head.m, head.n - 1, head.dir); case R: node = new Node(head.m + 1, head.n, head.d

6、ir); case D: node = new Node(head.m, head.n + 1, head.dir); node.next = head; head.pre = node; head = node; size+; public void draw(Graphics g) if (size = 0) move(); for (Node n = head; n != null; n = n.next) if(head=n) g.setColor(Color.BLUE); if(n.dir=Dir.L|n.dir=Dir.R) g.fillOval(n.m*Yard.B_WIDTH,

7、 n.n*Yard.B_WIDTH, Yard.B_WIDTH, Yard.B_WIDTH-3); else g.fillOval(n.m*Yard.B_WIDTH, n.n*Yard.B_WIDTH, Yard.B_WIDTH-3, Yard.B_WIDTH); else n.draw(g); public void Deadif() switch(Yard.STYLE) case 2: if (head.m 0 | head.n = (Yard.WIDTH / Yard.B_WIDTH) | head.n = (Yard.HEIGHT / Yard.B_WIDTH) y.stop(); c

8、ase 1: int cols = Yard.WIDTH / Yard.B_WIDTH; int rows = Yard.HEIGHT / Yard.B_WIDTH; if(head.m = cols) head.m = 0; else if (head.n = rows) head.n = 30/Yard.B_WIDTH; break; for (Node p = head.next; p ! p = p.next) if (head.m = p.m & head.n = p.n) switch (Yard.MAP) /地图1/地图2 for (int j = 10; j Yard.WIDT

9、H/Yard.B_WIDTH-10; j +) if(head.m=j&head.n=10) y.stop();head.n=20) case 3:/地图3 for (int j = 20; 26; if(head.m=Yard.WIDTH/Yard.B_WIDTH-10&head.n=j) for (int j = 5; 10; if(head.m=10& default: void move() Yard.MOVECHECK = true; Headadd(); Deltail(); Deadif(); public void eat(food e) if (y.f.getM() = y.

10、s.head.m & y.f.getN() = y.s.head.n) e.reAppear(); this.Tailadd(); y.setscore(y.getscore() + 5); public void keyPressed(KeyEvent e) int key = e.getKeyCode(); switch (key) case KeyEvent.VK_LEFT: if (head.dir != Dir.R) head.dir = Dir.L; case KeyEvent.VK_UP:= Dir.D) head.dir = Dir.U; case KeyEvent.VK_RIGHT:= Dir.L) head.dir = Dir.R; case KeyEvent.VK_DOWN:= Dir.U) head.dir = Dir.D;2、 Food.javaimport java.util.Ra

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1