-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCoche.java
More file actions
73 lines (69 loc) · 2.08 KB
/
Coche.java
File metadata and controls
73 lines (69 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
public class Coche {
private double miVelocidad; // Velocidad en pixels/segundo
protected double miDireccionActual; // Dirección en la que estoy mirando en grados (de 0 a 360)
protected double posX; // Posición en X (horizontal)
protected double posY; // Posición en Y (vertical)
private String piloto; // Nombre de piloto
public Coche() {
super();
miVelocidad = 0;
miDireccionActual = 0;
posX = 0;
posY = 0;
piloto = "";
}
public double getMiVelocidad() {
return miVelocidad;
}
public void setMiVelocidad(double miVelocidad) {
this.miVelocidad = miVelocidad;
}
public double getMiDireccionActual() {
return miDireccionActual;
}
public void setMiDireccionActual(double miDireccionActual) {
this.miDireccionActual = miDireccionActual;
}
public double getPosX() {
return posX;
}
public void setPosX(double posX) {
this.posX = posX;
}
public double getPosY() {
return posY;
}
public void setPosY(double posY) {
this.posY = posY;
}
public String getPiloto() {
return piloto;
}
public void setPiloto(String piloto) {
this.piloto = piloto;
}
@Override
public String toString() {
return "Coche [miVelocidad=" + miVelocidad + ", miDireccionActual=" + miDireccionActual + ", posX=" + posX
+ ", posY=" + posY + ", piloto=" + piloto + "]";
}
/** Cambia la velocidad actual del coche
* @param aceleracion Incremento de la velocidad en pixels/segundo
*/
public void acelera( double aceleracion ) {
miVelocidad += aceleracion;
}
/** Cambia la dirección actual del coche
* @param giro Angulo de giro a sumar o restar de la dirección actual, en grados (-180 a +180)
*/
public void gira( double giro ) {
miDireccionActual += giro;
}
/** Cambia la posición del coche dependiendo de su velocidad y dirección
* @param tiempoDeMovimiento Tiempo transcurrido, en segundos
*/
public void mueve( double tiempoDeMovimiento ) {
posX += miVelocidad * tiempoDeMovimiento * Math.cos(miDireccionActual);
posY += miVelocidad * tiempoDeMovimiento * Math.sin(miDireccionActual);
}
}