Skip to content

JVMoreiraD/logicomp

 
 

Repository files navigation

logicomp

Projeto 1: Campo Minado

Trabalho para a cadeira de logica para computação

Alunos: João Vitor Moreira Duarte & Paulo Henrique Tavares Bulcão

Premissa do Projeto

Campo Minado é um jogo em que o objetivo é limpar uma grade sem detonar nenhuma mina. O jogador é apresentado inicialmente com uma grade de quadrados indiferenciados. Alguns quadrados selecionados aleatoriamente, desconhecidos pelo jogador, são designados para conter minas. Normalmente, o tamanho da grade e o número de minas são definidos previamente pelo usuário, digitando os números ou selecionando os níveis de habilidade definidos, dependendo da implementação. O tamanho da grade geralmente é selecionável pelo usuário como uma maneira de ajustar o nível de dificuldade.

O jogo é jogado revelando quadrados da grade através de cliques. Se um quadrado contendo uma mina for revelado, o jogador perde o jogo. Se nenhuma mina for revelada, um dígito será exibido no quadrado, indicando quantos quadrados adjacentes contêm minas; se não houver minas adjacentes, o quadrado ficará em branco. O jogador usa essas informações para deduzir o conteúdo de outros quadrados e pode revelar com segurança cada quadrado ou marcar o quadrado como contendo uma mina."""

O objetivo deste projeto é implementar programa para descobrir posições de minas. Dado um tabuleiro intermediário durante um jogo (ou seja, um tabuleiro com alguns quadrados revelados indicando o número de minas adjacentes), o programa deve dizer qual dos quadrados não revelados deve necessariamente conter uma mina e qual dos quadrados não revelados não pode ter mina. Para facilitar, você pode assumir que o campo tem no máximo 3 minas. """

A entrada pode ser pode um arquivo ou direto no código. A entrada a partir de um arquivo possui apenas valores inteiros separados por espaços em branco. A primeira linha contém dois valores n, m representando o tamanho da grade (n linhas, m colunas). Depois disso, n linhas com m inteiros cada seguem. Se o inteiro na posição (i, j) for -1, significa que é um quadrado não revelado. Se for um 0 <= k <= 3, significa que é um quadrado revelado e k de seus vizinhos são minas.

Exemplo de entradas:

  • Lista_1:

      [[-1, -1, -1, -1],
      [-1, -1, -1, -1],
      [-1,  1,  1,  1],			
      [-1,  1,  0,  0]]
    
  • Lista_2:

      [[ 0,  0,  1, -1],
      [  1,  1,  1, -1], 
      [ -1,  2,  1,  1],
      [ -1,  2,  0,  0]]
    
  • Lista_3:

      [[ 0,  1,  -1, -1],
      [  0,  2,  -1, -1],
      [  0,  2,  -1,  3],
      [  0,  0,   0,  0]]
    

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%