slowdown = boost/10; // пробовала slowdown = 0.1*boost; - тоже не принимает
package com.javarush.games.moonlander;
public class Rocket extends GameObject {
private double speedX, speedY;
private double boost;
private double slowdown;
public Rocket(double x, double y) {
super(x, y, ShapeMatrix.ROCKET);
speedY = speedX = 0;
boost = 0.05;
slowdown = boost/10;
}
public void move(boolean isUpPressed, boolean isLeftPressed, boolean isRightPressed) {
// update vertical position
if(isUpPressed) {
speedY -= boost; // decelerate if UP is pressed
} else {
speedY += boost; // accelerate (due to gravity)
}
y += speedY; // update vertical position
// update horizontal position
if(isLeftPressed) {
speedX -= boost; // slow down horizontally
} else if(isRightPressed) {
speedX += boost; // accelerate horizontally
} else { // if neither left nor right pressed
if (speedX >= -slowdown && speedX <= slowdown) {
speedX = 0;
}else if(speedX > slowdown) {
speedX-=slowdown;
}else { // if speedX < (-slowdown)
speedX += slowdown;
}
}
x += speedX; // update horizontal position
checkBorders();
}
private void checkBorders() {
// ччтобы ракета не улетала за пределы игрового поля
if(x<0) {
x=0;
speedX = 0;
} else if(x+width > MoonLanderGame.WIDTH ) {
x = MoonLanderGame.WIDTH - width;
speedX = 0;
}
if(y<0) {
y=0;
speedY=0;
}
}
}