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

Prévia do material em texto

<p>Universidade Estadual de Feira de Santana</p><p>Curso: Engenharia de Computação</p><p>TEC 499 - MI - SISTEMAS DIGITAIS</p><p>Discentes: Matheus, Pedro e Dermeval</p><p>Nome: Catch The Cheese (Pegue o Queijo)</p><p>Descrição: No jogo "Catch The Cheese", o jogador controla um rato</p><p>cujo objetivo é coletar todos os queijos de um local enquanto foge</p><p>dos gatos. Durante o jogo, ratoeiras surgem para dificultar o</p><p>objetivo principal. O jogador vence o jogo ao coletar todos os</p><p>queijos e perde caso os gatos ou as ratoeiras o peguem.</p><p>CONCEITO DO JOGO</p><p>Ajuste no módulo de Kernel e adições na biblioteca da GPU</p><p>Integração da biblioteca do mouse para movimentar uma sprite na tela</p><p>Criação de novas bibliotecas:</p><p>draw_sprites e draw_screen;</p><p>botoes_control e display_control;</p><p>Verificação de colisão do jogador com os objetos da tela</p><p>Randomização dos inimigos e do objetivo</p><p>Utilização das Threads</p><p>Desenvolvimento da lógica do jogo</p><p>Fase de Testes</p><p>DesenvolvImento</p><p>Delay retirado do kernel, agora as instruções são executadas apenas quando a fila</p><p>esta liberada e não mais precisam dos comandos sleep()</p><p>Funções novas foram adicionadas na biblioteca da GPU, sendo elas:</p><p>collision;</p><p>inscrease_coordinate;</p><p>mouse_move_sprite;</p><p>clear_background_blocks;</p><p>clear_sprites;</p><p>clear_poligonos;</p><p>Ajustes no Kernel</p><p>E Gpu_lIB</p><p>UtIlIzando o mouse para</p><p>controlar um SprIte</p><p>Foi usada a biblioteca desenvolvida pelo</p><p>grupo no primeiro problema, apenas</p><p>pequenas alterações foram feitas</p><p>O movimento da sprite pode ser mais rápido</p><p>ou mais lento dependendo do movimento do</p><p>mouse.</p><p>UTILIZANDO NOVAS BIBLIOTECAS</p><p>Duas novas bibliotecas foram criadas para se comunicar com os</p><p>componentes da placa, botoes_control.h e display_control.h, uma</p><p>fica encarregada do funcionamento dos botões e a outra do display de</p><p>7-segmentos</p><p>E outras duas foram criadas para armazenas as informações dos</p><p>novos sprites e telas que serão desenhadas no monitor, sendo elas</p><p>draw_sprites.h e draw_screens.h</p><p>VerIFICANDO COLISÕES</p><p>Para verificar colisões que aconteceriam no jogo, nos criamos uma</p><p>função chamada collision, onde ela recebe as cordenadas X e Y de</p><p>dois sprites e a partir dos seus verticies ela consegue verificar se eles</p><p>estão se sobrepondo ou não (ou seja colidindo ou não)</p><p>(0, 0)</p><p>(15, 10)</p><p>(20, 20)</p><p>Para que o jogo ficasse mais interessante, todos os inimigos (gatos e</p><p>ratoeiras) e o queijo são posicionados aleatoriamente, ou seja a cada</p><p>vez que eles são gerados na tela, a sua posição vai ser aleatória</p><p>Para isso foi, a tela total de 640x480 foi dividida em 20 partes assim</p><p>ficando 32x24, assim temos um total de 768 posições validas para a</p><p>aleatoriedade dos objetos</p><p>AlEATORIEDADE DOS OBJETOS</p><p>24</p><p>32</p><p>UtILIZANDO TRHEADS</p><p>Para evitar possíveis conflitos na utilização do mouse e os botões da</p><p>placa foram criadas duas Threads</p><p>A primeira delas fica responsável por pegar as informações fornecidas</p><p>pelo mouse, controlar o Sprite do jogador principal e realizar as ações</p><p>do mesmo</p><p>A segunda é responsável pelo loop principal do jogo e as verificações</p><p>das ações dos botões</p><p>THREAD 1:</p><p>MOUSE E AÇÕES</p><p>THREAD 2:</p><p>JOGO E BOTÕES</p><p>No jogo, o usuário irá fazer o papel de um rato que deve pegar os queijos</p><p>para completar sua missão;</p><p>Gatos irão aparecer para dificultar a jornada, eles podem se mover tanto</p><p>na vertical quanto na horizontal e caso eles colidam com o rato, o jogador</p><p>perderá uma das suas 3 vidas;</p><p>A cada 5 queijos coletados o jogador irá para uma nova fase tendo que</p><p>coletar mais 5 queijos, até que ele tenha coletado um total de 25 e assim</p><p>terminando o jogo;</p><p>O jogo “Catch the Cheese”</p><p>Ao ser acertado por um gato ou ratoeira o rato vira um fantasma por um</p><p>tempo e durante esse momento ele fica imune a danos dos inimigos</p><p>Uma vez durante a sua jogatina pelas fases o jogador pode aperta o botão</p><p>esquerdo do mouse e assim o rato ativará sua habilidade escudo, então</p><p>ele não perderá vida na próxima vez que for atingido</p><p>Ao chegar em 0 vidas, a próxima vez que o jogador for atingido o jogo ai</p><p>dar “Game-Over” e ele terá que reiniciar para jogar novamente</p><p>O jogo “Catch the Cheese”</p><p>INTEGRAÇÃO DOS BOTÕES</p><p>Os botões ficam responsáveis pelas seguintes ações no jogo:</p><p>INICIAR</p><p>PAUSARCONTINUARSAIR REINICIAR</p><p>INTEGRAÇÃO DO DISPLAY</p><p>O display de 7-segmentos mostra as seguintes informações:</p><p>VIDAS PONTOS</p><p>FLUXOGRAMA DO JOGO</p><p>FLUXOGRAMA DO JOGO</p><p>FLUXOGRAMA DO JOGO</p><p>FLUXOGRAMA DO JOGO</p><p>FLUXOGRAMA DO JOGO</p><p>personagens</p><p>Jerry (Rato)</p><p>Personagem principal, controlado pelo</p><p>usuário do jogo.</p><p>Tom(Gato)</p><p>Personagem secundário com movimentos</p><p>verticais e horizontais, NPC (Non-Player</p><p>Character).</p><p>varIações de personagens</p><p>Fantasminha</p><p>Quando o rato é atingido por um gato ou</p><p>ratoeira sua sprite é alterada por um</p><p>pequeno período de tempo</p><p>Escudo Ativado</p><p>Quando a habilidade de escudo é ativada o</p><p>rato não perde vida na próxima vez que</p><p>colidir com um gato ou ratoeira</p><p>cenárIo</p><p>Queijo</p><p>Ratoeira</p><p>+1 ponto para o rato</p><p>-1 vida para o rato</p><p>Background (Fundo)</p><p>Foram criadas 5 fases no total, sendo as primeiras fases mais fáceis e</p><p>as últimas mais difíceis;</p><p>Das fases 1 a 3, mais gatos são adicionados enquanto nas fases 4 e 5</p><p>as ratoeiras começam a aparecer;</p><p>Cada vez que o jogador passa de fase, a velocidade que os gatos se</p><p>movem é aumentada;</p><p>CRIAÇÃO DAS FASES</p><p>FASE 1</p><p>FASE 2</p><p>FASE 3</p><p>FASE 4</p><p>FASE 5</p><p>casos de teste</p><p>PAUSAR</p><p>REINICIAR</p><p>INICIARCONTINUARSAIR</p><p>Caso 1</p><p>Quando o botão KEY0 é pressionado o jogo é inicializado.</p><p>PAUSAR</p><p>REINICIAR</p><p>INICIARCONTINUARSAIR</p><p>Caso 2</p><p>Quando o botão KEY1 é pressionado o jogo é pausado.</p><p>PAUSAR</p><p>REINICIAR</p><p>INICIARCONTINUARSAIR</p><p>Caso 3</p><p>Quando o botão KEY2 é pressionado o jogo é retomado.</p><p>PAUSAR</p><p>REINICIAR</p><p>INICIARCONTINUARSAIR</p><p>Caso 4</p><p>Quando o botão KEY0 é pressionado durante a execução do jogo, o mesmo é reiniciado.</p><p>Caso 5</p><p>Dependendo da velocidade que o jogador move o mouse, o personagem controlado pelo</p><p>jogador deverá se mover de maneira equivalente</p><p>Caso 6</p><p>Quando o personagem principal(rato) for atingido por um inimigo(gato ou ratoeira) deverá</p><p>ser decrementado 1 na quantidade de vidas. Sendo representado no display de 7</p><p>segmentos, o personagem principal deverá ser representado em forma de fantasma,</p><p>ficando imune por alguns instantes.</p><p>Caso 7</p><p>Quando o personagem pincipal(rato) coletar um queijo deverá ser incrementado 1 ponto</p><p>na quantidade de pontos, sendo representado pelo display de 7 segmentos</p><p>Caso 8</p><p>Quando o personagem coletar o total de 5 queijos, ele será encaminhado</p><p>para a próxima fase.</p><p>Caso 9</p><p>Quando o jogador pressionar o botão esquerdo do mouse, a habilidade: Escudo será usada</p><p>e quando o escudo está atividade o personagem deverá ficar imune a 1 dano.</p><p>Caso 10</p><p>Quando o jogador perder todas as vidas e receber mais um dano, a tela de “gamer over”</p><p>será exibida, representando que o jogador perdeu.</p><p>OU</p><p>Caso 11</p><p>Quando o jogador coleta todos os 25 queijos, ele ganha e termina o jogo.</p><p>x5</p><p>PAUSAR</p><p>REINICIAR</p><p>INICIARCONTINUARSAIR</p><p>Caso 12</p><p>Quando o botão KEY3 é pressionado o jogo é encerrado.</p>

Mais conteúdos dessa disciplina