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(); } }
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); }
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(); }