210 7643187Τηλέφωνο Επικοινωνίας - 210 7649008Τηλέφωνο Διευθυντή

ΓΡΑΦΙΚΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ

ΣΚΟΠΟΣ: Τρεις κύκλοι πέφτουν από το πάνω άκρο του παραθύρου. Στόχος του παίκτη είναι να προλάβει να πατήσει μέσα στους κύκλους πριν φτάσουν στο κάτω άκρο.

- Αν κάποιος κύκλος προλάβει να φτάσει κάτω, τότε ο παίκτης χάνει μία ζωή και ο κύκλος μεταφέρεται ξανά στην αρχή.

- Κάθε φορά που ο παίκτης πατάει μέσα σε έναν κύκλο, κερδίζει σκορ και ο κύκλος μεταφέρεται ξανά στην αρχή.

- Ο παίκτης ξεκινάει με 5 ζωές.

- Όσο αυξάνεται το σκόρ τόσο πιο γρήγορα πέφτουν οι κύκλοι.

- Όταν μηδενιστούν οι ζωές, το παιχνίδι σταματάει (game over). 

- Το παιχνίδι γίνεται ξεκινάει εκ νέου (restart) με κλικ του ποντικιού.

// Μεταβλητές για τον 1ο κύκλο
float x1, y1, diam1, speed1;

// Μεταβλητές για τον 2ο κύκλο
// .....

// Μεταβλητές για τον 3ο κύκλο
// .....

// Μεταβλητές για σκορ κ ζωές
int score, lives;

// Μεταβλητή που δείχνει αν ο παίκτης έχασε
boolean lost;

// Μέσα στη setup δίνουμε όλες τις αρχικές ρυθμίσεις
void setup()
{
  // Το παιχνίδι να παίζει fullscreen
  fullScreen();

  // Αρχικές τιμές για σκορ και ζωές
  score = 0;
  lives = 5;

  // Αρχική τιμή false για το lost
  lost = false;

  // Χαρακτηριστικά του 1ου κύκλου
  diam1 = 90;
  x1 = width/4;
  y1 = diam1/2;
  speed1 = 3;

  // Χαρακτηριστικά του 2ου κύκλου
  // .....

  // Χαρακτηριστικά του 3ου κύκλου
  // .....

  // Μέγεθος γραμμάτων
  textSize(30);

  // Τα σχήματα να μην έχουν περίγραμμα
  noStroke();
}  // εδώ κλείνει η setup


void draw()
{
  // Ζωγραφίζεται το φόντο
  background(#539090);

  // Ζωγραφίζεται ο 1ος κύκλος
  fill(#6AFA0D);
  circle(x1, y1, diam1);

  // Υπολογίζεται η νέα θέση του 1ου κύκλου
  y1 = y1 + speed1;

  // Αν ο 1ος κύκλος έχει φτάσει κάτω κάτω, χάνεται μία ζωή
  // και διορθώνουμε τη νέα θέση ώστε να εμφανιστεί ξανά πάνω πάνω
  if (y1 >= height - diam1/2)
  {
    y1 = diam1/2;
    lives--;
  }

  // Ζωγραφίζεται ο 2ος κύκλος
  // ....

  // Υπολογίζεται η νέα θέση του 2ου κύκλου
  // ....

  // Αν ο 2ος κύκλος έχει φτάσει κάτω κάτω, χάνεται μία ζωή
  // και διορθώνουμε τη νέα θέση ώστε να εμφανιστεί ξανά πάνω πάνω
  // ....

  // Ζωγραφίζεται ο 3ος κύκλος
  // ....

  // Υπολογίζεται η νέα θέση του 3ου κύκλου
  // ....

  // Αν ο 3ος κύκλος έχει φτάσει κάτω κάτω, χάνεται μία ζωή
  // και διορθώνουμε τη νέα θέση ώστε να εμφανιστεί ξανά πάνω πάνω
  // ....

  // Εμφανίζουμε σκορ και ζωές
  text("SCORE: " + score, 100, 50);
  text("LIVES: " + lives, width-300, 50);

  // Αν οι ζωές είναι μηδέν, το παιχνίδι σταματάει με noLoop()
  // και η μεταβλητή lost γίνεται true (για να θυμάται το πρόγραμμα ότι ο παίκτης έχασε)
  if (lives == 0)
  {
    noLoop();
    lost = true;
  }
}  // εδώ κλείνει η draw



void mousePressed()
{
  // Αν ο παίκτης έκανε κλικ μέσα στον 1ο κύκλο
  // κερδίζει σκορ και ο κύκλος πηγαίνει ξανά στην αρχή (πάνω πάνω)
  if (dist(x1, y1, mouseX, mouseY) < diam1/2)
  {
    y1 = diam1/2;
    score++;
  }

  // Αν ο παίκτης έκανε κλικ μέσα στον 2ο κύκλο
  // κερδίζει σκορ και ο κύκλος πηγαίνει ξανά στην αρχή (πάνω πάνω)
  // ......

  // Αν ο παίκτης έκανε κλικ μέσα στον 3ο κύκλο
  // κερδίζει σκορ και ο κύκλος πηγαίνει ξανά στην αρχή (πάνω πάνω)
  // .....

  // Αν ο παίκτης έχει χάσει, θέλουμε με κλικ να γίνεται restart
  if (lost == true)
  {
    // όλες οι μεταβλητές παίρνουν πάλι τις αρχικές τους τιμές
    // ......

    // η draw ξεκινάει πάλι
    loop();
  }

  // Αν το σκορ είναι 5 ή 10, οι ταχύτητες να αυξάνονται
  if (score == 5 || score == 10)
  {
    // .......
  }
  
} // εδώ κλείνει η mousePressed


 
Επιστροφή στην κορυφή της σελίδας