как понять когда методы должны быть public, если в условии об этом не говориться? Или это потому что эти методы в главном классе в игре?
package com.javarush.task.task24.task2413;
public class Ball extends BaseObject {
private double speed; // скорость шарика
private double direction; // направление движения в градусах: от 0 до 360
private double dx; // расстояние по x, которое проходит шарик за один шаг. вычисляется на основе speed и direction
private double dy; // расстояние по y, которое проходит шарик за один шаг. вычисляется на основе speed и direction
private boolean isFrozen; // истина" если шарик "заморожен" - не двигается
public double getSpeed() {
return speed;
}
public double getDirection() {
return direction;
}
public double getDx() {
return dx;
}
public double getDy() {
return dy;
}
public Ball(double x, double y, double speed, double direction) {
super(x, y, 1);
this.speed = speed;
this.direction = direction;
isFrozen = true;
}
public Ball(double x, double y, double radius) {
super(x, y, radius);
}
@Override
// на объекте canvas необходимо вызвать метод setPoint с параметрами (x, y, 'O')
void draw(Canvas canvas) {
canvas.setPoint(getX(), getY(), 'O');
}
@Override
void move() { // если шарик "заморожен", то x и y меняться не должны
if(!isFrozen) {
// super.setX(super.getX() + dx);
// super.setY(super.getY() + dy); //поставили у главного класса protected
x += dx;
y += dy;
}
}
void start() {
isFrozen = false;
}
void setDirection(double direction) {
// устанавливает значение переменной direction,
// но и вычисляет новые значения переменных dx и dy.*/
this.direction = direction;
double angle = Math.toRadians(direction);
dx = Math.cos(angle) * speed;
dy = -Math.sin(angle) * speed;
}
//шарик может удариться о стенку.
//При этом он должен от нее отскочить.
//Для этого нам понадобится еще один метод:
//void checkRebound
void checkRebound(int minx, int maxx, int miny, int maxy) {
}
}