Escolar Documentos
Profissional Documentos
Cultura Documentos
Engenharia de Controle e
Automação
11/2016
1
Israel Damazio Araujo Costa
Marcelo Vitor Figueira Dias
Thiago Lotufo Macedo
Rio de Janeiro
2016
2
Contatos
Tel: (21) 97674-5204
Email: israeldamazio@hotmail.com
Tel: (21) 99212-6225
Email: marcelovfdias@gmail.com
Tel: (21) 99591-9905
Email: thiago.lotufo@hotmail.com
3
Sumário
1 Introdução ___________________________________ 5
1.1 Descrição do jogo ______________________ 5
2 Funções utilizadas ____________________________ 5
2.1 Preencher Selvagem ___________________ 6
2.2 Preencher Pokemon Computador _________ 6
2.3 Preencher Pokemon Treinador ___________ 6
2.4 Função Primeira Escolha ________________ 6
2.5 Função Fuga _________________________ 7
2.6 Função Debug ________________________ 7
2.7 Função Busca Pokemon ________________ 8
2.8 Função Batalha Pokemon _______________ 8
2.9 Função Atualiza Pokemon Treinador _______ 8
2.10 Função Busca Pokemon Computador ______ 9
2.11 Função Batalha Pokemon Computador _____ 9
2.12 Função Atualiza Pokemon Computador ____ 9
2.13 Função Imprime Matriz _________________ 9
2.14 Função Dica _________________________ 10
2.15 Função Busca Selvagem _______________ 10
2.16 Função Batalha Pokemon Computador ____ 10
3 Bicliotecas __________________________________ 9
3.1 Bibliotecas utilizadas __________________ 11
4 Funcionamento do Programa ____________________12
4.1 Escolhe Posição ______________________ 12
4.1.1 Escolha Manual ______________ 12
4.1.2 Escolha Aleatória _____________ 12
4.1.3 Debug _____________________ 13
4.2 Seguda Escolha _______________________ 13
4.3 Começar Jornada ______________________14
4.4 Encontrar Pokemon Selvagem ____________15
4.5 Capturou Pokemon Selvagem ____________16
4.6 Jogada Computador ___________________ 16
4.7 Batalha Pokemon ______________________18
5 Fim de Jogo _________________________________20
6 Conclusão ___________________________________ 21
4
1 Introdução
No jogo você será um treinador e terá um adversário, com quem irá disputar um
número limitado de Pokémons, que serão distribuídos aleatoriamente em uma
matriz, esses Pokémons serão denominados selvagens. O intuito é capturar a
maior quantidade desses monstros e aumentar sua pokedex. Nessa matriz você
terá 4 tipos de Pokémons com características únicas sendo, eles de terra, agua,
planta e eletricidade. E com o uso das pokebolas, o treinador poderá capturar
esses monstrinhos, fazendo assim eles deixarem de ser selvagens e
transformando-os em Pokémons do treinador.
O jogo consiste em percorrer essa matriz a procura da maior quantidade de
Pokémons, ocorrerá basicamente duas ações durante o jogo, a primeira é
capturar Pokémons onde no lançamento da pokebola o treinador terá 50% de
chance de capturar, e a outra parte é a batalha onde no caso do treinador ou o
seu adversário se encontrarem no campo eles irão batalhar utilizando seus
Pokémons.
O jogo termina quando todos os Pokémons do campo deixam de ser selvagens
ou quando o jogador sai do jogo, no caso da primeira opção ganha quem tiver a
maior quantidade de Pokémons.
2 Funções Utilizadas
5
2.1 Função Preenche Selvagem
6
Função que transforma uma String em um valor inteiro por meio da tabela ASCII,
ela transforma as letras do alfabeto em números reais sendo comparados as
letras de A à H, com os números de 1 a 8.
Nesta função tivemos um pouco de dificuldade para transformar as letras em
números, porém como dito na descrição com o uso da tabela ASCII, que detém
o valor inteiro da letra denominada, transformamos em números podendo assim
implementar funções como a preenche_pokemon_treinador citada acima.
Protótipo: void debug(char escolha[], int mat[][8], char letra[], int *linha, int
*coluna, int *linha_computador, int *coluna_computador);
Função utilizada para a correção do programa, nela você poderá digitar em uma
Sting as posições dos Pokémons do treinador e do computador de forma extensa
e denominar a posição exata que quer colocá-los.
Nesta função tivemos um problema parecido com o ocorrido na função
primeira_escolha, porém ele foi ainda maior pois desta vez tivemos que mandar
de volta não só 2 valores mais 4, duplicando a dificuldade, mas ela foi efetuada
corretamente no programa.
7
2.7 Função Busca Pokemon
Está função tem como intuito buscar dentro da matriz a posição denominada pelo
usuário e informar se há ou não algum Pokémon na posição, dentro da mesma
posição caso haja algum Pokémon se dá basicamente o jogo em si, onde caso
haja o Pokémon é consultado o status dele dando assim ao jogador as opções
de ação de jogo.
Caso o Pokémon seja selvagem a opção dada ao jogador é capturar Pokémons,
utilizando a pokebola, o usuário tem a opção de lança-la ou não.
Caso o Pokémon seja do próprio treinador ele perderá a vez pois ele não terá
nenhuma opção de ação há se fazer.
E caso o Pokémon seja do computador é atribuída a uma outra função chamada
batalha (item 2.8).
8
Esta função é bem simples ela atualiza as informações do Pokémon após a
batalha, atualiza a experiência, nível, força e vida.
Está é uma função espelho da função busca_pokémon, porém ela utiliza valores
aleatórios para implementar a jogada do computador
Esta é uma função espelho da função batalha Pokémon, com valores atribuídos
a informações dos Pokémons do computador.
9
2.14 Função Dica
Dica é uma função que percorre uma linha e uma coluna dada pelo usuário na
matriz e diz a quantidade de Pokémons encontrada em cada uma.
3 Bibliotecas
10
3.1 Bibliotecas utilizadas
11
#include<conio.h> - Biblioteca utilizada para a função getchar(); Onde o
jogador deveria utilizar a tecla enter para dar continuação na jogada.
4 Funcionamento do Programa
Nesta tela, o jogador escolhe uma opção para posicionar seu Pokémon.
O jogador escolhia a posição de seu Pokémon inicial através de uma String, onde
a linha é informada por uma letra de A à H e a coluna através de um número de
1 à 8.
12
4.1.2 Escolha aleatória
4.1.3 Debug
13
4.3 Começar a Jornada Pokemon
Ao procurar por pokemons no tabuleiro, caso encontre, uma tela será exibida
para que o jogador possa tentar capturar o mesmo. Se isso ocorrer, ele adiciona
o novo pokemon a matriz do jogador e continua para a próxima jogada. Caso ele
não o capture, o pokemon foge para outra posição da matriz, sempre respeitando
o seu tipo: Eletricidade, Água, Ar e Terra.
14
Nesta tela, o jogador não encontrou nenhum pokemon selvagem em sua rodada.
15
Como vimos na tela anterior, o Jogador pode escolher se deseja ou não capturar
o pokemon. Caso capture o Pokemon, ele entra para o seu time e é mostrado na
matriz principal.
Toda jogada feita pelo computador é aleatória, ou seja, ele irá fazer tudo que o
Treinador fizer, mas de uma forma sorteada. Ele busca pokemons, captura
pokemons e batalha contra o treinado. Também recebe experiência por luta, e
pontos.
16
Nesta tela, o computador encontrou um Pokémon mas não o capturou.
17
Nesta tela, o treinador encontrou um Pokémon do computador e escolhe o seu.
18
Nesta tela, o ataque do Pokémon é deferido contra o oponente.
Caso o oponente leve um ataque que tire toda a sua vida, a luta acaba e a vitória
é dada ao Pokémon vencedor.
Nesta tela, o Pokémon vencedor recebe seus prêmio, e o treinador sua experiência.
19
5 Fim de Jogo
Caso o Jogador escolha a opção fim de jogo, uma nova tela é gerada.
Caso isso ocorra, o treinador pode escolher se quer Reiniciar o Jogo, Recomeçar
ou Sair definitivamente.
20
6 Conclusão
21