1.飞机、子弹对象存储在哪儿?arraylist?      
     飞机还是存到hashtable中,每个对象的子弹是一个arraylist
2.如何判断,飞机、子弹得销毁?多线程?
     是的
  是为每一个对象开一个线程,还是要为arraylist开一个线程?  
     两个都要有独立的线程,对象的用来移动对象,arraylist的用来判断是否击中,及相应事件
3.飞机的速度变化着的,怎么实现?
     你可以自己设定参数呀     

解决方案 »

  1.   

    3.飞机的速度变化着的,怎么实现?
         你可以自己设定参数呀     
    果然有高手!不过飞机速度怎么设参数?我的想法就是
    class 飞机
    {
    public int 速度;
    //其他的代码
    }可是速度要变化的话,我怎么设? 回复人: lhj(努力加油) ( ) 信誉:100  2005-02-15 11:27:00  得分: 0  
     
     
       还要加上人工智能,敌机不能太笨了。呵呵
      
     
    给点提示的资料,谢谢!上人工智能的时候,老师讲的太语焉不详了
      

  2.   

    如果为每个对象开个线程就真的太 过分 了,系统哪来这么多资源给你开那么多线程,这样的游戏最多3个线程顶天了,可能是我理解上面各位的话理解错了 :P可以每个飞机设定一套飞行计划(状态机?),吧所有的飞机对象扔在一个Vector之类的集合里,设一个线程或者定时器当触发器,时间周期到了以后,到那个集合里面去 for(;;)一把,里面所有能飞的对象根据自己的飞行计划移动到下一个状态,如果出屏幕了,就从集合里删掉,
    再到子弹的集合里 for(;;)一把,根据子弹的飞行计划,把每个子弹移动到新的位置,判断每个子弹的位置,和飞机集合里面的每个飞机对比,如果在同一个格子里就把那个飞机炸掉,然后把飞机和子弹都删掉,
    最后还要到把背景向下移动一格,或者把新的背景图片调进来,这种游戏不需要什么AI的,我好像也没有见过有什么打飞机的游戏有很复杂的AI的,最多就是在飞机的飞行计划中判断玩家的飞机在什么位置,然后跟到追或者飞到玩家跟前放颗子弹然后走入。
    相反,敌人的飞机要怎么出场是个问题,可能需要用到传说中的“脚本”,跟乐谱一样,在什么时刻在什么位置出现什么样的敌机,然后时间间隔到了的时候就把这样的敌机放到飞机集合里面 :P