-
Notifications
You must be signed in to change notification settings - Fork 0
/
cursor.wlk
40 lines (32 loc) · 1.31 KB
/
cursor.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
// ===============================
// Revisado
// ===============================
import wollok.game.*
// ===============================
// Cursor: Controlador de movimiento
// ===============================
object cursor {
const celdaMaxima = 9
// Propiedad de posición
var property position = new MutablePosition(x = 7, y = 3)
// Método de imagen del cursor
method image() = "marcosRojo.png"
// Acciones del teclado
method accion() {
keyboard.right().onPressDo({ self.moverseDerecha() })
keyboard.left().onPressDo({ self.moverseIzquierda() })
keyboard.up().onPressDo({ self.moverseArriba() })
keyboard.down().onPressDo({ self.moverseAbajo() })
}
// Métodos de movimiento
method moverseDerecha() = if (self.position().x() < celdaMaxima) position.goRight(1)
method moverseIzquierda() = if (self.position().x() > 1) position.goLeft(1)
method moverseArriba() = if (self.position().y() < 4) position.goUp(1)
method moverseAbajo() = if (self.position().y() > 0) position.goDown(1)
// Interacciones con enemigos
method frenarEnemigo() = false
method recibeDanioEnemigo(_danio) { return false }
method recibeDanioMago(_danio) { return false }
method combinarProyectil(_tipo){return false}
method matarSlime(){return false}
}