int gameScreen = 1; float a; player p1; float speed1x = 0; // η ταχύτητα του 1ου παίκτη στον άξονα x float speed1y = 0; // η ταχύτητα του 1ου παίκτη στον άξονα y player p2; float speed2x = 0; // η ταχύτητα του 1ου παίκτη στον άξονα x float speed2y = 0; // η ταχύτητα του 1ου παίκτη στον άξονα y // Δηλώνουμε ένα αντικείμενο τύπου ball ball b; void setup() { size(800, 600); // Με τη βοήθεια του κατασκευαστή, δημιουργείται // ένα ΣΥΓΚΕΚΡΙΜΕΝΟ αντικείμενο, το b b = new ball(100, 500, 50, 0, 0, 255, null); p1 = new player(200, 300, 60, 60, #25F731, null); p2 = new player(400, 300, 60, 60, #D30D0D, null); } void draw() { background(0); // Οι εντολές αυτές θα μπουν στο τμήμα προγράμματος gameScreen() b.move(); b.display(); p1.display(); p1.move(speed1x, speed1y); p2.display(); p2.move(speed2x, speed2y); ballPlayerCollision(); } void keyPressed() { if (gameScreen == 1) { movePlayer1(); movePlayer2(); moveBall(); } } void keyReleased() { if (gameScreen == 1) { stopPlayer1(); stopPlayer2(); } } void moveBall() { if (key == CODED) { if (keyCode == RIGHT) { b.setSpeedx(1); } else if (keyCode == LEFT) { b.setSpeedx(-1); } else if (keyCode == UP) { b.setSpeedy(-1); } else if (keyCode == DOWN) { b.setSpeedy(1); } } // τέλος key CODED } // τέλος moveBall void movePlayer1() { if (key == CODED) { if (keyCode == UP) speed1y = -5; if (keyCode == DOWN) speed1y = 5; if (keyCode == LEFT) speed1x = -5; if (keyCode == RIGHT) speed1x = 5; } } void stopPlayer1() { if (key == CODED) { if (keyCode == UP) speed1y = 0; if (keyCode == DOWN) speed1y = 0; if (keyCode == LEFT) speed1x = 0; if (keyCode == RIGHT) speed1x = 0; } } void movePlayer2() { if (key == 'w') speed2y = -5; if (key == 's') speed2y = 5; if (key == 'a') speed2x = -5; if (key == 'd') speed2x = 5; } void stopPlayer2() { if (key == 'w') speed2y = 0; if (key == 's') speed2y = 0; if (key == 'a') speed2x = 0; if (key == 'd') speed2x = 0; } void ballPlayerCollision() { if (dist(b.x, b.y, p1.x, p1.y) <= 20 || dist(b.x, b.y, p2.x, p2.y) <= 20 ) { a = -b.xspeed; b.setSpeedx(a); } if (dist(b.x, b.y, p1.x, p1.y) <= 20 || dist(b.x, b.y, p2.x, p2.y) <= 20 ) { a = -b.yspeed; b.setSpeedy(a); } }