Em alguns detalhes do jogo Freeway do Atari que a gente recria, ele pede pra gente pontuar no y 15, e pra renascer no mesmo 366 inicial. Só que eu acho que fica mais interessante usar o 0 - 15 pra pontuação do y, pra ter a sensação do personagem saindo da tela, e voltar pro 366 + 45 (pouco menos do tamanho total do ator), pra dar a impressão de quando você ganha, uma vaca sai por cima, e outra entra por baixo. :) Porque também me encontrei com a situação de passar por cima, e no momento que o ator nasce embaixo, eu ainda estava com seta pra cima apertada, então acabava batendo no primeiro carro e perdendo ponto a toa, então começar com 366 + 45 acaba também, além de ficar mais bonito, te dando a oportunidade de subir sem perigo de perder pontos, mas ainda com o if pra andar pra baixo com < 366, então ele sobe, mas continua não saindo da tela. :)
Queria saber também como que eu faria pra aumentar a dificuldade a cada ponto, deixei uma parte comentada no ator.js, que quando eu tentei executar, sumiram-se 3 dos carros, intercaladamente o 2º, 4º e 6º carro. ):
ator.js
// Variáveis do Ator
let xAtorInicial = 50;
let xAtor = 50;
let yAtor = 366;
let atorComprimento = 30;
let atorAltura = 30;
let velocidadeAtor = 2
// Variáveis do ponto do Ator (eu)
let meusPontos = 0;
// Demonstração visual do meu ator
function mostraAtor(){
image(imagemDoAtor, xAtor, yAtor, atorComprimento, atorAltura);
}
// O que faz meu ator se mexer
function movimentaAtor(){
if(keyIsDown(UP_ARROW) && yAtor > - 15){
yAtor -= velocidadeAtor
}
if(keyIsDown(DOWN_ARROW) && yAtor < 366){
yAtor += velocidadeAtor
}
}
function incluiPontos(){
textAlign(CENTER);
textSize(25);
fill(color(255,165,0));
rect(xAtor, 6, 29, 24);
fill(0);
text(meusPontos, xAtor + 15, 27);
}
function fazPonto(){
if(yAtor < -10){
meusPontos += 1
yAtor = 366 + 45;
pontos.play();
//velocidadeCarros += [0.5, 0.5, 0.5, 0.5, 0.5, 0.5];
}
}
Também defini um xAtorInicial pra mudar junto com o xAtor para facilitar a mudança do texto na hora que o ator morre. :D
carro.js
// Variáveis de todos os Carros
let comprimentoCarro = 50;
let alturaCarro = 40;
let xCarros = [500, 500, 500, 500, 500, 500];
let yCarros = [40, 96, 150, 211, 262, 318];
let velocidadeCarros = [2, 2.5, 3.2, 5, 3.3, 2.3];
// Demonstração visual do meu carro
function mostraCarro(){
for(var i = 0; i < imagemCarros.length; i++){
image(imagemCarros[i], xCarros[i], yCarros[i], comprimentoCarro, alturaCarro);
}
}
// O que faz o carro mexer
function movimentaCarro(){
for (let i = 0; i < imagemCarros.length; i++){
xCarros[i] -= velocidadeCarros[i];
if (xCarros[i] < 0 - comprimentoCarro){
xCarros[i] = 550;
}
}
}
var colisao = false;
function verificaColisao(){
for (let i = 0; i < imagemCarros.length; i++){
colisao = collideRectRect(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, atorComprimento-3, atorAltura-3);
if(colisao){
xAtor = xAtorInicial;
yAtor = 366;
colidiu.play();
if (meusPontos > 0){
meusPontos -= 1;
}
}
}
}
Comecei a estudar programação tem cerca de 1 mês, e gostaria de saber se meu progresso parece estar indo bem. :) Adorei os cursos de vocês e espero aprender muito mais ainda!