日期:2014-05-20  浏览次数:20637 次

java小游戏吃豆子算法问题

以下代码鬼自由跑->
需要
鬼一出来就在不停的计算离人最近的路线,然后过去抓住人.
我找个直线算法
http://www.learnjava.cn/Article/j2se/jinjie/200706/221.html   参考

初次接触望大大给与帮助
由于论坛字数限制     特把源代码存入网易163.com中ceshi_yonghu@163.com  
用户名/密码   :     ceshi_yonghu/yonghu     修改完在存与油箱中,感谢,请不要修改用户及密码谢谢合作
import   java.awt.*;
import   java.applet.Applet;

public   class   PacMan   extends   Applet   implements   Runnable
{
    Dimension d;
    Font   largefont   =   new   Font( "Helvetica ",   Font.BOLD,   24);
    Font smallfont   =   new   Font( "Helvetica ",   Font.BOLD,   14);

    FontMetrics fmsmall,   fmlarge;    
    Graphics goff;
    Image ii;
    Thread thethread;
    MediaTracker     thetracker   =   null;
    Color dotcolor=new   Color(192,192,0);
    int bigdotcolor=192;
    int dbigdotcolor=-2;
    Color mazecolor;

    boolean ingame=false;
    boolean showtitle=true;
    boolean               scared=false;
    boolean               dying=false;

    final   int screendelay=120;
    final   int           blocksize=24;
    final   int           nrofblocks=15;
    final   int           scrsize=nrofblocks*blocksize;
    final   int animdelay=8;
    final   int           pacanimdelay=2;
    final   int           ghostanimcount=2;
    final   int           pacmananimcount=4;
    final   int           maxghosts=12;
    final   int pacmanspeed=6;

    int animcount=animdelay;
    int                       pacanimcount=pacanimdelay;
    int pacanimdir=1;
    int count=screendelay;
    int ghostanimpos=0;
    int pacmananimpos=0;
    int nrofghosts=6;
    int pacsleft,score;
    int deathcounter;
    int[] dx,dy;
    int[] ghostx,   ghosty,   ghostdx,   ghostdy,   ghostspeed;

    Image ghost1,ghost2,ghostscared1,ghostscared2;
    Image pacman1,   pacman2up,   pacman2left,   pacman2right,   pacman2down;
    Image pacman3up,   pacman3down,   pacman3left,   pacman3right;
    Image pacman4up,   pacman4down,   pacman4left,   pacman4right;

    int pacmanx,   pacmany,   pacmandx,   pacmandy;
    int reqdx,   reqdy,   viewdx,   viewdy;
    int scaredcount,   scaredtime;
    final int maxscaredtime=120;
    final   int           minscaredtime=20;

    final   short       level1data[]   =   {  
19,26,26,22,   9,12,19,26,22,   9,12,19,26,26,22,