Στο παιχνίδι χρειαζόμαστε πολλά αντικείμενα που να είναι κύκλοι, να πέφτουν με συγκεκριμένη ταχύτητα, αν φτάσουν στο κάτω μέρος του παραθύρου να εμφανίζονται από επάνω, και το ίδιο να συμβαίνει όταν τα ακουμπήσει ο παίκτης.
Δημιουργούμε μία περιγραφή αυτών των αντικειμένων: την κλάση Ball.
BHMA 1o - Τα χαρακτηριστικά ενός Ball
class Ball
{
float x, y, d, speed;
color xroma;
} // τέλος class
ΒΗΜΑ 2ο - Ο κατασκευαστής
class Ball
{
float x, y, d, speed;
color xroma;
Ball(float px, float py, float pd, float pspeed, color pxroma)
{
x = px;
y = py;
d = pd;
speed = pspeed;
xroma = pxroma;
}
} // τέλος class
BHMA 3o - H ικανότητα ενός Ball να εμφανίζεται
class Ball
{
float x, y, d, speed;
color xroma;
Ball(float px, float py, float pd, float pspeed, color pxroma)
{
x = px;
y = py;
d = pd;
speed = pspeed;
xroma = pxroma;
}
void display()
{
noStroke();
fill (xroma);
ellipse(x, y, d, d);
}
} // τέλος class
BHMA 4o - Η ικανότητα ενός Ball να πέφτει
class Ball
{
float x, y, d, speed;
color xroma;
Ball(float px, float py, float pd, float pspeed, color pxroma)
{
x = px;
y = py;
d = pd;
speed = pspeed;
xroma = pxroma;
}
void display()
{
noStroke();
fill (xroma);
ellipse(x, y, d, d);
}
void move()
{
y = y + speed; // υπολογισμός επόμενης θέσης (λίγο πιο κάτω)
if (y >= height - d/2) // έλεγχος αν έφτασε κάτω κάτω
y = 0;
}
} // τέλος class
BHMA 5o - Η ικανότητα ενός Ball να καταλαβαίνει ότι συγκρούστηκε με τον παίκτη
class Ball
{
float x, y, d, speed;
color xroma;
Ball(float px, float py, float pd, float pspeed, color pxroma)
{
x = px;
y = py;
d = pd;
speed = pspeed;
xroma = pxroma;
}
void display()
{
noStroke();
fill (xroma);
ellipse(x, y, d, d);
}
void move()
{
y = y + speed; // υπολογισμός επόμενης θέσης (λίγο πιο κάτω)
if (y >= height - d/2) // έλεγχος αν έφτασε κάτω κάτω
y = 0;
}
void checkCollision()
{
if (dist(x, y, mouseX, 500) <= 40 + d/2)
y = 0;
}
} // τέλος class