# Campo minado

Campo minado é um popular jogo de computador para um jogador. Foi inventado por Robert Donner em 1989 e tem como objectivo revelar um campo de minas sem que alguma seja detonada. Este jogo tem sido reescrito para as mais diversas plataformas, sendo a sua versão mais popular a que vinha nativamente nas edições anteriores ao Windows 10.

## Regras

A área de jogo consiste num campo de quadrados retangular. Cada quadrado pode ser revelado clicando sobre ele, e se o quadrado clicado contiver uma mina, então o jogo acaba. Se, por outro lado, o quadrado não contiver uma mina, uma de duas coisas poderá acontecer:
* Um número aparece, indicando a quantidade de quadrados adjacentes que contêm minas;
* Nenhum número aparece. Neste caso, o jogo revela automaticamente os quadrados que se encontram adjacentes ao quadrado vazio, já que não podem conter minas;
O jogo é ganho quando todos os quadrados que não têm minas são revelados.
Opcionalmente, o jogador pode marcar qualquer quadrado que acredita que contém uma mina com uma bandeira, bastando para isso clicar sobre ele com o botão direito do mouse. Em alguns casos, carregar com ambos os botões do mouse num número que contenha tantas bandeiras imediatamente à sua volta quanto o valor desse número revela todos os quadrados sem bombas que se encontrem adjacentes a ele. Em contrapartida, o jogo acaba se se efectuar essa acção quando os quadrados errados estiverem marcados com as bandeiras.
Algumas versões do campo minado ajudam o jogador, na medida em que nunca colocam uma mina no primeiro quadrado clicado, como a maioria dos programas, ou sempre deixam uma abertura no primeiro clique, como ocorre na versão do Windows Vista.

## Análise do jogo
### Padrões de problemas e solução

Durante o andamento do jogo, existem diversos padrões de quadrados numerados que permitem somente uma determinada configuração de minas. A fim de terminar o jogo tão cedo quanto possível, É preferível processar tais padrões primeiramente, e continuar analisando padrões mais complexos posteriormente. Existem diversos métodos para resolver problemas do jogo sem contar com o o uso de adivinhação.

#### Análise de um quadrado

Quando o número de quadrados não descobertos ao redor de um quadrado numerado é igual ao número sendo mostrado, todos os quadrados adjacentes são minas. Em contrapartida, quando o número de quadrados com minas descobertas ao redor de um quadrado numerado é igual ao número sendo mostrado, quaisquer outro quadrado adjacente não possui mina, está seguro.

#### Análise de dois quadrados

Com dois números de um campo minado, denominados $x$ e $y$, existem três áreas distintas no campo: a) minas ao redor de tanto $x$ e $y$, b) minas ao redor de $x$ somente e c) minas ao redor de $y$ somente. Esse método de análise funciona melhor quando os quadrados relativos a $x$ e $y$ são adjacentes, mas também pode ser usado em outras situações. Sabe-se que o número de minas exclusivas a $x$ menos o número de minas exclusivas a $y$ é igual a $x-y$, o que pode ser usado para marcar bandeiras em minas ou descobrir quadrados seguros.

#### Análise de minas compartilhadas

Suponha que o campo possui um número "35" descoberto. De alguma forma descobre-se que dois quadrados adjacentes ao "1" compartilham uma mina. Isso significa que todos os outros quadrados adjacentes ao "1" são seguros, exceto pelos dois que compartilham a mina.

#### Análise final

Usada no final do jogo, ela pode ser usada para descobrir um quadrado seguro quando todos os outros do campo são ou seguros ou marcados como minas. Geralmente, tais quadrados finais estão localizados nas paredes do campo. Em algumas versões do jogo, a quantidade de minas presentes no campo é conhecida. Perto do final do jogo quase todos os quadrados já foram descobertos, e saber a quantidade de minas restantes (ainda não descobertas) pode ser útil para resolver o padrão final do jogo.

### Adivinhação às vezes é quase que necessária

O jogo nem sempre é solucionável sem adivinhação. considere a seguinte situação:
O jogador deve adivinhar em qual dos quadrados marcados com o ponto de interrogação está localizada a mina. Outro caso que demonstra a necessidade de adivinhação é aquele onde um quadrado não descoberto é completamente rodeado por minas com número "1", ou quando há uma combinação de minas e o perímetro do campo de jogo. Nesse caso, já que nenhum número rodeia o quadrado não descoberto, o jogador não possui informação sobre o conetúdo do quadrado. Entretanto, há uma estratégia para remediar a situação que evita a adivinhação: continuar jogando e ignorar o quadrado que requer adivinhação.

### NP-completude

Em 2000, Kaye publicou a prova de que o jogo é NP-completo para determinar se uma posição no campo minado é consistente com a marcação de minas. Atualmente, o campo minado é mencionado pelo Clay Mathematics Institute na descrição não oficial do problema P versus NP.

## Melhores tempos
### Recordes segundo o site Authoritative Minesweeper

Estabelecidos limites para a configuração das minas no jogo, os recordes oficiais atualmente podem ser demonstrados apenas através de vídeos e programas confiáveis. A tabela a seguir mostra os recordes mundiais em cada nível clássico, reconhecidos pelo site Authoritative Minesweeper.
| Modo | Tempo (s) | Atingido por | Data |
| Principiante | 0.28 | Victor Yazigi Saliba - Brasil | 01 de março de 2023 |
| Intermédio | 7,03 | Kamil Muranski - Polônia | 11 de outubro de 2012 |
| Especialista | 31,13 | Kamil Muranski - Polônia | 3 de julho de 2010 |
Tabela atualizada em 29 de outubro de 2022
Para o recorde de 1 segundo, há uma grande variedade de tempos exatos alcançados pelos jogadores, tanto os mais experientes quanto os menos experientes. Há um limite estabelecido, porém, que invalida o recorde no principiante quando o jogo pode ser resolvido num único clique. Como as variações do campo minado reconhecidas pelo site Authoritative Minesweeper iniciam o cronômetro a 1,000 segundo, os recordes oficiais para o modo principiante, no ranking mundial, são sempre maiores que esse tempo, embora muitos jogadores consigam o tempo exato de 1 segundo. Além disso, para o modo principiante, só é aceito pelo site Authoritative Minesweeper o recorde no tabuleiro 8X8, sendo inválido o principiante 9X9, que surge na versão do Windows XP.

## Códigos de trapaça

Em algumas versões Microsoft Windows, excepto o Windows XP, o ficheiro winmine.ini contém as informações da tabela de recordes. Assim, é possível editar este ficheiro, e, portanto, falsificar os recordes atingidos.
Um outro código pode ser usado para parar o contador. Para o utilizar, depois do contador ter começado a contar o tempo, deve-se pressionar simultaneamente o botão direito e esquerdo do mouse e a tecla Escape (ESC).
Alternativamente o contador pode ser parado a qualquer altura. Para que isto aconteça, e depois de ele ter começado a contar o tempo, deve-se pressionar Windows + D para minimizar todos os programas que estejam a correr, e imediatamente após restaurar o campo minado e seleccionar um quadrado inexplorado. O contador ficará então parado até ao fim do jogo.
O contador pode também ser parado ao clicar sobre o smiley no topo da aplicação e manter premido o rato. Note que para que isto funcione sem começar um novo jogo deve mover o ponteiro do rato para outro local antes de largar o botão esquerdo que mantém premido.

## Variações

* Online, non rectangular
* 3D
* Hexagonal
* Triangular
* ASCII
* No Guess
* Emoji