forked from Guillerme-Kleeman/GGJ
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Planeta.js
62 lines (46 loc) · 1.39 KB
/
Planeta.js
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
class Planeta {
x = floor(width/2);
y = floor(height*1.1);
diametro = width*0.8;
constructor(robot, imagen) {
// this.x = x;
// this.y = this.altura_final;
// this.diametro = diametro;
this.radio = round(this.diametro * 0.5);
this.imagen = imagen;
this.robot = robot;
this.randomizar_estructuras();
}
randomizar_estructuras() {
let cantidad = floor(random(4, 6));
this.cantidad_estructuras = cantidad;
let pos1 = random(-this.radio*0.75, this.radio*0.75);
this.estructuras = [new Estructura(pos1, this.radio)];
let new_pos;
for (let i = 1; i < cantidad; i++) {
new_pos = random(-this.radio*0.75, this.radio*0.75);
this.estructuras.push(new Estructura(new_pos, this.radio));
}
}
display() {
push();
this.robot.mostrar_info(this.cantidad_estructuras);
translate(this.x, this.y);
// // elipse del planeta
// fill(200);
// ellipse(0, 0, this.diametro);
// mostrar robot
this.robot.display();
// mostrar planeta
imageMode(CENTER);
image(this.imagen, 0, 0, this.diametro + 100, this.diametro + 100);
// mostrar estructuras
this.estructuras.forEach(estructura => {
estructura.display();
if (keyIsDown("32")) {
this.robot.intentar_reparar(estructura);
}
});
pop();
}
}