Einfaches JavaScript-Spiel per Tastendruck neu starten?
Wir hatten in der Schule den Auftrag ein einfaches JavaScript-Spiel zu programmieren. Ich will das Programm nun durch einen Druck auf die Taste "R" neu starten. Hier ist der Code:
let start,
ziel,
ballradius,
rgbFarbwerte,
x,
y;
function setup() {
createCanvas(400, 400);
background('black');
stroke("white");
start = circle(60, 390, 10);
ziel = circle(40, 390, 10);
ballradius = 2;
x = 60;
y = 390;
}
function draw() {
//lösche bild
background("black");
//zeichne Spielfeld
fill('white');
stroke("white");
rect(20, 300, 80, 100);
rect(50, 300, 100, 60);
rect(140, 260, 50, 100);
rect(140, 240, 120, 40);
rect(230, 170, 30, 100);
rect(160, 160, 100, 30);
rect(160, 40, 20, 120);
rect(160, 40, 100, 10);
rect(260, 1, 5, 49);
//zeichne Start-,Endpunkt
fill("blue");
stroke("blue");
circle(60, 390, 10);
fill("red");
stroke("red");
circle(262.25, 10, 10);
rgbFarbwerte = get(x, y);
if (rgbFarbwerte[0] === 0 && rgbFarbwerte[1] === 0 && rgbFarbwerte[2] === 0) {
background("red");
console.clear();
console.log("Game over");
}
if (rgbFarbwerte[0] === 255 && rgbFarbwerte[2] === 0) {
background("green");
console.clear();
console.log("You win");
}
//zeichne Kreis
stroke("lightgreen");
fill("lightgreen");
circle(x, y, 4);
//steuere Kreis
if (keyIsDown(68)) { //taste d -> nach rechts
x = x + 2;
}
if (keyIsDown(65)) { //taste a -> nach links
x = x - 2;
}
if (keyIsDown(87)) { // taste w -> nach oben
y = y - 2;
}
if (keyIsDown(83)) { // taste s -> nach unten
y = y + 2;
}
}
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
das müsste genügen einzubauen:
if (keyIsDown(82)) { // taste r -> Spiel neu
setup();
}
Woher ich das weiß:eigene Erfahrung
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Technik, programmieren
Wenn du fragen mit Code postest achte bitte darauf, den Code in einen Code block zu packen und vernünftig einzurücken. Sonst ist es echt nervig den zu lesen.
Ansonsten wäre vermutlich das einfachste das createCanvas aus der Setup Funktion zu nehmen, irgendwo anders zu erledigen und dann einfach beim neustart setup aufzurufen, zumindest beim ersten drauf schauen scheint es so.
Woher ich das weiß:Berufserfahrung – Software Entwickler