毕业论文_java实现贪吃蛇(编辑修改稿)内容摘要:

毒程序的产生和下载程序对本地系统的威胁破坏。 6 4. 概要设计 本次设计的重点之处在于编程思想的形成,设计图像界面,产生随机食物及其位置。 这个程序的关键是表示蛇的图形以及蛇的移动。 用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块。 移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。 如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节 身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇。 (1)总体设计流程图,如下图所示: 7 是 否 是 是 否 否 5. 游戏中所需的实体类分析与实现 ㈠ 涉及到几个对象(类) ㈡ 每个类有什么方法 游戏显示面板 (SnakePanel)类 该类有一下几个方法 游戏开始 选择难度 判断蛇的起行方向 蛇头移动 是否吃掉食物 蛇身长度 +1 判断当前蛇身的节点 是否咬到做自己 蛇身再次前移 是否碰到墙壁 游戏结束 8 void paint()。 //用来显示游戏面板 Void KeyPassed()。 //键盘控制 Void startRun()。 // 线程实现移动 蛇 (Snake)类,该类有一个方法 : void move()。 //移动 食物类( Egg)类 游戏窗口( SnakeFrame)类,该类有以下方法 : Void main()。 主方法,运行程序 showMe()。 显示游戏开始的界面 本有序遵循 MVC( ModelViewController)所以首先建立以上几个实体类并定义相应的包名 rac 下: Egg、 Snake、 SnakeFrame、 SnakePanel 四个类,按照以上说明的各个类具有的方法,写上如下代码: Egg 类 package rac。 import。 public class Egg { int x。 int y。 int length。 JPanel panel。 } Snake类 package rac。 import。 import。 public class Snake { public final static int UP = 0。 public final static int DOWN = 1。 public final static int LEFT = 2。 public final static int RIGHT = 3。 int[] x。 9 int[] y。 int length。 int direction。 int speed。 JPanel panel。 boolean started。 boolean dead。 public Snake() { } //移动控制 public void move() { switch (direction) { case UP: if (y[0] = 0 amp。 amp。 started) { for (int i = 1。 i 0。 i) { x[i] = x[i 1]。 y[i] = y[i 1]。 //蛇吃蛇情况 if (i 4 amp。 amp。 x[i] == x[0] amp。 amp。 y[i] == y[0]) { dead = true。 } } y[0] = speed。 if (y[0] 0) { for (int i = 1。 i 0。 i) { x[i] = x[i 1]。 y[i] = y[i 1]。 } y[0] = 0。 dead = true。 } } break。 } } } SnakeFrame类 10 package rac。 import。 public class SnakeFrame extends JFrame{ private SnakePanel panel。 public SnakeFrame(){ panel = new SnakePanel()。 (panel)。 (panel)。 ()。 } public void showMe(){ (1000, 640)。 (贪吃蛇 )。 (true)。 ()。 } public static void main(String[] args) { new SnakeFrame().showMe()。 } } SnakePanel类 package rac。 import。 public class SnakeFrame extends JFrame{ private SnakePanel panel。 public SnakeFrame(){ panel = new SnakePanel()。 (panel)。 (panel)。 ()。 } public void showMe(){ (1000, 640)。 (贪吃蛇 )。 (true)。 11 ()。 } public static void main(String[] args) { new SnakeFram。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。