Bug en Mini RPG

Losersjuegos cuenta con una secciones de ejemplos en su web. Utilice esta sección para consultar o proponer ideas acerca de ellos.

Bug en Mini RPG

Notapor endaramiz » Mar Ago 26, 2008 11:20 am

Puede que se hayan dado cuenta de un error en el ejemplo de Mini
RPG y que no esté corregido porque no es de mucha importancia
(bueno, supongo que es un error porque provoca un
comportamiento bastante extraño).
El error se encuentra en el método puede_pisar_en de la
clase Escenario:
Código: Seleccionar todo
def puede_pisar_en(self, x, y):
        "Informa si se puede pisar sobre un bloque del escenario."

        fila = (y) / 40
        columna = x / 50

        try:
            celda = int(self.grilla[fila][columna])
        except:
            # si no puede obtener la celda prohibe pisar ahí
            return False

        if celda in [0, 1, 2]:
            return True

        return False
El error consiste en que cuando el
personaje intenta salir por abajo hay un error index out of
range
y por lo tanto se cumple la excepción return false.
Sin embargo, al salir por arriba no se produce el index out of
range
ya que list[-1] devuelve el último valor. Por la izquierda
y por la derecha tampoco se puede salir porque el valor devuelto
es '\n'.

Hugo, aprovecho para felicitarte por este estupendo ejemplo
porque es de gran ayuda.

Saludos.
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona

Volver a Ejemplos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado