黑马程序员技术交流社区

标题: 昨天写了个单机的坦克大战,遇到些问题。求指点。 [打印本页]

作者: 陈军    时间: 2012-12-6 09:14
标题: 昨天写了个单机的坦克大战,遇到些问题。求指点。
本帖最后由 陈军 于 2012-12-6 10:20 编辑



代码太多我就发张图片上来。。没有好看的坦克图。。不给力啊。


问题1:关于坦克身体互撞的算法。
  ps:  我用了最笨的方法-----复制2个集合,然后嵌套循环遍历。根据边框相交判断。
      然后让这个相撞的坦克改变方向,并马上移动。
问题2:坦克多了,整个画面有点卡卡的。有什么好办法么?
ps: 我虽然用了双缓冲,但是还是卡卡的。感觉可能是监听的线程太多了(每个新生子弹一个线程)。或者说
    并发访问的问题。 敌人坦克我让它到一定时候自动移动和开枪。


最后顺便求好看的程序设计的图片,,或者谁收藏这样的素材网的。。给个链接。(百度搜索感觉不给力啊)
     附上监听敌人所有坦克子弹的代码。。
@Override
  public void run() {
   try {
    while (true) {
     int cnt = autotanks.size();
     for (int i = 0; i < cnt; i++) {
      AutoTank autotank = autotanks.get(i);
      List<Missile> missiles = autotank.getAutomissiles();
      for (ListIterator<Missile> it = missiles.listIterator(); it.hasNext();) {
       Missile m = it.next();
       panel.addAutoMissile(m);
       autoMissiles.add(m);
       m.addListeners(Controller.this);
       m.startListener();
          it.remove();
      }
      cnt = autotanks.size();
     }
     Thread.sleep(Constants.DELAY);
    }
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }

作者: 郑枫    时间: 2012-12-6 10:43
{:soso_e100:} ,没弄明白你想表达什么
作者: 西伯利亚狼    时间: 2012-12-6 16:54
我以前玩过Robocode机器人大战,去看看那个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2