Depois que o professor ensinou a por as imagens na tela, tomei a liberdade de tentar fazer o restante sozinho. Com certeza teria como deixar mais prático, mas esse foi o melhor que eu consegui no momento. https://editor.p5js.org/Fontes/sketches/TTv2D06h8
var fundoEstrada;
var vaca;
//sons
var trilha;
var ponto;
var colisao;
//imagens
var carro1;
var carro2;
var carro3;
var carro4;
var carro5;
var carro6;
var marvin;
//carro1
var xCarro1 = 500;
var yCarro1 = 42;
//carro2
var xCarro2 = 500;
var yCarro2 = 97;
//carro3
var xCarro3 = 500;
var yCarro3 = 150;
//carro4
var xCarro4 = 0;
var yCarro4 = 212;
//carro5
var xCarro5 = 0;
var yCarro5 = 263;
//carro6
var xCarro6 = 0;
var yCarro6 = 318;
//eixos vaca
var yVaca = 366;
var xVaca = 150;
//placar
var pontoVaca = 0;
var pontoCarro = 0;
function preload(){
fundoEstrada = loadImage('imagens/estrada.png');
vaca = loadImage('imagens/ator-1.png');
carro1 = loadImage('imagens/carro-1.png');
carro2 = loadImage('imagens/carro-2.png');
carro3 = loadImage('imagens/carro-3.png');
carro4 = loadImage('imagens/carroInvertido.png');
carro5 = loadImage('imagens/invertido2.png');
carro6 = loadImage('imagens/invertido3.png');
marvin = loadImage('imagens/Marvin.png');
trilha = loadSound('sons/trilha.mp3');
colisao = loadSound('sons/colidiu.mp3');
ponto = loadSound('sons/pontos.wav');
}
function setup() {
createCanvas(500, 400);
trilha.loop();
}
function draw() {
background(fundoEstrada);
moveCarro1();
moveCarro2();
moveCarro3();
moveCarro4();
moveCarro5();
moveCarro6();
image(vaca, xVaca, yVaca, 30, 30);
image(carro1, xCarro1, 42, 50, 40);
image(carro2, xCarro2 , 97, 50, 40);
image(carro3, xCarro3, 150, 50, 40);
image(carro4, xCarro4, 212, 50, 40);
image(carro5, xCarro5, 263, 50, 40);
image(carro6, xCarro6, 318, 50, 40)
moveVaca();
verificaColisao(xCarro1, yCarro1);
verificaColisao(xCarro2, yCarro2);
verificaColisao(xCarro3, yCarro3);
verificaColisao(xCarro4, yCarro4);
verificaColisao(xCarro5, yCarro5);
verificaColisao(xCarro6, yCarro6);
DesenhaPlacar();
marvinEgg();
}
function moveCarro1(){
if(xCarro1 < 501 && xCarro1 > -49){
xCarro1-= 5;
} else if (xCarro1 < - 48){
xCarro1 = 500;
}
}
function moveCarro2(){
if(xCarro2 < 501 && xCarro2 > -49){
xCarro2-= 7;
} else if (xCarro2 < - 48){
xCarro2 = 500;
}
}
function moveCarro3(){
if(xCarro3 < 501 && xCarro3 > -49){
xCarro3-= 3;
} else if (xCarro3 < - 48){
xCarro3 = 500;
}
}
function moveCarro4(){
if(xCarro4 > -21 && xCarro4 < 500){
xCarro4 +=4
} else if( xCarro4 > 499){
xCarro4 = -20
}
}
function moveCarro5(){
if(xCarro5 > -21 && xCarro5 < 500){
xCarro5 +=8
} else if( xCarro5 > 499){
xCarro5 = -20
}
}
function moveCarro6(){
if(xCarro6 > -21 && xCarro6 < 500){
xCarro6 +=2
} else if( xCarro6 > 499){
xCarro6 = -20
}
}
function moveVaca(){
if(keyIsDown(UP_ARROW)){
yVaca -= 5
} else if(keyIsDown(DOWN_ARROW)){
yVaca += 5
}
if( yVaca < 5){
yVaca = 366;
pontoVaca++;
ponto.play();
}
}
function verificaColisao(x, y){
if(xVaca + 30 > x && xVaca < x + 50 && yVaca + 30 > y && yVaca < y + 40 ){
yVaca = 366;
pontoCarro++;
colisao.play();
}
}
function DesenhaPlacar(){
fill('green');
stroke(0)
textSize(20)
text(pontoVaca, 270, 25)
fill('red');
stroke(0);
textSize(20)
text(pontoCarro, 370, 25)
}
function marvinEgg(){
var soma = pontoVaca + pontoCarro
if(soma == 42){
image(marvin, 250, 200);
}
}
Tentei reduzir as 6 funções de mover carro pra no máximo 2(uma para a parte superior e outra para a parte inferior), mas n consegui. Independentemente, to bem feliz com o resultado