Os carros conseguem atravessar o ator da borda de baixo até o meio do Ator.
//variáreis do ator
let xAtor = 75
let yAtor = 550
let atorInicial = 550
let comprimentoAtor = 40
let diametroAtor = 40
let raioAtor = 20
let colisao = false
let marcaPonto = 0
function mostraAtor(){
image(imagemDoAtor, xAtor, yAtor, comprimentoAtor, diametroAtor);
}
function movimentoAtor(){
if(keyIsDown(UP_ARROW)){
yAtor -= 4
}
if(atorPodeSeMover()){
if(keyIsDown(DOWN_ARROW)){
yAtor += 4
}
}
}
//collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
function verificaColisao(){
for(let i = 0; i < imagemCarros.length; i ++ ){
colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, larguraCarro, xAtor, yAtor, raioAtor)
if(colisao){
voltaAtorInicio();
if(pontoMaiorQueZero ()){
marcaPonto --
}
}
}
}
function voltaAtorInicio(){
yAtor = atorInicial
}
function exibirPonto (){
fill(color(255,240,60));
textAlign(CENTER);
textSize(40);
text(marcaPonto, width/5, 40);
}
function pontos(){
if(yAtor < 6){
marcaPonto ++
voltaAtorInicio()
}
}
function exibirPontoErro (){
fill(color(255,240,60));
textAlign(CENTER);
textSize(40);
text(perdePonto, width/1.2, 40);
}
function pontoMaiorQueZero(){
return marcaPonto > 0
}
function atorPodeSeMover (){
return yAtor < 550
}
//código de carros
let xCarros = [800, 800, 800, 800, 800, 800]
let yCarros = [63, 150, 230, 320, 400, 482]
let velocidadeCarros = [5, 6, 7, 10, 3, 2]
//dimensões
let comprimentoCarro = 70
let larguraCarro = 55
let xCarroInicial = 800
function mostraCarro(){
for(let i = 0; i < imagemCarros.length; i ++ ){
image(imagemCarros[i], xCarros[i], yCarros[i], comprimentoCarro, larguraCarro)
}
}
function movimentaCarro(){
for(let i = 0; i < imagemCarros.length; i ++ ){
xCarros[i] -= velocidadeCarros[i]
}
}
function voltaPosicaoinicialDoCarro(){
for(let i = 0; i < imagemCarros.length; i ++ ){
if(passouTodaTela(xCarros[i])){
xCarros[i] = xCarroInicial
}
}
}
function passouTodaTela(xCarros){
return xCarros < -70;
}
function setup() {
createCanvas(800, 600);
}
function draw() {
background(imagemDaEstrada);
mostraAtor();
mostraCarro();
movimentaCarro();
movimentoAtor();
voltaPosicaoinicialDoCarro();
verificaColisao()
exibirPonto()
pontos();
}