예제 #1
0
파일: Game.java 프로젝트: helgso/FlappyBird
  public void run() {
    StdDraw.setCanvasSize(512, 512);
    StdDraw.setScale(0, 100);
    Bird flappy = new Bird();
    long upThen = System.currentTimeMillis() / 10;
    int score = 0;

    boolean running = true;
    while (running) {
      // Þarf að bæta við pixlum efst í bakgrunninn
      StdDraw.show(5);
      StdDraw.picture(50, 30, "../Myndir/background.jpg", 110 * 1.6, 110);
      //////////////////////////////////////////

      flappy.draw();

      //////////////////
      // Takkaskipanir
      //////////////////

      // Hömlur á það hversu oft má ýta á up með vissu tímabili
      if (StdDraw.isKeyPressed(38))
        flappy.up(System.currentTimeMillis() / 10); // Er verið að ýta á upp örvalykil?
      if (StdDraw.isKeyPressed(27)) close(); // Er verið að ýta á Escape?

      //////////////
      // Stigagjöf
      //////////////

      //////////////////////////////////////////
      StdDraw.show();
    }
  }
예제 #2
0
  /** checks the keyboard for input and handles it */
  public static void processKey() {
    // movement
    if (StdDraw.isKeyPressed(KeyEvent.VK_A)) // a
    {
      Controller.player.moveLeft(States.SHOOTER_MOVE_SPEED);

      if (!States.controlsKeyboard) Controller.player.setAngle();

      if (States.debug) System.out.println("KeyHandle: a");
    }

    if (StdDraw.isKeyPressed(KeyEvent.VK_D)) // d
    {
      Controller.player.moveRight(States.SHOOTER_MOVE_SPEED);

      if (!States.controlsKeyboard) Controller.player.setAngle();

      if (States.debug) System.out.println("KeyHandle: d");
    }

    // rotation
    if (States.controlsKeyboard) {
      if (StdDraw.isKeyPressed(KeyEvent.VK_Q)) // q
      {
        Controller.player.rotateAntiClockWise(States.SHOOTER_ROTATE_SPEED);

        if (States.debug) System.out.println("KeyHandle: q");
      }

      if (StdDraw.isKeyPressed(KeyEvent.VK_E)) // e
      {
        Controller.player.rotateClockWise(States.SHOOTER_ROTATE_SPEED);

        if (States.debug) System.out.println("KeyHandle: e");
      }

      if (StdDraw.isKeyPressed(KeyEvent.VK_SPACE)) // space
      {
        Controller.player.shoot();

        if (States.debug) System.out.println("KeyHandle: space");
      }
    }

    if (StdDraw.isKeyPressed(KeyEvent.VK_ESCAPE)) {
      Controller.exitConfirmation();
    }
  }
예제 #3
0
  protected static void runPlayer(int pId) {
    if (myTank.get(pId).getLife() > 0) {
      Tank.controlPlayer(pId);
    }
    // si on selec l'obus de base
    if (!StdDraw.isKeyPressed(TankConstants.PLAYERS_CONTROLS[pId].get("Obus"))) {
      myTank.get(pId).setIsObusd(false);
    }

    if (myTank.get(pId).getIsObusd() == false
        && StdDraw.isKeyPressed(TankConstants.PLAYERS_CONTROLS[pId].get("Obus"))) {
      myTank.get(pId).setIsObusd(true);
      double vyObus = 350;
      double vxObus = 120;
      myObus.add(
          new Obus(
              myTank.get(pId).getX(),
              myTank.get(pId).getY(),
              Constants.r,
              vxObus,
              vyObus,
              myTank.get(pId).getId(),
              true));
    }
    // si on selec le missile vertical
    if (!StdDraw.isKeyPressed(TankConstants.PLAYERS_CONTROLS[pId].get("missile"))) {
      myTank.get(pId).setIsMissiled(false);
    }
    if (myTank.get(pId).getIsMissiled() == false
        && StdDraw.isKeyPressed(TankConstants.PLAYERS_CONTROLS[pId].get("missile"))) {
      if (myTank.get(pId).stockMissile > 0) {
        myTank.get(pId).setIsMissiled(true);
        double vyObus = 600;
        double vxObus = 0;
        myMissiles.add(
            new Obus(
                myTank.get(pId).getX(),
                myTank.get(pId).getY(),
                Constants.r,
                vxObus,
                vyObus,
                myTank.get(pId).getId(),
                true));
        myTank.get(pId).stockMissile--;
      }
    } else {
      myTank.get(pId).setIsMissiled(false);
    }

    // si on selec la mine
    if (!StdDraw.isKeyPressed(TankConstants.PLAYERS_CONTROLS[pId].get("mine"))) {
      myTank.get(pId).setIsMined(false);
    }

    if (myTank.get(pId).getIsMined() == false
        && StdDraw.isKeyPressed(TankConstants.PLAYERS_CONTROLS[pId].get("mine"))) {
      if (myTank.get(pId).stockMine > 0) {
        myTank.get(pId).setIsMined(true);
        double vxObus = 0;
        double vyObus = 0;
        myMines.add(
            new Mine(
                myTank.get(pId).getX(),
                myTank.get(pId).getY(),
                0,
                vxObus,
                vyObus,
                myTank.get(pId).getId(),
                true));
        myTank.get(pId).stockMine--;
      }
    } else {
      myTank.get(pId).setIsMined(false);
    }
  }