A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 陈军 于 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();
   }
  }

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

2 个回复

倒序浏览
{:soso_e100:} ,没弄明白你想表达什么
回复 使用道具 举报
我以前玩过Robocode机器人大战,去看看那个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马