-
Notifications
You must be signed in to change notification settings - Fork 0
/
visuales.wlk
104 lines (83 loc) · 2.65 KB
/
visuales.wlk
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import handlers.*
import example.*
import wollok.game.*
object cargarVisuales {
method iniciar() {
game.addVisual(contador)
game.addVisual(contadorNafta)
manejadorAutos.sacar()
manejadorConos.sacar()
[300, 1200, 2100, 3000].forEach({tiempo => scheduleAutos.iniciar(tiempo)})
[1500, 3300].forEach({tiempo => scheduleObstaculo.iniciar(tiempo)})
game.schedule(3600, {gasolina.restaurarUbicacion()
game.addVisual(gasolina)} )
}
}
object scheduleAutos {
method iniciar(contador){
game.schedule(contador, {manejadorAutos.agregarAutosFilaSuperior()
manejadorAutos.agregarAutosFilaSuperior()
manejadorAutos.agregarAutosFilaSuperior()
manejadorAutos.agregarAutosFilaSuperior()})
}
}
object scheduleObstaculo {
method iniciar(contador){
game.schedule(contador, {manejadorConos.agregarConosFilaSuperior()
manejadorConos.agregarConosFilaSuperior()})
}
}
object cartelInicial {
var property position = game.at(0, 0)
method image() = "inicioCartel.png"
}
object cartelFinal {
var property position = game.at(0, 0)
var textoPuntaje = null
method image() = "explosion.png"
method iniciar() {
estadoJuego.pausarJuego()
self.limpiarJuego()
const puntajeActual = contador.puntos()
textoPuntaje = new Texto(texto = "PUNTAJE: " + puntajeActual, position = game.at(4, 6))
game.addVisual(self)
game.addVisual(textoGameOver)
game.addVisual(textoPuntaje)
game.addVisual(textoReinicio)
gasolina.image("blank.png")
keyboard.r().onPressDo ({
if (estadoJuego.estaPausado()) {
self.limpiarJuego()
reiniciarJuego.iniciar()
}
})
}
method limpiarJuego() {
game.removeVisual(self)
game.removeVisual(gasolina)
game.removeVisual(contadorNafta)
game.removeVisual(contador)
game.removeVisual(textoGameOver)
if (textoPuntaje != null) {
game.removeVisual(textoPuntaje)
textoPuntaje = null
}
game.removeVisual(textoReinicio)
manejadorAutos.sacar()
manejadorConos.sacar()
game.removeTickEvent("moverAutos")
game.removeTickEvent("moverObstaculos")
game.removeTickEvent("aumentarPuntos")
game.removeTickEvent("disminuirNafta")
game.removeTickEvent("moverGasolina")
}
}
class Texto {
const texto
var property position
const property negro = "000000e8"
method textColor() = negro
method text() = texto
}
const textoGameOver = new Texto ( texto = "GAME OVER", position = game.at(4,7) )
const textoReinicio = new Texto( texto = "PRESIONE R PARA REINICIAR" , position = game.at(4,5) )