#!/usr/bin/env python # coding: utf-8 # vim:fileencoding=utf-8 import random """ Generación de un personaje con 5 habilidades aleatorias, generación de varios objetos interactuables con él y generación de un mapa Oscar M. Lage """ class Personaje(object): """ Clase que define a los personajes """ def __init__(self, nivel, nombre): self.nombre = nombre self.vida = nivel * 10 self.ataque = random.randint(1, nivel) self.defensa = random.randint(1, nivel) self.nivel = random.randint(1, nivel) self.puntos = random.randint(1, nivel*10) def vivo(self): """ Verifica si el estado es vivo o muerto """ if self.vida <= 0: return False return True def __str__(self): """ Muestra el estado del personaje """ return "[%s] \tVida: %d, Ataque: %d, Defensa: %d, Nivel: %d, Puntos: %d" % ( self.nombre, self.vida, self.ataque, self.defensa, self.nivel, self.puntos ) class Item(object): """ Clase que define los distintos items del mundo """ def __init__(self, nivel): self.vida = random.randint(1, nivel*10) self.ataque = random.randint(1, nivel*10) self.defensa = random.randint(1, nivel*10) class Acciones(object): """ Clase que define las acciones """ def __init__(self, pj1, pj2, item, accion): self.pj1 = pj1 self.pj2 = pj2 self.item = item self.accion = accion def do(self): if self.accion == "pelea": print " * Pelea" elif self.accion == "item": print " * Coge item" elif self.accion == "nada": print " * No pasa nada" """ Empezamos el flujo de la pelea """ def main(): # Personajes principales personajes = {} num_personajes = 1 nivel_max_pj = 3 for i in range(1,num_personajes+1): personajes[i] = Personaje(random.randint(1, nivel_max_pj), "Personaje"+str(i)) for i in range(1,num_personajes+1): print personajes[i] # Monstruos iniciales monstruos = {} num_monstruos = 4 nivel_max_monstruo = 2 for i in range(1,num_monstruos+1): monstruos[i] = Personaje(random.randint(1, nivel_max_monstruo), "Monstruo"+str(i)) for i in range(1,num_monstruos+1): print monstruos[i] # Turnos: Iteraciones aleatorias de personaje con monstruos j = 1 turno = 10 while turno != 0: print " -> Turno " + str(j) d = dict(pelea = 1, item = 2, nada = 3) act = Acciones(personajes[1], monstruos[2], '', random.choice(d.keys())) act.do() turno = turno - 1 j = j + 1 if __name__ == "__main__": main() # EOF