O jogo de virar as peças pode ser jogado para testar nossa memória. Neste, temos um certo número par de peças, em que cada número / figura tem um par. Os ladrilhos estão voltados para baixo e temos que virá-los para vê-los. Por sua vez, vira-se 2 peças; se as peças combinarem, são removidas. Caso contrário, eles são invertidos e colocados de volta na posição. Continuamos fazendo isso até que todas as peças tenham sido combinadas e removidas.

Para simular este jogo em Python, usaremos os módulos tartaruga e aleatório .

Abordagem:

  1. Importar tartaruga e módulo aleatório. Python oferece o módulo aleatório que pode gerar números aleatórios, e o módulo tartaruga está sendo usado para fazer diferentes objetos.
  2. Defina a tela e também escolha a cor de fundo da janela da tela de saída.
  3. Defina uma função para fazer um quadrado para a base do seu jogo.
  4. Defina uma função para manter uma verificação do número do índice.
  5. Defina uma função para tornar seu jogo amigável, ou seja, clique do usuário.
  6. Escreva uma função para desenhar ladrilhos na base quadrada definida na etapa 3.
  7. Finalmente, use a função shuffle() para embaralhar os números colocados nas peças quadradas da caixa quadrada.
from random import *
from turtle import *
screen = Screen() 
screen.bgcolor("yellow") 
  
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() 
def Numbering(x, y): 
    return int((x + 200) // 50 + ((y + 200) // 50) * 8) 
def Coordinates(count): 
    return (count % 8) * 50 - 200, (count // 8) * 50 - 200
  
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
  
shuffle(tiles) 
tracer(False) 
onscreenclick(click) 
draw() 
done() 

Resultado: