Flipping Tiles (juego de memoria) usando Python3

Se puede jugar al juego de voltear fichas para poner a prueba nuestra memoria. En este, tenemos un cierto número par de fichas, en el que cada número/cifra tiene un par. Las fichas están boca abajo y tenemos que voltearlas para verlas. En un turno, uno voltea 2 fichas, si las fichas coinciden, se eliminan. De lo contrario, se voltea y se vuelve a colocar en su posición. Seguimos haciendo esto hasta que todas las fichas hayan sido emparejadas y eliminadas.

Para simular este juego en Python, usaremos los módulos Turtle y Random .

Acercarse:

  1. Importar Turtle y módulo aleatorio. Python ofrece el módulo aleatorio que puede generar números aleatorios, y el módulo Turtle se usa para crear diferentes objetos.
  2. Configure la pantalla y también elija el color de fondo de su ventana de pantalla de salida.
  3. Define una función para hacer un cuadrado para la base de tu juego.
  4. Defina una función para controlar el número de índice.
  5. Defina una función para que su juego sea fácil de usar, es decir, haga clic en el usuario.
  6. Escribe una función para dibujar mosaicos en la base cuadrada definida en el paso 3.
  7. Finalmente, use la función barajar() para barajar los números colocados en los mosaicos cuadrados en el cuadro cuadrado.

Python3

# import modules
from random import *
from turtle import *
 
# set the screen
screen = Screen()
 
#choose background color
screen.bgcolor("yellow")
 
# define the function
# for creating a square section
# for the game
def Square(x, y):
    up()
    goto(x, y)
    down()
    color('white', 'green')
    begin_fill()
    for count in range(4):
        forward(50)
        left(90)
    end_fill()
 
# define function to
# keep a check of index number
def Numbering(x, y):
    return int((x + 200) // 50 + ((y + 200) // 50) * 8)
 
# define function
def Coordinates(count):
    return (count % 8) * 50 - 200, (count // 8) * 50 - 200
 
# define function
# to make it interactive
# user click
def click(x, y):
    spot = Numbering(x, y)
    mark = state['mark']
 
    if mark is None or mark == spot or tiles[mark] != tiles[spot]:
        state['mark'] = spot
    else:
        hide[spot] = False
        hide[mark] = False
        state['mark'] = None
 
def draw():
    clear()
    goto(0, 0)
    stamp()
 
    for count in range(64):
        if hide[count]:
            x, y = Coordinates(count)
            Square(x, y)
 
    mark = state['mark']
 
    if mark is not None and hide[mark]:
        x, y = Coordinates(mark)
        up()
        goto(x + 2, y)
        color('black')
        write(tiles[mark], font=('Arial', 30, 'normal'))
 
    update()
    ontimer(draw, 10)
 
tiles = list(range(32)) * 2
state = {'mark': None}
hide = [True] * 64
 
# for shuffling the
# numbers placed inside
# the square tiles
shuffle(tiles)
tracer(False)
onscreenclick(click)
draw()
done()

Producción:

Publicación traducida automáticamente

Artículo escrito por anshitaagarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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