Advertisement
Guest User

juego de los emojis

a guest
Aug 4th, 2022
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.18 KB | None | 0 0
  1. import os
  2. from random import shuffle
  3. from guizero import App, Box, Picture, PushButton, Text
  4. # importa la función randint
  5. from random import randint
  6.  
  7. # Establece la ruta a la carpeta del emoji en tu computadora.
  8. emojis_dir = "emojis"
  9. # Crea una lista de las ubicaciones de las imagenes de los emojis.
  10. emojis = [os.path.join(emojis_dir, f) for f in os.listdir(
  11.     emojis_dir) if os.path.isfile(os.path.join(emojis_dir, f))]
  12. # Baraja los emojis
  13. shuffle(emojis)
  14.  
  15. def coincide_emoji(coincide):
  16.     if coincide:
  17.         resultado.value = "Correcto"
  18.     else:
  19.         resultado.value = "Falso"
  20.    
  21.     iniciar_ronda()
  22.        
  23.  
  24. def iniciar_ronda():
  25.     # Por cada una de las imagenes en la lista.
  26.     for imagen in imagenes:
  27.         # hace que la imagen sea un emoji aleatorio.
  28.         imagen.image = emojis.pop()
  29.  
  30.     for boton in botones:
  31.         # hace que la imagen dentro del botón sea un emoji aleatorio.
  32.         boton.image = emojis.pop()
  33.         # Establece el comando al que se llamará y se le pasa el valor de
  34.         # False ya que ninguno de estos emojis será el coincidente.
  35.         boton.update_command(coincide_emoji, [False])
  36.        
  37.     # escoge un nuevo emoji
  38.     emoji_coincidente = emojis.pop()
  39.  
  40.     # selecciona un número al azar entre el 0 y el 8
  41.     imagen_aleatoria = randint(0,8)
  42.     # change the image feature of the Picture with this index in the list of pictures to the new emoji
  43.     imagenes[imagen_aleatoria].image = emoji_coincidente
  44.    
  45.     boton_aleatorio = randint(0,8)
  46.     # change the image feature of the PushButton with this index in the list of buttons to the new emoji
  47.     botones[boton_aleatorio].image = emoji_coincidente
  48.     # Establece el comando al que se llamara, y le pasa el valor de True ya que este es el
  49.     # emoji coincidente.
  50.     botones[boton_aleatorio].update_command(coincide_emoji, [True])
  51.    
  52. def contador():
  53.     temporizador.value = int(temporizador.value) - 1
  54.     if int(temporizador.value) == 0:
  55.         # resetea el temporizador
  56.         temporizador.value = 30
  57.  
  58. # Inicia la apliación
  59. raiz = App("Juego de emojis")
  60.  
  61. resultado = Text(raiz)
  62.  
  63. # Crea una caja para albergar a las dos cuadriculas.
  64. caja_del_juego = Box(raiz)
  65. # Crea una caja que será el contenedor de las cuadrículas
  66. pictures_box = Box(caja_del_juego, layout="grid")
  67. # Crea una caja que será el contendor de los botones
  68. buttons_box = Box(caja_del_juego, layout="grid")
  69.  
  70. # Crea una lista vacia a la cual se añadirán las imagenes de los emojis.
  71. # Primero crearemos los objetos, los métemos en la lista y luego le añadimos
  72. # las imagenes.
  73. imagenes = []
  74. botones = []
  75. for x in range(0, 3):
  76.     for y in range(0, 3):
  77.         # Pone las imagenes en la lista.
  78.         imagen = Picture(pictures_box, grid=[x, y])
  79.         imagenes.append(imagen)
  80.         # Pone los botones en la lista.
  81.         boton = PushButton(buttons_box, grid=[x,y])
  82.         botones.append(boton)
  83.  
  84. # Añadir en las caracteristicas_adicionales
  85. caracteristicas_adicionales = Box(raiz)
  86. temporizador = Text(caracteristicas_adicionales, text="Preparado.")
  87.  
  88. iniciar_ronda()
  89.  
  90. # inicia el temporizador
  91. temporizador.value = 30
  92. temporizador.repeat(1000, contador)
  93.  
  94. raiz.display()
  95.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement