adelante.jpghome.jpg
INVESTIGACIÓN
INVESTIGACIÓN.jpg



Análisis DE requerimientos

*Meta:
El usuario al jugar en python pueda vivir la experiencia de Shangrila, logrando formar las palabras con las letras dadas.

*Salida:
El jugador a la hora de unir las letras logré forma la palabra.

*Entrada:
Vocales, consonantes, palabras, teclas, símbolos.

*Restricciones:
Se manifestaran cuando el programa se ejecuta, tras haber definido las funciones. Se cumple cuando el usuario decide entre modo aleatorio o por niveles, con esto entra al while y este efectuará el ciclo tantas veces, como palabras. Por tanto se repetirá consecutivamente hasta el fin del juego.


*Repeticiones:
Se manifestaran cuando el programa se ejecuta, tras haber definido las funciones, se cumple cuando el usuario decide entre modo aleatorio o por niveles ya con esto entra al while y este efectuará el ciclo tantas veces como palabras por tanto se repetirá consecutivamente hasta el fin del juego.


Diseño

a) Las variables globales que se definieron son las siguientes: diccionario = {0:[]}, modo = 0, punteo = 0, no_palabra = 0, tiempo = 0, palabras_por_nivel = 6, long_palabra_primer_niv = 4, no_niveles = 4

b) El juego está definido por nueve funciones y variables globales, un ciclo while este se ejecuta tras haber llamado al función bienvenida, luego se entra a varios if que dependerán directamente de la instrucción que el usuaro ingrese, para pasar al ciclo while siemrpe y cuando sea verdero.

cargar_diccionario('es.txt')
bienvenida()

#Obtener input del usuario.
input = raw_input(">")

#Que vamos a hacer hoy?
if input == ':q':
salir()
if input == 'libre':
libre()
else:
aventura()

#Hora de tomar tiempo
tiempo = time.time()
#Hora de entrar al ciclo principal

while True:
#Obtener la siguiente palabra
palabra = siguiente_palabra()
print desordernar_palabra(palabra)

input = raw_input(">")

if input == ':q':
salir()
if validar_palabra(input, palabra):
punteo += 1
print u'¡Correcto!'
else:
print u'Buen intento, pero no es correcto. La palabra era: ', palabra

no_palabra += 1

c) Los módulos de python utilizados son módulo random que se utiliza con la función random.shuffel para desordenar las palabras en este caso y el de time el cual realiza una diferencia de tiempos siende tiempo inicial- tiempo final; definida pro time.time dado en segundos.

d) Las funciones empleadas son las siguientes: la primer función en definirse fue la que carga el diccionario que es un bloc de notas definido por la variable global, sí la persona no guardo en el lugar correcto se muestra en pantalla que revise si está en la misma carpeta que el juego; función validar otra palabra determina si la palabra esta en el diccionario y que letras debe de usar; la función desordenar ubica las letras de la palabra en la variable palabra de manera aleatoria; la función siguiente palabra escoge de las palabras en el diccionario y es donde se definen los niveles por un else cuando el usuario ingrese “enter”, de lo contrario sólo lee el if y coloca cualquier tipo de palabras; la función bienvenida le muestra al usuario las instrucciones a seguir para ejecutar el programa; la de ayuda le dice al usuario que las palabras son en español; la de salir muestra los resultados de la validación, mostrando el número de palabras que resolvió y el tiempo que se tardo; la función libre implica que el usuario va a ejecutar cuantas palabras sean media vez no se halla ingresado “:q”; la función aventura maneja el juego por medio de una serie de niveles cada vez son de mayor dificultad. Se inicia el ciclo con while llamando a la función bienvenida, sí el usuario ingresa “:q” el programa finaliza, “l “ se pueden resolver cualquier tipo de palabra, si no ingresa ningún símbolo entrara a la aventura.




Conclusiones:


*Python el cual es un intérprete, puede ser útil para programar juegos como Shangrila en su lenguaje empleando estructuras condicionales, de repetición y listas todas estas incluidas en funciones que se validan con variables.
*Los módulos que Python tiene establecidos permiten emplear ciertas funciones en los programas que este caso es Proyecto2.py. En el caso de este archivo se importaron 2 random (función random.shuffle) y time (función time.time).


Bibligrafía:

*Downey, A. 2002.
Think Python. Copyright © 2008 Allen Downey. Editorial Tea Press Lecciones del Programa Rurple, apartado Read and Learn. 2008.

*http://www.python.org

*http://docs.python.org/library/random.html
*http://docs.python.org/library/time.html