Log In  


  • item 1

    Inicializar o tabuleiro vazio (8x8)

    tabuleiro = criar_tabuleiro(8, 8)

Gerar as primeiras 3 peças

pecas = gerar_pecas_iniciais()

Variáveis de controle

pontuacao = 0
fim_do_jogo = False

  • item 2
    def criartabuleiro(linhas, colunas):
    return [[' ' for
    in range(colunas)] for _ in range(linhas)]

  • item 3
    def gerar_pecas_iniciais():

    Definir os formatos das peças (por exemplo, L, T, quadrado, linha)

    pecas_possiveis = [
    [(0, 0), (0, 1), (0, 2)], # Linha reta
    [(0, 0), (1, 0), (2, 0)], # Linha reta vertical
    [(0, 0), (1, 0), (1, 1)], # L
    [(0, 0), (0, 1), (1, 1)] # T
    ]
    return [random.choice(pecaspossiveis) for in range(3)]

  • item 4
    def posicionar_peca(tabuleiro, peca, linha, coluna):
    for (dx, dy) in peca:
    if tabuleiro[linha + dx][coluna + dy] != ' ':
    return False # A peça não pode ser colocada aqui (colisão)

    Se não houver colisão, coloque a peça no tabuleiro

    for (dx, dy) in peca:
    tabuleiro[linha + dx][coluna + dy] = 'X'

    return True

  • item 5
    def eliminar_linhas(tabuleiro):
    linhaseliminadas = 0
    for i in range(len(tabuleiro)):
    if all(celula != ' ' for celula in tabuleiro[i]):
    tabuleiro[i] = [' ' for
    in range(len(tabuleiro[i]))]
    linhas_eliminadas += 1
    return linhas_eliminadas

  • item 6
    def gerar_novas_pecas():
    return [random.choice(pecaspossiveis) for in range(3)]

  • item 7
    def verificar_fim_do_jogo(tabuleiro, pecas):
    if any(posicionar_peca(tabuleiro, peca, 0, 0) == False for peca in pecas):
    return True
    return False

  • item 8
    def jogo():
    tabuleiro = criar_tabuleiro(8, 8)
    pecas = gerar_pecas_iniciais()
    pontuacao = 0

    while not fim_do_jogo:
    for peca in pecas:

    Simula a entrada de posicionamento de peça (entrada do jogador)

        linha, coluna = obter_posicao_desejada(peca)
    
        if posicionar_peca(tabuleiro, peca, linha, coluna):
            pontuacao += eliminar_linhas(tabuleiro)  # Elimina linhas
            pecas = gerar_novas_pecas()  # Gera novas peças
            fim_do_jogo = verificar_fim_do_jogo(tabuleiro, pecas)  # Verifica se o jogo acabou
    
            if fim_do_jogo:
                print("Fim do Jogo! Pontuação final:", pontuacao)
                break
  • item 9
    def obter_posicao_desejada(peca):

    Exemplo de função que simula a entrada do jogador (linha, coluna)

    Aqui seria a interface do jogo, por exemplo com um toque ou arraste.

    linha = random.randint(0, 7)
    coluna = random.randint(0, 7)
    return linha, coluna




[Please log in to post a comment]