0votos

Snake en Python

por josejuan hace 6 años

¡NO ES PYTHON! es en un lenguaje IDEALIZADO (vamos, el lenguaje que me gustaría que existiera) :P

Fernando de Genbetadev dice que si haces un Snake en un lenguaje, entonces, ese lenguaje ya casi no tiene secretos para tí.

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
N = 11; L = 10; N2 = N^2; d = 0 
s = [(N / 2, N / 2)] 
D = [1, 0, 0, 1, -1, 0, 0, -1] 
 
freePos := ([(x, y) | x <- range, y <- range] - s).shuffle.take 1 
    where range = [0 .. N-1] 
 
f = freePos 
 
box gc color pos := gc.drawBox color pos (L, L) 
 
onDraw gc := gc.clear White; box gc Red f; s.each (box gc Green) 
 
onTime := 
    p = nextPos s.head 
    if p in s { ShowMessage "Ouch!"; End } 
    s.headAdd p 
    if f == p { f = freePos } else { s.tailDrop } 
    where nextPos (x, y) := ((N + x + D[d << 1]) % N, (N + x + D[(d << 1) + 1]) % N) 
 
onKey k := ++d; if k == 113 { d += 2 }; d %= 4 
 
main := 
    setOnDraw onDraw 
    setOnTime onTime, 250 
    setOnKey onKey 
    runLoop 
1 comentario
0votos

Escrito por jneira hace 6 años

Como se pareeece a haskell. Pero hacer un snake en haskell tiene tela...

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.