lunes, 8 de noviembre de 2010

Números aleatorios en python

Para tener números aleatorios en python lo más sencillo es usar:
"import numpy
numpy.random.random_integers(0,100)"
Esto genera números aleatorios entre 0 y 100, perfecto para juegos de rol. Evidentemente se puede usar para generar números aleatorios dentro de cualquier rango natural.


Para usar en un videojuego o similar se puede crear una clase para trabajar con esto:

import numpy



inteligencia=50

class habilidad:

    def __init__(self,inteligencia):

        self.habilidad_reparar=25+inteligencia/2
        self.uso=0
        #y se pueden poner más habilidades...


    def usar(self):
        self.uso=numpy.random.random_integers(0,100)

# Si la probabilidad es menor que la habilidad, lo has reparado.
        if self.uso < self.habilidad_reparar:
            print "¡¡Has logrado repararlo!!"
           
#y tienes una opción para aumentar tu habilidad con la experiencia.
            if  inteligencia+numpy.random.random_integers(0,100) > self.habilidad_reparar:
                self.habilidad_reparar += numpy.random.random_integers(0,5)
               
#Si la probabilidad es mayor que la habilidad, no lo consigues.
        if self.uso > self.habilidad_reparar:
            print "no has logrado repararlo"

#y tal vez la fastidies aún mas...
            if self.uso < 5:
                print "de hecho eres un manazas y lo has estropeado aún mas."





def main():
    reparar=habilidad(inteligencia)
    print "habilidad=",reparar.habilidad_reparar
    reparar.usar()
    print "habilidad=",reparar.habilidad_reparar   
    return 0

if __name__ == '__main__':
    main()

No hay comentarios:

Publicar un comentario