Postagens

MAMI - Trabalho Final pt.1

Imagem
Porte O jogo que eu escolhi trabalhar este semestre foi o Lone Ranger Handheld (1989) da Konami, que é baseado n uma serie americana que é composta de séries de tv (tanto animada quanto live-action), quadrinhos, etc. Os três modelos O Natural O jogo funciona por pulsos de 1 segundo e turnos, formados por três pulsos, e tudo dentro do jogo funciona com base neles, menos os inputs do jogador. O jogador O jogador começa o jogo com zero pontos, cinco pontos de vida e quarenta balas. Ele pode mirar com as setas (direita e esquerda) em onze direções, nas quais seus alvos se encontram (ou não), podendo atirar com a tecla Ctrl enquanto possuir balas (mas estas possuem um cooldown para que o jogador não possa se mover atirando).  No caso do jogador ficar sem munição, ele não  perde de cara, mas não tem mais como se defender. No jogo existem onze alvos, dos quais seis são de garrafas, que vão aparecer a partir do segundo nível, permanecem por um t...

MAMI - Atividade 12 - Placeholder

MAMI - Atividade 11

Imagem
Enunciado da Atividade Discutir o uso de MEFs como base na implementação de um jogo onde um personagem, visto de cima, caminha por um mundo simples, podendo virar-se em duas direções (esquerda e direita), com imagens à sua escolha Eu imagino essa máquina de estados finito como sendo algo bem simples, no caso um personagem que pode se virar para a esquerda ou direita de sua posição inicial com o input do jogador, não contando o caminhar como parte da MEF em si                 Para implementar desse jeito, eu tenho que criar os sprites nas quatro posições, e uma variável direção que irá me dizer qual sprite utilizar (através de um switch). Por último eu utilizo o keyReleased() para registrar quando eu viro para a esquerda ou direita e isso irá modificar a variável direção de acordo                 Finalmente, para o...

MAMI - Atividade 10

Imagem
Enunciado da Atividade Explicar a condição de adjacência de um mapa isométrico, com base no desenvolvimento de uma aplicação que emprega dois tiles à sua escolha Primeiro vamos analisar as dimensões de um dos tiles que estaremos utilizando e como todos utilizam o mesmo padrão, estas irão servir para *todos                 Agora iremos utilizar como base o código do tileset feito em sala, no qual uma matriz era criada para marcar qual tile é utilizado em cada local (eu colorizei os elementos da matriz para facilitar a visualização)                 Então, substituindo os tiles pelos isométricos e atualizando as dimensões temos o seguinte                 Como o tileset é isométrico, começaremos com posicionar de acordo, tendo seu ponto...

MAMI - Atividade 09

Imagem
Enunciado da Atividade Explicar a diferença entre o uso da variável de sistema keyPressed e da função keyPressed() com base no desenvolvimento de uma versão simplificada do jogo Pong, para um único bastão que não permita que a bola saia pela margem direita da tela A principal diferença entre a utilização do keyPressed e keyPressed() é que a variável de sistema é chamada no draw, ou seja, a cada frame, enquanto que a função keyPressed() só é chamada quando aquela ação é efetuada Na pratica, utilizando do exemplo do Pong, a utilização do keyPressed nos dá uma movimentação muito mais fluida                 Enquanto que a utilização do keyPressed() nos dá uma movimentação muito mais truncada                 Download do arquivo

MAMI - Atividade 08

Imagem
Enunciado da Atividade Empregando as funções dist e map do Processing, explicar e exemplificar como a posição do mouse, numa janela com proporção 4:3, pode mover um círculo no interior de uma retângulo com proporção 16:9 centralizado na tela Vamos começar entendendo o que cada uma dessas funções faz. A função dist serve para calcular a distância entre dois pontos, recebendo o X e Y de cada um. Já a função map é mais complexa, funciona quase como uma regra de três, nela você dá um valor, que está contido entre dois *parâmetros e você quer saber o valor (proporcional) que ele teria se estivesse contido entre esses outros dois *parâmetros Por enquanto vamos começar construindo nosso código. Criamos uma tela 4:3 (800x600) e centralizado dentro dela um retângulo com proporções 16:9 (640x360)                 A partir daí podemos começar a construir a nossa função centerBall, com base nos conceitos...