Relatório do Campo Minado
Por: Kohles Ha • 27/8/2021 • Trabalho acadêmico • 984 Palavras (4 Páginas) • 159 Visualizações
Relatório do Campo minado
Disciplina: Programação I
Professor: Diego Brandão
Alunos: Gabriel Damasio Evangelista e Igor Pimentel Guimarã
Introdução
O objetivo deste projeto é implementar o jogo Minesweeper (Campo Minado) com o uso da linguagem C, na intenção de realizar uma atividade prática que utilize todo o conhecimento adquirido nas aulas de programação I que foram ministradas durante o segundo semestre.
Sumário
Breve demonstração das funções usadas ............................................................................ 2
Principais dificuldades encontradas durante a programação ................................................... 6
Passo-a-passo para compilar o jogo .................................................................................... 7
Com o jogo em andamento ................................................................................................. 7
Conclusão ....................................................................................................................... 13
Breve demonstração das funções usadas:
A primeira função usada no código foi: void intro ( )
Uma função que retorna vazio foi usada para realizar a introdução do jogo. A tela de boas vindas e as opções de jogar ou sair foram acrescidas nessa função. Esse bloco também teve o intuito de facilitar a visualização do programador, enxugando o tamanho do código.
A segunda função usada no código foi: int tipo_de_jogo ( )
Nessa função foi implementado duas possibilidades de modo de jogo, seja ele randômico,onde será gerado um campo aleatorio com um numero de bombas definido pelo usuario, ou o modo definir jogo,onde o usuário escolhe pelo programa as posições onde deseja que tenha bombas. Neste bloco foi usado o operador lógico if/else, propondo ao usuário duas opções já citadas neste mesmo tópico. Caso o usuário escolha uma terceira opção inexistente, o programa exibirá a seguinte mensagem “Opção invalida digite novamente”. Ainda nesse bloco é inicializado a variável “b” que também é usada na terceira função.
A terceira função usada no código foi: int matriz_aleatoria(int mat[8][8],int b)
Na função inicializada, foi gerada uma matriz [8][8] aleatória, e um contador de bombas “b” usado para armazenar o número escolhido pelo usuário. É gerado um campo com "4" para bombas e "0" para espaços vazios.
A quarta função usada no código foi: void pula(char b[200])
Função utilizada para ler as posições de bomba separadas por "espaço" e converter espaços em quebras de linha para assim escreve-las num arquivo.txt externo.
A quinta função usada no código foi: void funcao_de_jogo(char mat[][8])
Esta função gera uma matriz de char para interface com usuário,onde o caracter 254 formam quadrados, representando espaços vazios no campo.
A sexta função usada no código foi: void printar_matriz(char mat[][8])
Essa função tem a utilidade de imprimir a matriz de interface do usuário.
A sétima função usada no código foi: int letra(char c)
Na função “int letra(char c) “ foi usado o operador lógico switch, transformando as posições da bomba em uma matriz.E possui um retorno no default com o valor de 10 para retratar possiveis posições inválidas.
A oitava função usada no código foi: void atualiza(int mat[][8],char mat2[][8])
Uma função importante para o andamento do jogo, pois ela atualiza a matriz char informando o número de bombas nas proximidades fazendo uma interação entre uma matriz de int onde estão armazendas os valores e uma matriz de char usada para interface com o usuário.
A nona função usada no código foi: int conta_bomba(int mat[][8],int linha,int coluna)
A função escrita acima conta em "asterísco" e informa o número de bombas ao redor do local escolhido pelo usuário.
A décima função usada no código foi: int ganha_jogo(int mat[][8],int n)
Nessa função é gerado um contador para ver quantos espaços vazios foram abertos, quando este contador se iguala ao numero de espaço vazios, o usuário venceu a partida.
...