/* built with Studio Sketchpad:
* https://sketchpad.cc
*
* observe the evolution of this sketch:
* https://studio.sketchpad.cc/sp/pad/view/ro.A-ncfAgxzxg/rev.9882
*
* authors:
*
* TrobiiX
*
* Leander Vollnhals
* license (unless otherwise specified):
* creative commons attribution-share alike 3.0 license.
* https://creativecommons.org/licenses/by-sa/3.0/
*/
boolean gestartet = false;
boolean gameover = false;
boolean gewonnen = false;
boolean superheld = false;
startclick st = new startclick();
Hindernis1 = new Hindernis();
Player1 = new Player();
Essen1 = new Essen();
int punkte = 1;
int level = 1;
int timer = 400;
void setup() {
size(600,600);
otto = loadImage("http://m.memegen.com/utrtju.jpg");
anna = loadImage("https://previews.123rf.com/images/carmenbobo/carmenbobo1506/carmenbobo150600506/41515293-Rubber-stamp-with-text-try-again-inside-Stock-Vector.jpg");
levelhoeher = loadImage("http://agach.info/new/lcatalog-level-up-logo-png.awp");
}
void draw(){
background(0);
//textSize(100);
//text(" Hallo Leo", 20, 100);
if(st.text == true) {
textSize(26);
fill(0, 255, 255);
text("Catch the green square to win the game", 50, 50);
text("Controle the blue square with", 50, 150);
text("UP, DOWN, LEFT, RIGHT", 50, 250);
text("Don´t crash with the red square", 50, 350);
text("Click mouse to play!", 50, 450);
}
if (gestartet == true) {
Essen1.update();
Player1.update();
Hindernis1.update();
st.text = false;
textSize(32);
text("Punkte:", 440, 50);
text(punkte, 550, 50);
text("Level:", 40, 50);
text(level, 150, 50);
text(timer, 300, 50);
timer--;
}
if (Player1.x <= 0 || Player1.y <= 0 || Player1.x + Player1.breite >= 600 || Player1.y + Player1.hoehe >= 600) {
gameover = true;
}
if (Player1.x + Player1.breite >= Hindernis1.x && Player1.x <= Hindernis1.x + Hindernis1.breite && Player1.y + Player1.hoehe >= Hindernis1.y && Player1.y <= Hindernis1.y + Hindernis1.hoehe) {
gameover = true;
}
if (gameover == true){
allesWeg();
gestartet = false;
gameLose();
}
if (Essen1.x + Essen1.breite >= Hindernis1.x && Essen1.x <= Hindernis1.x + Hindernis1.breite && Essen1.y + Essen1.hoehe >= Hindernis1.y && Essen1.y <= Hindernis1.y + Hindernis.hoehe) {
Essen1.update();
}
if (Player1.x + Player1.breite >= Essen1.x && Player1.x <= Essen1.x + Essen1.breite && Player1.y + Player1.hoehe >= Essen1.y && Player1.y <= Essen1.y + Essen1.hoehe) {
punkte++;
if(punkte == 2){
Essen1.x = random(50, 550);
Essen1.y = random(50, 550);
Hindernis1.x = Hindernis1.x + random(-20, 20);
Hindernis1.y = Hindernis1.y + random(-20, 20);
timer = 400;
}else if(punkte == 3){
Essen1.x = random(50, 550);
Essen1.y = random(50, 550);
Hindernis1.x = Hindernis1.x + random(-25, 25);
Hindernis1.y = Hindernis1.y + random(-25, 25);
timer = 400;
}else if(punkte == 4){
Essen1.x = random(50, 550);
Essen1.y = random(50, 550);
Hindernis1.x = Hindernis1.x + random(-30, 30);
Hindernis1.y = Hindernis1.y + random(-30, 30);
timer = 400;
}else if(punkte == 5){
Essen1.x = random(50, 550);
Essen1.y = random(50, 550);
Hindernis1.x = Hindernis1.x + random(-35, 35);
Hindernis1.y = Hindernis1.y + random(-35, 35);
timer = 400;
}else if(punkte == 6){
level = level + 1;
gewonnen = true;
Essen1.x = random(50, 550);
Essen1.y = random(50, 550);
Hindernis1.x = Hindernis1.x + random(-40, 40);
Hindernis1.y = Hindernis1.y + random(-40, 40);
timer = 400;
}else if(punkte == 7){
Essen1.x = random(50, 550);
Essen1.y = random(50, 550);
Hindernis1.x = Hindernis1.x + random(-45, 45);
Hindernis1.y = Hindernis1.y + random(-45, 45);
timer = 400;
}else if(punkte == 8){
Essen1.x = random(50, 550);
Essen1.y = random(50, 550);
Hindernis1.x = Hindernis1.x + random(-50, 50);
Hindernis1.y = Hindernis1.y + random(-50, 50);
timer = 400;
}else if(punkte == 9){
Essen1.x = random(50, 550);
Essen1.y = random(50, 550);
Hindernis1.x = Hindernis1.x + random(-55, 55);
Hindernis1.y = Hindernis1.y + random(-55, 55);
timer = 400;
}else if(punkte == 10){
level = level + 1;
gewonnen = true;
}
}
if (timer == 0) {
gameover = true;
}
if (gewonnen == true){
allesWeg();
gameWin();
}
if(level == 2) {
level = 2;
}
}
void mouseReleased() {
gestartet = true;
if (gewonnen) {
allesDa();
}
if (gameover) {
allesDa();
level = 0;
}
}
void allesWeg() {
Player1.x = -100;
Player1.y = -100;
Hindernis1.x = -1000;
Hindernis1.y = -1000;
Essen1.x = 100;
Essen1.y =-100;
}
void allesDa() {
Player1.x = 100;
Player1.y = 100;
Hindernis1.x = 200;
Hindernis1.y = 250;
Essen1.x = random(50, 550);
Essen1.y = random(50, 550);
st.text = false;
textSize(32);
text("Punkte:", 450, 50);
text(punkte, 550, 50);
gestartet = true;
punkte = 1;
gameover = false;
gewonnen = false;
timer = 400;
}
void gameWin() {
background(0);
stroke(0);
textSize(32);
text("YOU WIN!", 100, 200);
text("Level:", 100, 300);
text(level, 300, 300);
text("Punkte: ", 100, 400);
text(punkte, 300, 400);
text("Click mouse to play again!", 100, 500);
//image(otto, 300, 100, 200, 200);
image(levelhoeher, 500, 300, 50, 50);
}
void gameLose() {
background(0);
fill(255, 0, 0);
textSize(32);
text("GAME OVER", 100, 200);
text("Level:", 100, 300);
text(level, 300, 300);
text("Punkte: ", 100, 400);
text(punkte, 300, 400);
text("Click mouse to play again!", 100, 500);
image(anna, 350, 100, 200, 200);
}
void keyPressed() {
if (key == CODED) {
if (keyCode == LEFT) {
Player1.x -= 10;
}
if (keyCode == RIGHT) {
Player1.x += 10;
}
if (keyCode == UP) {
Player1.y -= 10;
}
if (keyCode == DOWN) {
Player1.y += 10;
}
}
}
class Hindernis {
int x;
int y;
int red;
int green;
int blue;
int hoehe;
int breite;
Hindernis() {
x = 200;
y = 250;
red = 255;
green = 0;
blue = 0;
hoehe = 100;
breite = 200;
}
void update() {
fill(red, green, blue);
rect(x, y, breite, hoehe);
}
}
class Player {
int x;
int y;
int red;
int green;
int blue;
int breite;
int hoehe;
Player() {
x = 100 ;
y = 100 ;
red = 0;
blue = 255;
green = 0;
breite = 25;
hoehe = 25;
}
void update() {
fill(red, green, blue);
rect(x, y, breite, hoehe);
}
}
class Essen {
int x;
int y;
int red;
int green;
int blue;
int breite;
int hoehe;
Essen() {
x = random(50, 550);
y = random(50, 550);
red = 0;
green = 255;
blue = 0;
breite = 25;
hoehe = 25;
}
void update() {
fill(red, green, blue);
rect(x, y, breite, hoehe);
}
}
class startclick {
boolean text = true;
}