Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Jul 5, 2023. It is now read-only.

mdccg/minesweeper-mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minesweeper-mobile

Sumário

Motivação

Este app consiste no jogo campo minado para dispositivos móveis.

Tal jogo consiste em um tabuleiro de células, onde algumas contêm minas e outras não. O objetivo do jogo é descobrir todas as células que não contêm minas sem detonar uma das minas. Cada célula pode ser aberta pelo jogador ou marcada com uma bandeira para indicar uma mina. O jogo termina quando todas as células sem minas forem descobertas (o jogador ganha) ou quando uma mina for detonada (o jogador perde).

O repositório de código contém três arquivos principais:

  1. O arquivo config.js define algumas constantes e funções que serão usadas em outros arquivos do projeto;
  2. O arquivo logic.js contém as principais funções do jogo, como a criação do tabuleiro, a distribuição das minas, a abertura de células e a verificação de vitória ou derrota;
  3. Finalmente, o arquivo Cell/index.js contém a implementação da célula individual no tabuleiro. Cada célula pode estar aberta ou fechada, pode conter uma mina ou não, e pode estar marcada com uma bandeira ou não.

Na função openCell foram utilizadas duas técnicas: recursão, para propagar a abertura das células adjacentes até que se alcance as células que não possuem mais minas em seu entorno, e busca em largura (também conhecida como flood fill), para encontrar as células adjacentes a uma célula específica. Essas técnicas são essenciais para tornar o jogo campo minado jogável e eficiente na sua resolução. A combinação delas permite que, ao se abrir uma célula livre de minas, todas as células vazias conectadas a ela também sejam abertas automaticamente, além de percorrer todas as células vizinhas para determinar o número de minas ao redor de uma célula e ajudar na decisão do jogador em relação a qual célula deve ser aberta em seguida.

Eis a representação dos índices de linha e coluna das células adjacentes desenhada pelo professor:

-1, -1 -1, 0 -1, 1
0, -1 0, 0 0, 1
1, -1 1, 0 1, 1

Este foi o segundo repositório de código apresentado no Curso Superior de TSI do IFMS como requisito para obtenção da nota parcial das atividades da unidade curricular Programação para Dispositivos Móveis I.

← Repositório anterior Próximo repositório →

Pilha de tecnologia

Papel Tecnologia
Ambiente de execução Node
Plataforma Expo
Linguagem de programação JavaScript
Front-end React Native

Galeria

Tela do app

Como rodar

Pré-requisitos

Passo a passo

  1. Clone o repositório de código em sua máquina;

  2. Abra um shell de comando de sua preferência (prompt de comando, PowerShell, terminal etc.);

  3. Instale as dependências do projeto através do seguinte comando:

$ npm install

Caso esteja utilizando o gerenciador de pacotes Yarn, execute o seguinte comando como alternativa:

$ yarn
  1. Execute o seguinte comando para iniciar o app:

Para npm:

$ npm run start

Para Yarn:

$ yarn start
  1. Uma vez iniciado, aparecerá um QR Code. Você deve escaneá-lo com o aplicativo Expo Go, disponível para Android e iOS;

  2. Como alternativa, você pode executar o app no seu navegador, pressionando o atalho w. Entretanto, alguns módulos podem não funcionar na versão web do app;

  3. Exclusivamente para este repositório de código, você pode executar uma versão similar no meu snack1 mdccg/ppdm-rascunho-campo-minado.

1 Snack refere-se a um recurso do site da Expo onde os desenvolvedores podem criar, visualizar e compartilhar trechos de código-fonte em tempo real usando um ambiente de desenvolvimento on-line. Esses trechos de código-fonte geralmente contêm exemplos de como implementar recursos específicos no React Native, e os usuários podem testá-los instantaneamente em seus próprios dispositivos móveis, sem precisar configurar um ambiente de desenvolvimento em seu computador.

About

Campo minado para dispositivos móveis.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published