Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

quero ajuda para fazer os carros aparecerem aleatorios, pleasee!!!!!

estou mudando pouquinho o jogo(a vaquinha consegue se mexer para todos os lados e com limite de tela), e agora estou querendo deixar os carros aparecendo aleatorios! sem um padrao de cor deles aparecerem! alguem poderia me dar uma dica de como conseguir fazer! ja tentei algumas maneiras mas nao deu certo hshahsha.

link de como ele esta no momento:https://editor.p5js.org/pedroarthurdeabreusouza/sketches/LIEGSya92

4 respostas
solução!

Oi, Pedro

Altera o tipo do carro e a velocidada

carro.js

//código do carro

let xCarros = [650, 800, 650, 600, 850, 700]; //modificado
let yCarros = [40, 96, 150, 210, 263, 318]; 
let larguraDosCarros = [50, 50, 50, 50, 50, 50];
let alturaDosCarros = [40, 40, 40, 40, 40, 40];
let velocidadeCarros = [2, 2.5, 3.2, 5, 3.3, 2.3];
const carroTipo = []; // para identificar os tipos de carro


function mostraCarro(){
    for(let i = 0; i < imagemCarros.length; i++){
  image(carroTipo[i], xCarros[i], yCarros[i], larguraDosCarros[i], alturaDosCarros[i]);  // foi modificado
  }
}

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(passouTodaATela(xCarros[i])){
            xCarros[i] = 700; // modificado
            let novoCarro = Math.floor(Math.random() * imagemCarros.length); // varia de 0 a 5
            carroTipo[i] = imagemCarros[novoCarro]; // altera o tipo do carro
            let novaVelocidade = Math.random() * 3 + 2; // varia de 2 a 4.99
            velocidadeCarros[i] = novaVelocidade; // altera a velocidade do carro
        }
    }
}

function passouTodaATela(xCarro){
    return xCarro < - 50;
}
  • sketch.js
function setup() {
  createCanvas(500, 400);
  somDaTrilha.loop();
  // inserindo as imagens em carroTipo
  for(let i = 0; i < imagemCarros.length; i++){
    carroTipo.push(imagemCarros[i]);
  }
}

function draw() {
  background(imagemDaEstrada);
  mostraAtor();
  mostraCarro();
  movimentaAtor();
  movimentaCarro();
  voltaPosicaoInicialDoCarro();
  verificaColisao();
  incluiPontos();
  marcaPonto();
}

Boa tarde. Esse código também randomizou a velocidade dos carros, correto?

Sim. Variando de 2 a 5


    let novaVelocidade = Math.random() * 3 + 2; // varia de 2 a 4.99
    velocidadeCarros[i] = novaVelocidade; // altera a velocidade do carro

Muito obrigado, Luiz!

Consegui fazer e enterder a logica, mesmo tendo alguns comandos que nunca tinha usado!

Agora sim ficou do jeito que eu queriaaa https://editor.p5js.org/pedroarthurdeabreusouza/sketches/LIEGSya92