Esempio n. 1
0
  // 构造函数
  public MyPanel(String flag) {
    apw.start();

    // 恢复记录
    Recorder.getRecord();
    //        bombs.add(new Bomb(0,0));
    // 括号里的是初始位置
    myTank = new MyTank(100, 100);

    if (flag.equals("newGame")) {
      // 初始化敌方坦克
      for (int i = 0; i < enemySize; i++) {
        // 创建一辆敌人的坦克
        EnemyTank et = new EnemyTank((i + 1) * 50, 0);
        et.setColor(1);
        et.setDirect(2);
        // 將MyPanel的敵人坦克向量交給該敵人坦克
        et.setEts(enemyTanks);

        // 启动敌人的坦克
        Thread t = new Thread(et);
        t.start();
        // 给敌人坦克添加一颗子弹
        Bullet b = new Bullet(et.x + 10, et.y + 30, 2);
        // 加入敌人坦克
        et.bb.add(b);
        Thread t2 = new Thread(b);
        t2.start();
        // 加入
        enemyTanks.add(et);
      }
    } else {

      nodes = new Recorder().getNodesAndEnNums();
      // 初始化敌方坦克
      for (int i = 0; i < nodes.size(); i++) {
        Node node = nodes.get(i);
        // 创建一辆敌人的坦克
        EnemyTank et = new EnemyTank(node.x, node.y);
        et.setColor(1);
        et.setDirect(node.direct);
        // 將MyPanel的敵人坦克向量交給該敵人坦克
        et.setEts(enemyTanks);

        // 启动敌人的坦克
        Thread t = new Thread(et);
        t.start();
        // 给敌人坦克添加一颗子弹
        Bullet b = new Bullet(et.x + 10, et.y + 30, 2);
        // 加入敌人坦克
        et.bb.add(b);
        Thread t2 = new Thread(b);
        t2.start();
        // 加入
        enemyTanks.add(et);
      }
    }
    // 初始化爆炸图片

    //        try {
    //            image1= ImageIO.read(new File("/3.png"));
    //            image2= ImageIO.read(new File("/2.png"));
    //            image3= ImageIO.read(new File("/1.png"));
    //        } catch (IOException e) {
    //            e.printStackTrace();
    //        }
    image1 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/3.png"));
    image2 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/2.png"));
    image3 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/1.png"));
    bombs.add(new Bomb(0, 0));
  }