예제 #1
3
  // 专门判断子弹是否击中坦克的函数
  public boolean hitTank(Bullet b, Tank et) {
    boolean b1 = false;

    // 判断该坦克的方向
    switch (et.direct) {
        // 向上和向下范围一样
      case 0:
      case 2:
        if (b.x >= et.x && b.x <= et.x + 20 && b.y >= et.y && b.y <= et.y + 30) {
          // 击中1.子弹死亡 2.目标死亡
          b.alive = false;
          et.alive = false;
          b1 = true;
          // 创建一颗炸弹,放入Vector中
          Bomb bomb = new Bomb(et.x, et.y);
          bombs.add(bomb);
        }
        break;
      case 1:
      case 3:
        if (b.x >= et.x && b.x <= et.x + 30 && b.y >= et.y && b.y <= et.y + 20) {
          // 击中
          b.alive = false;
          et.alive = false;
          b1 = true;
          // 创建一颗炸弹,放入Vector中
          Bomb bomb = new Bomb(et.x, et.y);
          bombs.add(bomb);
        }
        break;
        //                default:System.out.println("xxxxxxxxx");
    }

    return b1;
  }