예제 #1
0
  private void colisionCase() {

    int gateWidth = gateEndX - gateStartX;

    if ((disk.getX() - disk.getRadius() - fieldBorder < 0) && (disk.getDx() < 0)) {

      disk.setX(0 + disk.getRadius() + fieldBorder);
      disk.inverseDx();
    }

    if ((disk.getX() + disk.getRadius() + fieldBorder > field.getWidth()) && (disk.getDx() > 0)) {

      disk.setX(field.getWidth() - disk.getRadius() - fieldBorder);
      disk.inverseDx();
    }

    if ((disk.getY() - disk.getRadius() - fieldBorder < 0)
        && (disk.getDy() < 0)
        && !((disk.getX() < gateEndX) && (disk.getX() > gateStartX))) {

      disk.setY(0 + disk.getRadius() + fieldBorder);
      disk.inverseDy();
    }

    if ((disk.getY() + disk.getRadius() + fieldBorder > field.getHeight())
        && (disk.getDy() > 0)
        && !((disk.getX() < gateEndX) && (disk.getX() > gateStartX))) {

      disk.setY(field.getHeight() - disk.getRadius() - fieldBorder);
      disk.inverseDy();
    }
  }
예제 #2
0
  private void goal(Club player) {
    if (players[0] == player) {
      goal[0] = true;
      goal[2] = true;
      disk.setX(field.getWidth() / 2);
      disk.setY(0 + 2 * disk.getRadius() + 100);
    } else {
      goal[1] = true;
      goal[2] = true;
      disk.setX(field.getWidth() / 2);
      disk.setY(field.getHeight() - 2 * disk.getRadius() - 100);
    }

    player.incScore();

    disk.setDx(0);
    disk.setDy(0);
  }
예제 #3
0
  public void move(float speed) {

    for (Strikeable item : players) {
      if (item.isStrike(this.disk)) {
        item.strike(this.disk);
      }
    }

    for (Strikeable item : gatePoints) {
      if (item.isStrike(this.disk)) {
        item.strike(this.disk);
      }
    }

    if (field.isStrike(this.disk)) {
      field.strike(this.disk);
    }

    disk.setX((disk.getX() + disk.getDx() / speed));
    disk.setY((disk.getY() + disk.getDy() / speed));

    slow();

    colisionCase();
    if (goalCase()) {}

    players[0].setDx((players[0].getX() - oldx));
    players[0].setDy((players[0].getY() - oldy));
    oldx = players[0].getX();
    oldy = players[0].getY();

    players[1].setDx((players[1].getX() - oldx1));
    players[1].setDy((players[1].getY() - oldy1));
    oldx1 = players[1].getX();
    oldy1 = players[1].getY();
  }