Detail: python-stupid-game (python)

 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/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 <r0sk10*en*gmail.com>
"""

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

[raw] - Pasted by: r0sk on python on Oct. 3, 2011