Tutoriales no image

Publicado el 21-08-2005 | por admin

46

Programación de juegos en Python – Tutorial 1

En este tutorial vamos a tomar contacto con el lenguaje python, y hacer un jueguecito muy simple en modo consola.

El objetivo es que nos familiaricemos con el lenguaje y veamos el sistema de la mayoria de los juegos, esto es:
procesar -> mostrar -> interactuar -> procesar ….

La idea del juego es que el ordenador elije un numero y nosotros tenemos que adivinarlo en menos de los intentos que le digamos.
El ordenador nos dará pistas de si nuestro numero es mayor o menor que el secreto.

Como veis, es muy simple, apenas 20 lineas …

Podeis descargaros el código fuente de aquí: Código fuente tutorial 1


IMPORTAR LIBRERIAS
El primer paso es importar las librerias (o bibliotecas) que vayamos a necesitar, en este caso usaremos la libreria random, que nos da la posibilidad de generar números aleatorios (esto es una de las bases de los juegos, los números aleatorios, ya hablaremos de las semillas, y que no son tan “aleatorios” como parecen más adelante).
Esto se hace con la siguiente instrucción:

import random

Las sentencias acaban tal cual, nada de puntos y comas al final. (A los que vengan de otros lenguajes les costará acostumbrarse a esto).


LA FUNCIÓN MAIN
Para ser clásicos y ordenados, crearemos una función main, que es la principal del programa, la que realizará todas las tareas.
Es conveniente acostumbrarse a trabajar con funciones, para tener mas abstracción, esto es, dividir el problema grande en problemas más pequeños (divide y vencerás).

En este juego solo vamos a usar la función principal (main).

Las funciones se definen de la siguiente manera:

def main():
    # Esta es la funcion principal

#Esto no está dentro de la funcion principal
if __name__ == '__main__': main()

Aquí viene una de las carácteristicas de python, y es que no usa llaves para englobar, usa código sangrado.
Así definimos la función con def, luego el nombre de la funcion, despues dos puntos, y todo lo que esté sangrado pertenecerá a la función.

