Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO ACADÊMICO DO AGRESTE
NÚCLEO DE TECNOLOGIA
CURSO DE ENGENHARIA DE PRODUÇÃO
Campo Minado
Alunos: Dara Alice;
 Deivson Lucas;
 Fillipe Néri.
 
Turma: 2014.1
Disciplina: Algoritmos e Programação de Computadores
Professora: Michele Mara de Araújo E. Lima 
Caruaru, 07 de agosto de 2014.
1 – Resumo
Em busca de pôr em prática o nosso aprendizado na disciplina, fomos instruídos para projetar um Campo Minado, na linguagem C. Por ser um jogo que perdura até os dias atuais, torna-se interessante vê-lo funcionar em outras plataformas. 
O código mostra ao usuário um tabuleiro sem marcações, composto, em todas as posições, da letra N; lê do arquivo de entrada, criado previamente no bloco de notas, a matriz de caracteres, onde foram marcados as bombas (*) e os espaços livres (-); com a matriz de entrada lida, é calculado a matriz vizinhança, a qual também é mostrada ao usuário, com números inteiros que representam a quantidade de bombas que estão nas posições mais próximas; o usuário poderá marcar ou desmarcar os símbolos que digitou; e por último tem a opção de saída. Esses encargos são executados pelas opções de jogo, onde:
Ver Tabuleiro;
Marcar Símbolo;
Desmarcar Símbolo;
Sair.
Apesar de ser uma tarefa que exige muita dedicação, é extremamente gratificante quando o código compila, e executa. 
Mas sem perder tempo, adiante-se, o Campo Minado está lhe esperando!!
2 – Objetivos
3 – Introdução
Os jogos surgiram nas antigas civilizações e veem alegrando desde os mais antigos habitantes até os atuais. Com o intuito primordial de diversão, eles também servem para aprendizagens. Assim tornam-se as maneiras mais divertidas de aprender, pois os conhecimentos surgem da forma mais descontraída. Jogos matemáticos, lógicos, e de memória são exemplos de entretenimento educativo. 
Entretanto, a tecnologia tem dado um toque mais ágil, preciso e sofisticado ao mundo, e vem interferindo em diversas áreas, dentre elas, a dos jogos. Jogos antigos, deram lugar aos modernos. Alguns foram reestruturados e reaproveitados, e continuam a divertir muitos até hoje, porém outros foram exonerados e os novos ocuparam seus cargos.
Um jogo que não é muito recente, mas que continua agradando seus usuários é o Campo Minado. Esse entretenimento tem sido reescrito para as mais diversas plataformas, sendo a mais popular, a sua versão que vem nativamente com a Microsoft Windows. 
O Campo Minado é um teste de memória e raciocínio aparentemente simples. Onde o objetivo é encontrar os quadrados vazios e evitar as minas. Apesar de serem dadas algumas dicas, o jogo exige concentração e prática, pois nas primeiras jogadas a tendência é clicar em bombas achando que a posição está livre, e acaba perdendo o jogo. A sede de conseguir abrir cada vez mais uma maior quantidade de quadradinhos, sem errar nas bombas, faz o jogador querer jogar mais e mais. Por isso um jogo “antigo” ainda faz sucesso diante de uma sociedade tão evoluída, comparada com o passado, e exigente.
Este projeto visa, portanto, a criação de uma lógica e implementação dos Algoritmos em linguagem C, do jogo Campo Minado. Dessa forma, colocam-se os conhecimentos adquiridos na disciplina em prática, de uma forma mais palpável e entendível, pois é possível perceber que o aprendido toma formas antes imagináveis. 
4 - Materiais e Métodos
4.1 – Materiais
4.1.1 - Computador Intel® Core™ i5 2450M CPU @ 2.50GHz, 8,00GB, 64 bitz. Windows 8 Pro; 
4.1.2 - Bloco de notas, abre arquivo txt;
4.1.3 - Compilador Dev - C++, versão 5.5.3;
4.2- Métodos
Elaborou-se um programa que ler uma matriz de caracteres do arquivo de entrada, onde cada asterisco representa uma bomba na coordenada lida, e traço representa um local sem bomba. O arquivo de entrada pode conter apenas tabuleiros que sejam 5x5, 7x7 ou 9x9. Elaborou-se uma função para mostrar o número de bombas na matriz vizinhança.
Inicialmente apresenta-se um menu ao usuário onde o mesmo pode escolher uma das opções a seguir:
Ver tabuleiro: Caso escolhida será apresentado o tabuleiro com a matriz de vizinhança, o tabuleiro com a matriz que contém as opções já jogadas, o número de bombas e o número de acertos.
Marcar símbolo: Nessa opção, além dos itens anteriores, o usuário irá informar a linha e a coluna na qual ele queira marcar como bomba ou como livre. Caso ele marque corretamente, o tabuleiro será reimpresso no tabuleiro contendo a marcação do usuário, se ele marcar como livre uma posição que contenha bomba, será informado que ele perdeu, e se marcado corretamente todas as posições o programa finaliza-se e a matriz vizinhança é salva no arquivo de saída. 
Gerou-se funções e procedimentos para contabilizar o número de bombas que contém no arquivo, gerar a matriz de vizinhança, imprimir a matriz de vizinhança, marcar símbolos, imprimir o tabuleiro, gerar a matriz tabuleiro, imprimir o menu. 
5 – Relatos
Há algumas semanas, foi apresentado, aos alunos de Engenharia de Produção, quatro propostas de projetos da disciplina de Algoritmos. Apesar das interações cotidianas entre colegas, a escolha de companheiros de trabalho foi árdua. As consequências dessas escolhas perduraram até o fim do processo.
Além disso, referente à programação, houveram exaustivas dificuldades. Antes do programa ser implementado em C, as ideias foram passadas para o papel, e alguns desejos da especificação do trabalho foram mal interpretados, isso fez com o que o trabalho corresse de forma desacelerada. 
Porém, depois de entender o que as opções do Menu exigiam, e transcrever para àquele papel a verdadeira versão do pedido, foi mais fácil traduzir a nossa linguagem para linguagem C.
Entretanto pequenas falhas, como digitar return ao invés de return ,’ %&’ em vez de ‘%d’, declarar o tipo da função e quando for alocar memória escrever com tipo diferente, esquecer uns ‘ ; ‘ , e ao fazer alterações no código, do tipo tirar um trecho do código do case para criar uma rotina externa, algumas chaves sobravam e partes do código se repetiam; trouxeram problemas na parte de compilação.
Outro obstáculo encontrado foi quando alterava-se um código que compilava, adicionando ou trocando algumas coisas, e depois não compilava novamente. Isso nos fez perder alguns antigos começos de código certo, até descobrirmos que algumas vezes dá para retirar as novas alterações e retomar ao anterior.
Variáveis significativas ajudaram bastante, pois como trabalha-se com algumas matrizes era necessário entender qual era qual, assim, por exemplo: mv= Matriz Vizinhança; me= Matriz de Entrada; tj =Tabuleiro do Jogo. Por isso tivemos um certo cuidado, pois para gerar uma bagunça nas lógicas era muito rápido.
Saindo mais da parte da compilação e analisando a da execução, sentia-se uma série de sentimentos ruins quando via-se “O programa parou de funcionar!”, isso nos fazia voltar ao DevC++ e analisar as falhas. Houve também confusões ao inserir parâmetros para a execução do programa, a princípio não sabia-se como separava-se um parâmetro do outro, testava-se com vírgula, ponto, ponto-e-vírgula, e nenhuma alteração. Até que aprendemos a separar somente por espaço. Em relação aos parâmetros ainda, preocupava-se muito em digitar corretamente até o arquivo de saída previamente criado e salvo em branco, até entender que o único que tem que se preocupar é com o de entrada.
Houve muitas dificuldades e dúvidas, mas teve a ajuda dos monitores e algumas vezes da Professora, abdicamos de outras tarefas, mas foi feito o possível, em tempo ainda hábil.
Algumas, ou até muitas falhas deverão ter neste código, mas é garantido o esforço de cada um dos três em busca de fazer um trabalho satisfatório. 
6 – Conclusão
De forma geral, foi facilmente perceptível a importância da disciplina de Algoritmos, atuando em qualquer área.
 Esse projeto foi o impulso para outros. Egraças a este, com o uso frenético dos comandos, das rotinas, dos parâmetros ficou mais claro as funcionalidades de cada um. 
Foi importante para sentirmos o poder do trabalho em grupo, pois cada um fez a sua parte, respeitando os limites do outro.
Observou-se que trabalhos como esse, exige tempo e dedicação, e uma boa base prescrita durante o semestre.
E por fim, conclui-se que os erros cometidos podem até compilar, mas pode dar uma falha na execução e tudo pode parar. Então, é necessário ter foco, e não desistir no primeiro obstáculo, pois virão outras condições e mesmo que não retorne, o procedimento será executado da melhor forma. 
7 – Referências Bibliográficas
7.1 – MICROSOFT. Campo Minado. Windows. 2014. Disponível em: <http://windows.microsoft.com/pt-br/windows/minesweeper-how-to#1TC=windows-7>. Acessado em: 04 ago. 2014.
7.2 - SCHILDT, Herbert. C Completo e Total; Makron Books. 3. ed. São Paulo ,1997.

Mais conteúdos dessa disciplina