// wer das liest ist doof, spiel von felix & felix var zeichenflaeche, GeschenkX, GeschenkY, eingabefeld, NameEingabe, NameCheck; let scs; function explanation() { gameStatus += 1; } // Geschenk Zeichnen function Geschenk_Zeichnen() { for (var count = 0; count < 5; count++) { strokeWeight(1); stroke("#000000"); fill(random(0, 255), random(0, 255), random(0, 255), 255); rect(GeschenkX, GeschenkY, 25, 25); rect(GeschenkX - 2, GeschenkY, 30, 7); fill("#ffff00"); rect(GeschenkX, Geschenk_Y + 10, 25, 5); rect(GeschenkX + 10, GeschenkY, 5, 25); ellipse(GeschenkX + 10, GeschenkY - 3, 6, 6); ellipse(GeschenkX + 15, GeschenkY - 3, 6, 6); } } // Textbox function TextEinAusgabe() { scs.resize(400, 473); image(scs, 20, 140); fill(0); textSize(20); text(NameEingabe, 25, 580); fill(0); text("Wie sollen wir dich nennen?", 25, 550); } //Bilder let bg; // Background let scr; // Santa Claus Rechts let scl; // Santa Claus Links let scgo; // Santa Claus Game Over let bullets = []; let enemies = []; let score = 0; let clouds; let scroll; let planeX = 200; let planeY = 550; let isLeft; let isRight; var zeichenfläche; var GeschenkX; var GeschenkY; var BombeX; var BombeY; //sounds var sound; //score sound game winner function Buchstabe_M() { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); for (var count2 = 0; count2 < 4; count2++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + 64; GeschenkY = GeschenkY + -64; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 64; GeschenkY = GeschenkY + -64; Geschenk_Zeichnen(); for (var count3 = 0; count3 < 4; count3++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + -96; Geschenk_Zeichnen(); GeschenkX = GeschenkX + -64; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); } // Buchstabe A function Buchstabe_A() { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + -32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; for (var count4 = 0; count4 < 4; count4++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + -64; Geschenk_Zeichnen(); GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); for (var count5 = 0; count5 < 2; count5++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); } } // Buchstabe Zeichnen function Geschenk_Zeichnen() { strokeWeight(1); stroke("#000000"); fill(255, 0, 0, 255); rect(GeschenkX, GeschenkY, 25, 25); rect(GeschenkX - 2, GeschenkY, 30, 7); fill("#ffff00"); rect(GeschenkX, GeschenkY + 10, 25, 5); rect(GeschenkX + 10, GeschenkY, 5, 25); ellipse(GeschenkX + 10, GeschenkY - 3, 6, 6); ellipse(GeschenkX + 15, GeschenkY - 3, 6, 6); } // Buchstabe G function Buchstabe_G() { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + -96; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + -32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + -32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); } // Buchstabe O function Buchstabe_O() { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); for (var count6 = 0; count6 < 2; count6++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + -32; Geschenk_Zeichnen(); for (var count7 = 0; count7 < 2; count7++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + -32; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + -32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); } // Buchstabe V function Buchstabe_V() { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); for (var count8 = 0; count8 < 3; count8++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + -32; Geschenk_Zeichnen(); for (var count9 = 0; count9 < 3; count9++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + -32; Geschenk_Zeichnen(); } } // Buchstabe E1 function Buchstabe_E1() { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); for (var count10 = 0; count10 < 4; count10++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); } for (var count11 = 0; count11 < 3; count11++) { GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + -128; Geschenk_Zeichnen(); for (var count12 = 0; count12 < 2; count12++) { GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 64; Geschenk_Zeichnen(); GeschenkX = GeschenkX + -34; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); } // Buchstabe E2 function Buchstabe_E2() { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); for (var count13 = 0; count13 < 4; count13++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); } for (var count14 = 0; count14 < 3; count14++) { GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + -128; Geschenk_Zeichnen(); for (var count15 = 0; count15 < 2; count15++) { GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 64; Geschenk_Zeichnen(); GeschenkX = GeschenkX + -34; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); } // Buchstabe R function Buchstabe_R() { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); for (var count16 = 0; count16 < 4; count16++) { GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); } GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + -64; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 32; GeschenkY = GeschenkY + 32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + 0; GeschenkY = GeschenkY + -96; Geschenk_Zeichnen(); GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + -32; Geschenk_Zeichnen(); GeschenkX = GeschenkX + -32; GeschenkY = GeschenkY + 0; Geschenk_Zeichnen(); } function preload() { bg = loadImage("Bilder/BSM1-min.png"); scr = loadImage("Bilder/SANTA RECHTS4.png"); scl = loadImage("Bilder/SANTA LINKS4.png"); scgo = loadImage("Bilder/SCGO.png"); scs = loadImage("Bilder/WeihnachtsmannSchild.png"); } function setup() { sound = loadSound("sounds/8-bit-powerup-6768.mp3"); // Zustand 0 (nur Eingabefeld) gameStatus = 0; zeichenflaeche = createCanvas(1020, 600); angleMode(DEGREES); background("#33ccff"); eingabefeld = createInput(""); eingabefeld.size(85); eingabefeld.position(50, 50); eingabefeld.input(function e() { NameEingabe = this.value(); }); NameCheck = createButton("Check"); NameCheck.position( zeichenflaeche.position().x + 50, zeichenflaeche.position().y + 550 ); NameCheck.size(40); NameCheck.class("btn btn-secondary btn-sm"); NameCheck.mousePressed(explanation); scroll = 0; isLeft = false; isRight = false; // Positionen Wolken clouds = [ { x: -300, y: 700, w: 110, h: 90, }, { x: -600, y: 350, w: 90, h: 30, }, { x: -1000, y: 200, w: 100, h: 50, }, { x: -300, y: 450, w: 150, h: 60, }, { x: -500, y: 200, w: 100, h: 80, }, { x: 100, y: 350, w: 150, h: 40, }, { x: 300, y: 200, w: 100, h: 50, }, { x: 700, y: 400, w: 140, h: 50, }, { x: 1000, y: 100, w: 100, h: 30, }, { x: 1600, y: 300, w: 300, h: 80, }, { x: 2000, y: 500, w: 140, h: 60, }, ]; //spawn enemies for (let i = 0; i < 10; i++) { let enemy = { x: random(10, width - 10), y: random(-0.5 * height, 0), }; enemies.push(enemy); } } function draw() { if (gameStatus == 0) { eingabefeld.position( zeichenflaeche.position().x + 610, zeichenflaeche.position().y + 385 ); NameCheck.position( zeichenflaeche.position().x + 700, zeichenflaeche.position().y + 385 ); GeschenkX = random(0, 1020); GeschenkY = random(0, 800); TextEinAusgabe(); Geschenk_Zeichnen(); // Zustand 2 } else if (gameStatus == 1) { eingabefeld.position( zeichenflaeche.position().x + 610, zeichenflaeche.position().y + 385 ); NameCheck.position( zeichenflaeche.position().x + 700, zeichenflaeche.position().y + 385 ); GeschenkX = random(0, 1020); GeschenkY = random(0, 800); TextEinAusgabe(); Geschenk_Zeichnen(); image(scs, 600, 140); fill(0); textSize(15); text( " Der Weihnachtsmann hat gesoffen, der Rotwein war zu gut. \n Er ist verwirrt, hilf ihm! Aber gib Acht, die Steuerung \n ist spiegelverkehrt, das muss an den Kopfschmerzen liegen \n Drücke Check um Fortzufahren!\n Du steuerst mit A und D, du schießt mit Mausklick", 600, 500 ); } else { bg.resize(width, height); scr.resize(300, 150); scl.resize(300, 150); scgo.resize(600, 298); image(bg, 0, 0); NameCheck.remove(); eingabefeld.remove(); push(); translate(scroll, 0); //clouds for (let i = 0; i < clouds.length; i++) { fill(255); noStroke(); ellipse(clouds[i].x, clouds[i].y - 20, clouds[i].w - 10, clouds[i].h); ellipse(clouds[i].x + 20, clouds[i].y, clouds[i].w, clouds[i].h); ellipse(clouds[i].x - 20, clouds[i].y, clouds[i].w, clouds[i].h); ellipse(clouds[i].x + 20, clouds[i].y - 20, clouds[i].w, clouds[i].h); } pop(); if (isLeft == true) { //Zustand 1 (Santa Claus Links) image(scl, planeX - 175, planeY - 100); } else { //Zustand 2 (Santa Claus Rechts) image(scr, planeX - 75, planeY - 100); } //Scrollbarer Hintergrund if (isLeft) { if (planeX > width * 0.1) { planeX -= 5; } else { scroll += 5; } } if (isRight) { if (planeX < width * 0.9) { planeX += 5; } else { scroll -= 5; } } //bullets for (let bullet of bullets) { bullet.y -= 10; strokeWeight(1); stroke("#000000"); fill(random(0, 255), random(0, 255), random(0, 255), 255); rect(bullet.x, bullet.y, 25, 25); rect(bullet.x - 2, bullet.y, 30, 7); fill("#ffff00"); rect(bullet.x, bullet.y + 10, 25, 5); rect(bullet.x + 10, bullet.y, 5, 25); ellipse(bullet.x + 10, bullet.y - 3, 6, 6); ellipse(bullet.x + 15, bullet.y - 3, 6, 6); } //update and draw enemies for (let enemy of enemies) { if (enemy.x > width * 0.9) { enemy.x -= random(5, 200); } if (enemy.x < width * 0.1) { enemy.x += random(5, 200); } enemy.y += 2; fill(0, 0, 0); ellipse(enemy.x, enemy.y, 20, 20); rect(enemy.x - 2.5, enemy.y - 15, 5, 5); fill(255, 0, 0); ellipse(enemy.x, enemy.y - 17, 6, 6); fill(80, 80, 80); ellipse(enemy.x, enemy.y, 17, 17); if (enemy.y > height) { noLoop(); background(0); for (let enemy of enemies) { for (let bullet of bullets) { enemies.splice(enemies.indexOf(enemy), 1); bullets.splice(bullets.indexOf(bullet), 1); } } GeschenkX = 50; GeschenkY = 150; Buchstabe_G(); GeschenkX = 180; GeschenkY = 180; Buchstabe_A(); GeschenkX = 330; GeschenkY = 150; Buchstabe_M(); GeschenkX = 510; GeschenkY = 150; Buchstabe_E1(); GeschenkX = 25; GeschenkY = 432; Buchstabe_O(); GeschenkX = 180; GeschenkY = 400; Buchstabe_V(); GeschenkX = 330; GeschenkY = 400; Buchstabe_E2(); GeschenkX = 470; GeschenkY = 400; Buchstabe_R(); SchneeflockeX = []; SchneeflockeY = []; text("Punkt(e) hast du erreicht", 45, 25); for (var count = 0; count < 400; count++) { fill("#ffff00"); ellipse(random(10, 1010), random(10, 550), 3, 3); } image(scgo, 400, 300); } } //collision detection for (let enemy of enemies) { for (let bullet of bullets) { if (dist(enemy.x, enemy.y, bullet.x, bullet.y) < 20) { enemies.splice(enemies.indexOf(enemy), 1); bullets.splice(bullets.indexOf(bullet), 1); let newEnemy = { x: random(10, width - 10), y: random(-2 * height, 0), }; enemies.push(newEnemy); score += 1; sound.play(); } } } fill(255, 255, 0); text(score, 25, 25); } } // Spawn Bullet bei Mausklick function mousePressed() { let bullet = { x: planeX, y: planeY, }; bullets.push(bullet); } //Steuerung Plane function keyPressed() { if (key === "d") { isLeft = true; } if (key === "a") { isRight = true; } } function keyReleased() { if (key === "d") { isLeft = false; } if (key === "a") { isRight = false; } }