Todo lo que empiece por almuadilla (#) será interpretado como comentario y no vale más que para informar a quién lo lea.

La ultima instrucción es un truco para que se ejecute el main si todo va bien.


EMPEZAMOS EL DESARROLLO
Dentro de la función main, cambiamos el comentario por el siguiente código:

def main():

    numero_secreto = random.randint(1, 60)
    print "nTienes que adivinar un numero !!!!nEn cuantos intentos crees que lo conseguiras?"
    intentos = input("Introduce numero de intentos: ")
    print "Bien asi que lo haras antes de ", intentos, " intentos ...nA ver si es verdad !!n"
    acertado = 0
    cont=1

En la primera instrucción generamos un número aleatorio y entero entre 1 y 60 y lo guardamos en la variable numero_secreto.

Informamos al usuario mediante la función print. Todo lo que vaya entre comillas aparecera en pantalla, y el retorno de carro es n.

En la tercera instrucción le pedimos al usuario que nos de el número de intentos que tendrá y lo guardamos en la variable intentos.
NOTA: no pongais ningún caracter de salto de linea en la función input, o no funcionará.

Por último mostramos al usuario el numero de intentos y lo retamos a jugar.
Cabe destacar que para mostrar una varible en la funcion print hay que separar por comas la función.

La función print es mucho, pero muho más completa de lo que parece, al igual que input y su hermana gemela raw_input, estaría bién echarles un ojo …

Por último decimos que aún no lo ha acertado (acertado=0) y que va a realizar el primer intento (cont=1)


EL BUCLE PRINCIPAL
Este es el nucleo del juego, donde se realiza lo principal, vamos a ver el código:

while (not acertado and cont< =intentos):     print "nIntento numero ", cont     num_user = input("Introduce un numero (entre 1 y 60): ")     if(num_user == numero_secreto):
        acertado=1
        break
    elif(num_user > numero_secreto):
        print "nEl numero secreto es MENOR que " , num_user
    elif(num_user < numero_secreto):         print "nEl numero secreto es MAYOR que " , num_user
    cont = cont + 1

Es un bucle while, que significa “mientras”, en este caso su tradución sería:
Mientras no lo haya acertado y el numero de intentos sea menor o igual a los que dijo, haz …

Y se repetirá una y otra vez hasta que pase alguna de las condiciones de salida.

Luego se informa al usuario de los intentos que lleva y le pedimos un nuevo número.

Ahora comparamos el número que nos ha dado con el secreto mediante la sentencia if (que se traduce como: SI “condicion”, haz …).
Si ha adivinado el número marcamos que ha acertado y utilizamos la sentencia break, que se encarga de parar el bucle que la contiene y salir (en este caso no haría falta, pero es necesario conocerla para evitar los “bucles infinitos sin control”).
La siguiente sentencia solo se ejecuta si no es correcta la de arriba, asi, si no es el numero secreto, miro si es mayor, y si lo es informo al usuario, sino, miro si es menor (aunque por lógica no haga falta) he informo al usuario.

Por último aumento el numero de intentos.
Y volveriamos al while … mostrar -> interactuar -> procesar -> mostrar …


GAME OVER
Si ha salido del bucle puede ser por dos motivos, que haya acertado el número, o que se le hayan acabado los intentos, vamos a ver cómo sabemos que ha ocurrido …


if(acertado):
    print "nGUUAAAUUU !!!! Lo acertaste !!!nn El numero secreto era " , numero_secreto
    print "nn Gracias por jugar !!!"
else:
    print "nOOOOHHHHHH !!!! Lo siento, pero NO has acertado ...nEl numero secreto era " , numero_secreto
    print "nn Gracias por jugar !!!"

Simple, miramos si ha acertado, y si es asi, mostramos mensaje de ganador, sino, mensaje de perdedor.


NOTAS FINALES
Para los que ya hayan programado les habrá parecido muy simple, muy básico, pero era necesario un juego en consola para acostumbrarnos un poco a python, pero ya no habrá más juegos por consola, los siguientes seran en sdl (pygame).

ESTE JUEGO NO ESTA TERMINADO …
Si quereis practicar un poco mientras salen nuevos tutoriales, podeis probar las siguientes mejoras:

– Cuando se acaba el juego, el jugador podría querer volver a jugar, ¿podrias solucionar eso?
– Como todo programa informático, este script tiene bugs, y uno de ellos es que si en vez de insertar un número, introducimos una cadena (tu nombre, por ejemplo) el programa peta (petar es que no va, que se rompe). ¿Podrias solucionar esto? ( Vendría bién mirar la función type() … quizas te sirva de algo).


Como siempre, cualquier error, corrección y mejora serán bienvenidos.


Sobre el autor



46 respuestas a Programación de juegos en Python – Tutorial 1

  1. falcon-k says:

    Estoy deseando echarle un vistazo a la próxima entrega, aunque espero vaya un poco más cargadita ;D

  2. urizuka says:

    No esta mal para ser la primera entrega i el primer contacto con el lenguaje, aunque como bien dices, esto es algo bastante basico que, si has programado alguna vez, es lo primero que programas. A ver que tal el Proximo Capitulo, SDL. Esto se puede poner interesante…

    Saludos 😉

  3. Leon says:

    Pues yo antes de nada echaría un ojo por aquí para aprender más o menos cómo vá esto del python, porque así en frío, hay cosas que pueden no entenderse. =) Me parece una iniciativa muy interesante ésto de enseñar a programar para juegos y espero que el tutorial no se quede sólo en sdl, y se enseñe algún aspecto en el que se pueda tirar de algo más avanzado, del tipo cliente/servidor o algo así. =P Estaría bien que un servidor pensara un número y entre 3 o 4 haya que acertarlo el primero. Tampoco estaría mal sacar con otro .py el número que ha pensado el .randint, o cosas así.

  4. Jaime says:

    ¡Genial! Tenía ganas de aprender Python, así que me parece una buena manera, mediante juegos.

    Por cierto, hay algunas faltas tipográficas y una negrita sin cerrar a medio camino…

  5. Pingback: moeblog

  6. Rodrigo says:

    EL PATETICO PYTHON

    De python se dice:
    “El mejor lenguaje de programacion que se ha podido crear”
    “Es como debiera ser java”
    “El reemplazo de Perl”
    “El lenguaje script perfecto”

    Si es tan bueno como dicen, porque para el entorno grafico debe llamar a otro lenguaje de programacion para que le ayude a hacer lo que el no puede por si solo?

    Es como si el GUI de Java necesitara de VB para hacer las aplicaciones de su maquina virtual.

    Se que Python es script, y que TCL tambien lo es, acepto que usen librerias compiladas en C/C++ porque ninguno de ellos por si mismo compila, se que python inicio antes que TCL y que es mas rapido y robusto, pero deja mucho que desear el que las versiones libres de python que se consiguen traigan dentro al lenguaje TCL.

    Es como si para que funcionara Linux, necesitara arrancar primero FreeBSD.

    Para mi Windows sigue siendo un gestor de ventanas sobre DOS, que aunque hayan intentado ocultarlo, ni siquiera han podido hacer un instalador de WIndows sin DOS incluido.

    No hay alguna API grafíca que haya sido hecho en python propiamente, y que se pueda añadir al python sin que dependa de otros lenguajes??

  7. dvl says:

    Rodrigo, python es un lenguaje más, y como programador lo veo como una herramienta, me vale para algo determinado, si no te gusta, no te es cómodo o es “eticamente incorrecto” usas otro (esto es lo bueno de la diversidad), verás que todos en el fondo son iguales y todo depende del uso que le vayas a dar.

    Y he de admitir que para aprender a hacer juegos va de maravilla, facil, sin problemas de compilación, multiplataforma, si vamos a hacer juegos en 2D que “cualquier hardware” puede soportar … ¿Para que queremos un destornillador de 100 € si con el de 1 € podemos apretar el tornillo sin problema?

    Al fin y al cabo, esto es un tutorial para aprender a programar juegos, y no para aprender a programar en python.

  8. Antoine says:

    Para poder escribir correctamente en castellano, esto es para poner acentos y demás, hay que poner:

    # -*- coding: iso-8859-1 -*-

    En la primera o segunda línea del fichero adivinaNumero.py

    La información completa se puede consultar en:

    http://www.python.org/peps/pep-0263.html

    Un saludo.

  9. dvl says:

    Muchas gracias Antoine, lo probaré en el siguiente.

  10. Done says:

    parece que a Rodrigo no le gusta nada, este no sabe ni lo que quiere, para que se mete en cosas que no le agradan, mira he probado python y me va de perlas, no más que tengo excusas con mi distro de suse por no contar con ERIC ni BOA pero así le jalo con kdevelop o otro IDE, aquí estamos para colaborarnos y corregirnos linux es un sistema genial, a pesar de que guindos nos gane la partida con la aceleración disponible para los juegos, pero como sabemos eso no es culpa de los programadores de LInux sino de los capitalistas ingenieros que crean las tarjetas 3D y los videojuegos.
    cuando comprenderan que la sociedad tiene que ser libre. amén.

  11. Pachecon says:

    Amen hermano (XD)

    mmm,,, al parecer yo sobro aqui… …uso windows….

    Pues esto de los tutoriales esta vien, todavia no cheko los demas, pero espero ver alguno donde muestre como hacer un rpg o algo por el estilo.

  12. HIPOLITO says:

    SOY MUY NUEVO EN ESTO, NUNCA HABIA VISTO A PYTHON, PERO EL EJEMPLO ES EXCELENTE, MUY ILUSTRATIVO
    FELICIDADES.

  13. David Snake says:

    – Cuando se acaba el juego, el jugador podría querer volver a jugar, ¿podrias solucionar eso? esto como se hace?? esque lo he intentao pero no me sale

  14. karrigan says:

    facil al final de todo pones la funcion inicial que guarda todo el proceso osea main() y taran!!!!
    el programa corre again =) lo estoy haciendo con algunas modificaciones las hare pequeñas para q el programa valla creciendo ^^ ok? 😛

  15. karrigan says:

    por cierto me refiero a la pregunta ” Cuando se acaba el juego, el jugador podría querer volver a jugar, ¿podrias solucionar eso? esto como se hace?” 😀

  16. ZladMat says:

    Respondiendo a la primera pregunta:

    […]
    kkk = raw_input(‘¿Quieres volver a intentarlo (s/n)? ‘)
    if kkk == ‘s’:
    main()
    else: pass

    A lo segundo, simplemente tienes que tratar el raw_Imput como si preguntara por una cadena de caracteres, así que para que no de errores hay que anidarlo en str:

    str(raw_input(‘Nº de intentos: ‘))
    […]

    Y problema solucionado.

  17. ZladMat says:

    Perdón, la segunda respuesta no es del todo correcta; si bien con str no da error, no se puede operar con la variable que la define, que es “intentos”.

    Así que, en mi opinión, lo mejor es algo como:

    intentos = input(”Introduce numero de intentos: “)
    if type(intentos) == int: pass
    else:
    print ‘Esto no es ningún numero’

  18. bichotll says:

    me gusta el tuto, si kereis aprender python muy rapidamente pasaros por esta pagina, de aqui aprendi:
    http://www.freenetpages.co.uk/hp/alan.gauld/spanish/
    Learning to program

    GRACIAS

  19. alex says:

    el link para bajar el codigo fuente no funciona

  20. ctm says:

    python es una huevada

  21. Giancarlo velasquez valmori says:

    ESTOIY LEYENDOE STO Y ESTA ABURRIDO ALEX SE COPIO ESTO Y NO LE FUNCIONO JEJE

  22. Dokan says:

    … como ejecuto el juego???

  23. Uno says:

    Para Dokan: en Linux, guarda el código fuente en AdivinaNumero.py, abre una consola en esa carpeta y escribe python AdivinaNumero.py

    En Windows, no me acuerdo, supongo que tienes que guardar el fuente y ejecutarlo desde el IDE (creo)

  24. Dokan says:

    he conseguido q funcione retocando algunas cosillas (por cierto, el link al archivo con el código fuente no va…)
    respecto al comentario de Antoine, yo he solucionado el tema de los acentos y eñes poniendo por consejo de minid en este post :
    #!/usr/bin/python
    # -*- coding: utf-8 -*-

    el problema es que todavía no consigo que no pete cuando se le da una cadena en vez de un número, seguí los cosejos de ZladMat, aunque como no funcionaba cambié el if por un while:
    while type(intentos) int:
    print “Esto no es ningún número!!!n Vuelve a intentarlo….nIntroduce número de intentos: ”

    pero sigue sin funcionar y no se muy bien que más puedo intentar, (soy novato!!!)
    algún consejo más???
    gracias por el tuto
    un saludo

  25. NIcolas says:

    Hola, me gusto mucho pero le falto algo, quisiera saber como hago ahora para guardar lo que hice y probarlo despues

  26. Xil says:

    Es facil, copia el programa en un editor de textos, vi, joe, el bloc de notas, el que mas te guste. Guardalo con la extensión “.py” y siempre que quieras lo podras modificar o ejecutar. Por si acaso, para ejecutar un modulo es F5.
    Un saludo

  27. Luis says:

    Me temo que el enlace del código fuente no funciona, a ver si podéis subirlo de nuevo pronto ^__^. Muchas gracias por este tutorial. Hace tiempo que dejé un proyecto en Fenix con el que estaba muy ilusionado y espero que con Pygame pueda avanzarlo un poco 🙂

  28. aaron says:

    soy nuevo en esto quise aprender programacion y me intereso python porq dice q es mas funcional pero no lo entiendo nada!!
    para hacer paginas webs y quiero poner algo en la parte superir digamos, dice q le pongamos algo entre las plantillas pero en el caso de python no se usa la misma forma y por eso no lo entiendo y quiero q alguien me allude para poder entenderlo, quiero aser juegos y porgramas pero no tengo idea de como desarrollar lo q se porfas alludenme!!!

    aaron_1030@yahoo.com aaron-1030@hotmail.com aaron1030@gmail.com

  29. Juan Oviedo says:

    Hola, me gustó mucho este primer tuto, voy a probar con los otros 😀
    El tema de preguntar al usuario si desea seguir jugando lo solucioné “envolviendo” todo el programa en un ciclo q se ejecuta mientras el usuario no desee salir.
    El error que tira cuando se ingresa una letra en los lugares en que se pide un número lo traté con excepciones (aunq tuve q investigar un poco para eso ya que no está tratado en el tuto).

    Suerte.

  30. hijodeanubis says:

    Acabo de empezar a programar y empeze con python por ser facil de usar, pues dejo aqui el codigo con algunas mejoras haber si les agrada si alguien conoce una forma de hacerlo mejor(me refiero a mas rapido, mas corto, mas legible) por favor escribanme a hijodeanubis@gmail.com

    A modo de ejercicio seria bueno encapsular los ‘try: ; except ValueError’ en una funcion para acortar el codigo pero sinceramente lo intente y no pude, o pedir al usuario que escoja si quiere el poner los limites o que se genere el numero de manera “aleatoria”(me refiero a que el no ponga los limites).

    import random

    def main():
    “””Este es un juego para adivinar numeros de x a y”””

    print “””En este juego tendras que adivinar un numero que se encuentra
    entre valor inicialy valor final; valores introducidos por ti.
    (Solo numeros enteros positivos)n”””

    while 1:
    try:
    valor_inicial = int(raw_input(‘Escribe al valor inicial: ‘))
    break
    except ValueError:
    print ‘Por favor solo numeros, Prueba otra vez…..’

    while 1:
    try:
    valor_final = int(raw_input(‘Escribe el valor final: ‘))
    break
    except ValueError:
    print ‘Por favor solo numeros, Prueba otra vez….’

    numero_secreto = random.randint(valor_inicial,valor_final)
    print’nEn cuantos intentos crees lograrlo?’
    while 1:
    try:
    intentos =int(raw_input(‘Introduce numero de intentos: ‘))
    break
    except ValueError:
    print ‘Por favor solo numeros, Prueba otra vez….’
    print’nBien, asi que lo haras antes de’, intentos,’intentos’
    acertado = 0
    contador = 1

    while (not acertado and contador numero_secreto:
    print’nEl numero secreto es MENOR que ‘, numero_de_usuario
    elif numero_de_usuario < numero_secreto:
    print’nEl numero es MAYOR que ‘, numero_de_usuario
    contador = contador + 1

    if acertado:
    print ‘nBIEN!!!!! Lo acertaste!!!!! =)nnEl numero secreto es: ‘, numero_secreto
    print ‘Gracias por jugar’
    else:
    print’nNOOO!!! Lo siento, perdistennEl numero secreto era: ‘, numero_secreto
    print’Gracias por jugarn’
    otra = raw_input(‘nQuieres intentarlo otra vez s/n ?’).lower()
    if otra == ‘s’:
    main()
    else:
    print ‘Adios’

    if __name__ == ‘__main__’:main()

  31. hijodeanubis says:

    oye no se concerbo el codigo como lo tenia . la identacion no es correcta.
    por favor indenten el programa

    import random

    def main():
    “””Este es un juego para adivinar numeros de x a y”””

    print “””En este juego tendras que adivinar un numero que se encuentra
    entre valor inicialy valor final; valores introducidos por ti.
    (Solo numeros enteros positivos)n”””

    while 1:
    try:
    valor_inicial = int(raw_input(‘Escribe al valor inicial: ‘))
    break
    except ValueError:
    print ‘Por favor solo numeros, Prueba otra vez…..’

    while 1:
    try:
    valor_final = int(raw_input(‘Escribe el valor final: ‘))
    break
    except ValueError:
    print ‘Por favor solo numeros, Prueba otra vez….’

    numero_secreto = random.randint(valor_inicial,valor_final)
    print’nEn cuantos intentos crees lograrlo?’
    while 1:
    try:
    intentos =int(raw_input(‘Introduce numero de intentos: ‘))
    break
    except ValueError:
    print ‘Por favor solo numeros, Prueba otra vez….’
    print’nBien, asi que lo haras antes de’, intentos,’intentos’
    acertado = 0
    contador = 1

    while (not acertado and contador numero_secreto:
    print’nEl numero secreto es MENOR que ‘, numero_de_usuario
    elif numero_de_usuario < numero_secreto:
    print’nEl numero es MAYOR que ‘, numero_de_usuario
    contador = contador + 1

    if acertado:
    print ‘nBIEN!!!!! Lo acertaste!!!!! =)nnEl numero secreto es: ‘, numero_secreto
    print ‘Gracias por jugar’
    else:
    print’nNOOO!!! Lo siento, perdistennEl numero secreto era: ‘, numero_secreto
    print’Gracias por jugarn’
    otra = raw_input(‘nQuieres intentarlo otra vez s/n ?’).lower()
    if otra == ‘s’:
    main()
    else:
    print ‘Adios’

    if __name__ == ‘__main__’:main()

  32. zertex says:

    los codigos fuentes no salen

    xao

  33. zertex says:

    perdon por la tontera q escribi antes

  34. zertex says:

    olas yo uso windows y linux
    pero queria preguntar q si sirve para windows????

    graxx

  35. zertex says:

    ola denuevo me pase todo el dia aciendo esto son adivinanzas en ms dos no es muy bueno ni nada por el estilo como e dcho soy principiante jeje aqui lo dejo (lo hice en windows:

    print ” pulse una opcion ”
    print ” 1) adivinanzas ”

    var = raw_input(“opcion: “)

    if (var == ‘1’):
    print ” adivinanza adivinanza que tiene el rey en la panza ”

    print” a) el ombligo ”
    print” b) un anillo ”
    print” c) comida ”
    print” d) nada ”

    var = raw_input(“opcion: “)

    if (var == ‘a’):
    print ” correcto ”
    elif (var == ‘b’):
    print ” incorrecto”
    elif (var == ‘c’):
    print ” incorrecto ”
    elif (var == ‘d’):
    print ” icorrecto ”

    raw_input()

    print” pulse 1 para otra adivinanza ”

    var = raw_input(“opcion: “)

    if (var == ‘1’):
    print ” oro no es plata no es que es ”

    print ” a) papel ”
    print ” b) plata ”
    print ” c) oro ”
    print ” d) platano ”

    var = raw_input(“opcion: “)

    if (var == ‘a’):
    print ” icorrecto ”
    elif (var == ‘b’):
    print ” incorrecto ”
    elif (var == ‘c’):
    print ” incorrecto ”
    elif (var == ‘d’):
    print ” correcto ”

    raw_input()

    print” pulse 1 para otra adivinanza ”

    var = raw_input(“opcion: “)

    if (var == ‘1’):
    print ” cual el la mitad de uno ”

    print ” a) 0.5 ”
    print ” b) el ombligo ”
    print ” c) 2 ”
    print ” d) los pies ”

    var = raw_input(“opcion: “)

    if (var == ‘a’):
    print ” icorrecto ”
    elif (var == ‘b’):
    print ” correcto ”
    elif (var == ‘c’):
    print ” icorrecto ”
    elif (var == ‘d’):
    print ” icorrecto ”

    raw_input()

  36. anonimoc says:

    cuelgen los codigos fuentes de nuevo por favor

  37. leo durandal says:

    Disculpa las molestias pero si podrían colgar otra vez el código sería bueno.

    Saludos 😉

  38. hackchan says:

    hola amigo que paso con las 6 entregas del curso de video juegos en python
    ?????
    bueno para los que hasta ahora entan empezando este curso aqui le dejo una version mia

    ojo !!! esta en python 3

    juego adivina.py
    —————–

    import random
    #hackchan
    #write fabiorojas7@gmail.com
    #python 3
    def main():
    secreto = random.randint(1,60)
    print (“cuantos intentos podras lograrlo”)
    intentos = int (input (“> “))

    while True:

    print (“Adivinina Numero:”)
    entrada = int(input(“> “))

    if intentos secreto:
    print (“El numero es menor”)

    elif entrada 0:
    print (“Felicidades adivino y aun tenia %i” % (intentos))

    else:
    print (“Perdio !!! se agoto sus intentos el numero era:%i” % (secreto))

    if __name__ == “__main__”:main()

    espero que ustedes hagan sus propias versiones y la suban

    write by:hackchan

  39. zertex says:

    hola denuevo ya estoy mas especializado en python, estoy creando un mini os y le quiero poner juegos pero no se como ??? eso es

    zertex

  40. Stendall says:

    zertex, dedicate al cultivo del champiñon.
    Desde ya te digo que programando no te vas a ganar la vida, ever!.

  41. hola denuevo ya estoy mas especializado en python, estoy creando un mini os y le quiero poner juegos pero no se como ??? eso es

  42. Vangelis says:

    Python es muy bueno, y este tutorial esta agradable, panda 3d es un motor de juegos 3d que usa python, y para hacer un juego en 3d con este motor todo se hace mucho mas facil, en un tiempo record tienes algo llamativo. y conozco gente que lo usa para crear juegos para nintendo wii.

  43. yigcjhzb says:

    qero divertirme qero jugar rei cantar nose qero entretenerme

  44. dark-Soul says:

    Utilizo phyton 3.3.2, y no se si es por la version, pero estos codigos me dan error, y los estoy corrigiendo a mano, cuando los tenga listos en 3.3.2 los pego por aqui

  45. Ahynoa says:

    he utilizado python en un juego que modifique y bueno me gusto mucho por su facilidad.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Back to Top ↑