Python - Error en el control de mi personaje cuando lo muevo hacia abajo no se como solucionarlo

 
Vista:

Error en el control de mi personaje cuando lo muevo hacia abajo no se como solucionarlo

Publicado por Ezequiel Casalegno (1 intervención) el 10/07/2019 08:31:06
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
#Creamos operaciones para mover a Super Tablet
def irALaDerecha():
    for i in range(1,cantidadDeCasillasPorLado):
        for j in range(1,cantidadDeCasillasPorLado):
            if (zonaDeTransporte[j][i]=='jugador'):
                if (zonaDeTransporte[j+1][i]==0):
                    posicionarElemento('jugador',j+1,i)
                    borrarElemento(j,i)
                    break
                if(zonaDeTransporte[j+1][i]=='virus') and not ((zonaDeTransporte[j+2][i]=='pared') or (zonaDeTransporte[j+2][i]=='virus')):
                    borrarElemento(j,i)
                    posicionarElemento('virus',j+2,i)
                    posicionarElemento('jugador',j+1,i)
                    break
 
def irALaIzquierda():
    for i in range(1,cantidadDeCasillasPorLado):
        for j in range(1,cantidadDeCasillasPorLado):
            if (zonaDeTransporte[j][i]=='jugador'):
                if (zonaDeTransporte[j-1][i]==0):
                    posicionarElemento('jugador',j-1,i)
                    borrarElemento(j,i)
                    break
                if(zonaDeTransporte[j-1][i]=='virus') and not ((zonaDeTransporte[j-2][i]=='pared') or (zonaDeTransporte[j-2][i]=='virus')):
                    borrarElemento(j,i)
                    posicionarElemento('virus',j-2,i)
                    posicionarElemento('jugador',j-1,i)
                    break
 
def irArriba():
    for i in range(1,cantidadDeCasillasPorLado):
        for j in range(1,cantidadDeCasillasPorLado):
            if (zonaDeTransporte[j][i]=='jugador'):
                if (zonaDeTransporte[j][i-1]==0):
                    posicionarElemento('jugador',j,i-1)
                    borrarElemento(j,i)
                    break
                if(zonaDeTransporte[j][i-1]=='virus') and not ((zonaDeTransporte[j][i-2]=='pared') or (zonaDeTransporte[j][i-2]=='virus')):
                    borrarElemento(j,i)
                    posicionarElemento('virus',j,i-2)
                    posicionarElemento('jugador',j,i-1)
                    break
 
def irAbajo():
    for i in range(1,cantidadDeCasillasPorLado):
        for j in range(1,cantidadDeCasillasPorLado):
            if (zonaDeTransporte[j][i]=='jugador'):
                if (zonaDeTransporte[j][i+1]==0):
                    posicionarElemento('jugador',j,i+1)
                    borrarElemento(j,i)
                    break
                if(zonaDeTransporte[j][i+1]=='virus') and not ((zonaDeTransporte[j][i+2]=='pared') or (zonaDeTransporte[j][i+2]=='virus')):
                    borrarElemento(j,i)
                    posicionarElemento('virus',j,i+2)
                    posicionarElemento('jugador',j,i+1)
                    break
 
#Creamos el bucle del juego
while not salirJuego:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            salirJuego = True
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT:
                irALaDerecha()
            elif event.key == pygame.K_LEFT:
                irALaIzquierda()
            elif event.key == pygame.K_UP:
                irArriba()
            elif event.key == pygame.K_DOWN:
                irAbajo()
        dibujarZonaDeTransporte()
        estaSolucionado()
pygame.quit()
quit()

este es el codigo, pero solo me da problemas el movimiento hacia abajo, en vez de moverse de una casilla a la siguiente, directamente se va hacia el final del mapa
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder