贪吃蛇的算法分析(5)

原创 2003年08月18日 09:59:00

贪吃蛇的算法分析(5)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

James @ www.chenshen.com

 

WormMain

最主要的类,继承自MIDlet父类并实现了CommandListener接口

l         protected void startApp()

实现MIDlet父类的方法,当开始程序时首先执行这个函数

// 显示画板

    Display.getDisplay(this).setCurrent(theGame);

    try {

        // 开始游戏线程

        Thread myThread = new Thread(theGame);

        myThread.start();

        } catch (Error e) {

        destroyApp(false);

        notifyDestroyed();   }

 

l         public void commandAction(Command c, Displayable d)

接受并处理用户输入事件

// 重新开始

        if (c == restartCmd) {

          theGame.restart();

        };

      

        // 改变难度等级

        if (c == levelCmd) {

          Item[] levelItem = {

             new Gauge("Level", true, 9, theGame.getLevel())

          };

          Form f = new Form("Change Level", levelItem);

          f.addCommand(OKCmd);

          f.addCommand(cancelCmd);

          f.setCommandListener(this);

          Display.getDisplay(this).setCurrent(f);

        };

       

        // 离开游戏

        if (c == exitCmd) {

          destroyApp(false);

          notifyDestroyed();

        };

       

        // 开始游戏

        if (c == startCmd) {

          theGame.removeCommand(startCmd);

          theGame.addCommand(restartCmd);

          theGame.restart();

        };

       

        // 确定

        if (c == OKCmd) {

          Form f = (Form)d;

          Gauge g = (Gauge)f.get(0);

          theGame.setLevel(g.getValue());

          Display.getDisplay(this).setCurrent(theGame);

        };

       

        // 取消

        if (c == cancelCmd) {

          Display.getDisplay(this).setCurrent(theGame);

        };

       

        // 打开音效

        if (c == audioOnCmd) {

          /* 打开音效 */

          theGame.createAudioPlayer();

          theGame.removeCommand(audioOnCmd);

          theGame.addCommand(audioOffCmd);

        };

       

        // 关闭音效

        if (c == audioOffCmd) {

          /* 关闭音效 */

          theGame.destroyAudioPlayer();

          theGame.removeCommand(audioOffCmd);

          theGame.addCommand(audioOnCmd);

        }

 

 

关于作者:

沈晨,高级程序员,SCJP

www.chenshen.com

JinaShen@BenQ.com

<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />August 10, 2003

贪吃蛇的java代码分析(一)

自我审视 最近自己学习java已经有了一个多月的时间,从一开始对变量常量的概念一无所知,到现在能勉强写几个小程序玩玩,已经有了长足的进步。今天没有去学习,学校里要进行毕业答辩和拍毕业照了,于是请了...
  • qq_33186366
  • qq_33186366
  • 2016年06月01日 16:57
  • 13012

基于A*算法的复杂权值自寻路贪吃蛇(伪)

贪吃蛇的寻路问题是最简单的一类路径搜索问题, 在我之前的博客中,对于单一权值的贪吃蛇寻路问题我已经用BFS解决了。但是,我们的终极目标是让蛇可以根据自己的喜好寻找食物,这个时候,就该A*出马了。...
  • LeYOUNGER
  • LeYOUNGER
  • 2017年03月13日 19:54
  • 719

小游戏系列算法之二贪吃蛇算法原理

贪吃蛇是很常见的小游戏,大家都懂的就不介绍了。 游戏算法非常简单。先看图:   显然这是一个贪吃蛇,红色是蛇蓝色是食物(= =) 我们先来看看蛇的构造     可以看到,蛇其实是由1个1个正方体拼...
  • fengsser
  • fengsser
  • 2013年01月06日 18:53
  • 7322

贪吃蛇的java代码分析(二)

代码剖析 贪吃蛇是一款十分经典的小游戏,对初入coding的朋友来说,拿贪吃蛇这样一个案例来练手十分合适,并不高的难度和成功后的成就感都是学习所必须的。下面我将依照我当时的思路,来逐步分析实现的整个过...
  • qq_33186366
  • qq_33186366
  • 2016年06月05日 18:42
  • 7292

贪吃蛇的java代码分析(三)

代码剖析 在上一篇文章中,我们完成了贪吃蛇部分代码的构造。回头审视我们写的代码与思路,会发现我们遗漏了一个重要的地方,那就是:贪吃蛇的自身移动。想必大家都知道,贪吃蛇自身是会自己移动的,并且会跟随你的...
  • qq_33186366
  • qq_33186366
  • 2016年06月05日 22:16
  • 6411

贪吃蛇需求分析及建模—11信管王茜妮

1.需求分析 贪吃蛇游戏的功能性需求包括:      贪吃蛇游戏由于操作简单,娱乐性强从而成为一个深受小孩喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上...
  • Smilewangqianni
  • Smilewangqianni
  • 2013年06月24日 18:28
  • 2046

贪吃蛇大作战类游戏的实现

前段时间玩了一个叫做贪吃蛇大作战的手机游戏,一下子就喜欢上了,然后就有了尝试实现的想法。...
  • asd77882566
  • asd77882566
  • 2016年11月23日 23:51
  • 5039

智能寻路贪吃蛇系列之 初级BFS寻路算法

在 智能寻路贪吃蛇系列之 简单贪吃蛇的MFC实现(上)(下) 中我们已经实现了一个简单的贪吃蛇Demo 但是我们要做的是会自动寻路的贪吃蛇,所以本次就实现一个简单的"智能贪吃蛇" 要实现一定的智能,肯...
  • Mr_ksco
  • Mr_ksco
  • 2014年02月01日 18:51
  • 7795

贪吃蛇源代码分析

今天已经是农历12月16号了,用这一篇博文给今年的博客画上一个句号吧。 首先,下载一个贪吃蛇的源代码,结构如下:(网上资源很大,我这里就不给出了) 打开AndroidManifest.xml找到应...
  • lxq_xsyu
  • lxq_xsyu
  • 2014年01月26日 13:03
  • 3539

贪吃蛇c++实现

最近没事翻了一下以前写的程序,真是不堪入目,以前真是什么都不懂,不过有一个程序倒是挺有意思的,大二的时候写的一个贪吃蛇游戏,虽然程序非常难看,还有很多漏洞,但也是这个程序让我真正开始喜欢上了编程,不多...
  • u013708970
  • u013708970
  • 2014年11月08日 16:02
  • 1780
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:贪吃蛇的算法分析(5)
举报原因:
原因补充:

(最多只允许输入30个字)