PessoALL,
- DICA: NÃO esqueça de mudar o nome (renomear) do arquivo para "pong.js" dentro do "https://editor.p5js.org/"
Estou usando o "Bing Chat", onde reza a lenda que é uma versão da Microsoft baseada no ChatG-PATÊ 4.
Os códigos são estes:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Pong Game</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/addons/p5.sound.min.js"></script>
<style>
body {
margin: 0;
padding: 0;
}
canvas {
display: block;
}
</style>
</head>
<body>
<script src="pong.js"></script>
</body>
</html>
// Variáveis do jogo
let pontuacaoJogador1 = 0;
let pontuacaoJogador2 = 0;
let larguraRaquete = 10;
let alturaRaquete = 100;
let tamanhoBola = 10;
let velocidadeBola = 5;
let direcaoXBola = 1;
let direcaoYBola = 1;
let posicaoXBola = 400;
let posicaoYBola = 300;
let posicaoYJogador1 = 250;
let posicaoYJogador2 = 250;
function setup() {
createCanvas(800, 600);
}
function draw() {
background(0);
desenhaRede();
desenhaRaquetes();
desenhaBola();
moveBola();
}
function desenhaRede() {
stroke(255);
strokeWeight(2);
for (let i = 0; i < height; i += 15) {
line(width / 2, i, width / 2, i + 10);
}
}
function desenhaRaquetes() {
fill(255);
rect(0, posicaoYJogador1, larguraRaquete, alturaRaquete);
// Computador
fill(255);
rect(width - larguraRaquete, posicaoYJogador2, larguraRaquete, alturaRaquete);
}
function desenhaBola() {
fill(255);
ellipse(posicaoXBola, posicaoYBola, tamanhoBola);
}
function moveBola() {
posicaoXBola += velocidadeBola * direcaoXBola;
posicaoYBola += velocidadeBola * direcaoYBola;
if (posicaoXBola < larguraRaquete) {
if (posicaoYBola > posicaoYJogador1 && posicaoYBola < posicaoYJogador1 + alturaRaquete) {
direcaoXBola *= -1;
} else {
resetBall();
pontuacaoJogador2++;
}
}
if (posicaoXBola > width - larguraRaquete - tamanhoBola) {
if (posicaoYBola > posicaoYJogador2 && posicaoYBola < posicaoYJogador2 + alturaRaquete) {
direcaoXBola *= -1;
} else {
resetBall();
pontuacaoJogador1++;
}
}
if (posicaoYBola < tamanhoBola / 2 || posicaoYBola > height - tamanhoBola / 2) {
direcaoYBola *= -1;
}
}
function resetBall() {
direcaoXBola *= -1;
posicaoXBola = width / 2;
posicaoYBola = height / 2;
}
Tentei rodar no meu editor preferido: "https://replit.com/", ocorreu exatamente o mesmo problema. Testei no meu VS Code com "Go Live"... idem.
Quais são as teclas para mover a raquete? No meu touchpad não move...
[]'s,
Fabio I.