Postagens

Mostrando postagens de maio, 2019

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...

MAMI - Atividade 07

Imagem
Texto da Atividade Discutir o processo de desenvolvimento de uma aplicação na qual um símbolo do Yin-Yang segue o ponteiro do mouse, apresentando um diâmetro que oscila suavemente entre dois valores à sua escolha O trabalho do Yin-Yang muito se assemelha ao último, da bandeira do Brasil, tendo que seguir uma serie de proporções com o propósito de repicar uma imagem. Tendo isso em mente, aqui estão as proporções do Yin-Yang                 Mas para simplificar um pouco o código eu estarei utilizando a unidade mínima como sendo metade do Yin-Yang. Assim, criamos uma função que vai construí-lo com base na medida da unidade e as proporções acima, seguindo a posição do mouse (X e Y)                 Cada etapa desse código está ilustrada na imagem a seguir           ...

MAMI - Atividade 06

Imagem
Enunciado  da Atividade Considerando a Lei Federal Nº 5.700, apresentar a criação do procedimento mostraBandeiraBrasil(x, y, l), explicando como rectMode e ellipseMode podem simplificar o processo Para começar irei explicar como funcionam o rectMode de o ellipseMode.  Ambas são funções que modificam como serão criadas essas formas, qual a sua origem e quais valores serão necessários. Elas possuem quatro modos:  CENTER, que recebe o x e y do ponto central e a largura e altura;  RADIUS, que recebe o x e y do ponto central e metade da largura e da altura;  CORNER, que recebe o x e y do canto superior esquerdo e a largura e a altura;  CORNERS, que recebe o x e y do canto superior esquerdo e o x e y do canto inferior direito (os cantos na elipse são os de sua caixa delimitadora {bounding box}) Para os propósitos deste trabalho estarei usando apenas o CENTER mode. Começando com a matemática, vamos ver as medidas da bandeira do Brasil ...

MAMI - Atividade 05 - Placeholder

MAMI - Atividade 04

Imagem
Enunciado  da Atividade explicar as alterações necessárias no código para que o simulador possa considerar intervalos menores que um segundo, sendo executado a 60 fps e ainda mantendo o tempo real O código inicial é um contador simples, que a cada segundo conta mais dez metros Agora, a partir dele começaremos por mudar o frame rate de 1 para 60 e criar a variável para contar os frames. Substituindo o “tAtual ++” por “frames++”, e o tempo atual vira “frames/60” A partir disso vamos para o cálculo da distância em si, que se torna velocidade vezes frames dividido por 60 (frames em um segundo). Assim, temos o cálculo da distância 60 vezes por segundo Download do arquivo

MAMI - Atividade 03

Imagem
Com base no quadro Farbstudie Quadrate (1913) de Wassily Kandinsky Enunciado da Atividade Apresentar o desenvolvimento de uma aplicação que, empregando laços, gere quadros com uma função que replica um bloco formado por um quadrado e três círculos coloridos. A aplicação deve receber a quantidade de blocos por linha e coluna por duas variáveis globais Começando com a função base, que cria os círculos coloridos dentro de um quadrado, todos eles com três random nas cores, para obter uma cor rgb, pois caso fosse só um seria em tom de cinza. Mas nessa configuração simples, na posição 60x60, o resultado seria o seguinte Aplicando um laço, o for nesse caso Faz com que a função base seja repetida o numero de vezes desejado, utilizando a variável criada pelo próprio for para chamar a função bloco nas posições desejadas.                          Mas essa repetição só abrange uma di...

MAMI - Atividade 02

Imagem
Enunciado da Atividade Selecionar o jogo original e registrá-lo no repositório compartilhado O jogo que eu escolhi foi o Lone Ranger Handheld (1989) da Konami

MAMI - Atividade 01

Imagem
Enunciado da Atividade Empregando textos e imagens, e explorando o conceito de reposicionamento de elementos em vetores/matrizes, estabelecer um modelo matemático para uma aplicação que realize digitalmente o efeito apresentado no primeiro experimento de https://youtu.be/M07JRzkgaR8                  No vídeo ele pega a imagem original e corta verticalmente em fitas                 As quais ele vai dividir em dois conjuntos, alternadamente                  Ele vai colá-las e cortar de novo, dessa vez horizontalmente                 Por último, ele vai repetir o processo, dividindo-as em dois conjuntos, alternadamente          ...