Preview do "Jogo":
ATUALIZAÇÃO: Com o comando background comentado na função draw, agora a bola tem um rastro, como foi pedido.
Explicação do código
É criada a janela com 600x600 px, a função grid é usada para criar um grid na tela, a função lanBalistico é responsável por receber os dois valores de velocidade fornecidos(x,y), e calcular o deslocamento no eixo x e y, e move a bola aos pontos correspondentes e mostra na tela a frase "Acertou!!!" caso o circulo atinja o alvo.
Para brincar um pouco com esse "Jogo" basta e mudando os números passados na função lanBalistico
Código Fonte do Jogo:
float t = 0;
float d;
float v;
float v0 = 105;
float vx = 160;
float vy = 40;
float a = -20;
float dx;
float dy;
void setup(){
frameRate(60);
size(600,600);
background(185);
}
void draw(){
v = v0+a*t;
// background(185);
grid();
text("Tempo: "+t,20,20);
text("Velocidade Inicial: "+v0,20,40);
text("Velocidade Atual: "+v,20,60);
text("Distancia Percorrida: "+d,20,80);
//Chamando funçao do lançamento balistico
lanBalistico(140,200);
//Alvo
rect(440, 20, 120, 55);
//Plataforma
rect(420, 75, 180, 20);
//Suporte da Plataforma
rect(490, 95, 40, width-95);
t=t+0.01666666666666666;
}
void grid(){
int intervalo=50;
int lines = width/intervalo;
for(int i=0; i<lines; i++){
line(i*intervalo,0,i*intervalo,width);
line(0,i*intervalo,height,i*intervalo);
}
}
void lanBalistico(float x, float y){
dx = x*t;
dy = y*t+a*t*t/2;
ellipse(dx,width-dy,20,20);
println("("+dx+" , "+(width-dy)+")");
if(dx>=440 && width-dy==20 || dx>=440 && width-dy==75 || dx>=440 && width-dy<75 && width-dy>20){
text("Acertou!!!!!", 20,100);
}
}
BÔNUS MRU:
Essa função pode ser adicionada ao código anterior, ela calcula o deslocamento seguindo o Movimento Retilíneo Uniforme, e move uma bola segundo esse deslocamento
void moveBolaMRU(){
d=v*t;
ellipse(d,300,20,20);
}
BÔNUS MRUV:
Mesmo caso da função anterior, só que nesse caso é com o Movimento Retilíneo Uniformemente Variado.
void moveBolaMRUV(){
d=v0*t +a*t*t/2;
ellipse(width/2,height-d,20,20);
}
Nenhum comentário:
Postar um comentário