Coucou, moi et ma binôme avons choisis de présenter comme un projet en ISN un Pong.
Nous avons récupérer le code sur internet, et on l'a bidouiller pour le mettre à notre gout.
Seulement, une partie du dit-code reste bien obscure pour nous autres novices .. Serait possible d'avoir un éclaircissement ?
C'est le void () rebondir et notamment le SENS et OK qui nous pose problème, on ne sait tout bonnement pas à quoi ils servent. Voici le code en entier :
int deplacementX, deplacementY;
int X, Y;
int X1, Y1;
int bbb;
int aaa;
float couleur, couleur1, couleur2;
float SCORE_GAUCHE, SCORE_DROIT;
void setup() {
size(400, 400);
X = 100;
Y = 100;
X1=X;
Y1=Y;
aaa = 200;
bbb = 200;
deplacementX = 2;
deplacementY = -2;
SCORE_GAUCHE=0;
SCORE_DROIT=0;
couleur = 50;
couleur1 = 25;
couleur2=0;
noStroke();
fill(0, 0, 0, 255);
}
void draw() {
nettoyer();
bouger();
rebondir();
dessiner();
X1=X;
Y1=Y;
score();
}
void nettoyer() {
background(255);
}
void rebondir() {
int SENS;
int OK;
float azerty;
if ((X > width && deplacementX > 0) || (X < 0 && deplacementX < 0)) {
deplacementX = -deplacementX;
}
if (X < 0 && deplacementX < 0) {
deplacementX = abs(deplacementX);
}
if ((Y > width && deplacementY > 0) || (Y < 0 && deplacementY < 0)) {
deplacementY = -deplacementY;
}
if (Y < 0 && deplacementY < 0) {
deplacementY = abs(deplacementY);
}
SENS=0;
if (X<X1 && Y>Y1) {
// DESCENTE
SENS=1;
}
OK=0;
if (X<=21 || X>=379)
{
if (Y>=bbb && Y<=(bbb+60))
{
if (SENS==0)
{
deplacementY = -2;
deplacementX = +2;
couleur=random(0, 0);
couleur1=random(0, 0);
couleur2=random(0, 0);
}
else
{
deplacementY = +2;
deplacementX = +2;
couleur=random(0, 0);
couleur1=random(0, 0);
couleur2=random(0, 0);
}
bouger();
OK=1;
}
else
if (Y>=aaa && Y <=(aaa+60))
{
if (SENS==1)
{
deplacementY = +2;
deplacementX = -2;
couleur=random(0, 0);
couleur1=random(0, 0);
couleur2=random(0, 0);
}
else
{
deplacementY = +2;
deplacementX = -2;
couleur=random(0, 0);
couleur1=random(0, 0);
couleur2=random(0, 0);
}
bouger();
OK=1;
}
azerty = 0.5;
if (OK==0) {
if (X==0)
SCORE_DROIT = SCORE_DROIT + azerty;
couleur=random(0, 0);
couleur1=random(0, 0);
couleur2=random(0, 0);
if (X==400)
SCORE_GAUCHE = SCORE_GAUCHE + azerty;
couleur=random(0, 0);
couleur=random(0, 0);
couleur1=random(0, 0);
couleur2=random(0, 0);
println("SCORE "+SCORE_GAUCHE+"/"+SCORE_DROIT);
}
}
}
void bouger() {
X = X + deplacementX;
Y = Y + deplacementY;
}
void dessiner() {
ellipse(X, Y, 10, 10);
fill(couleur, couleur1, couleur2);
rect(10, bbb, 10, 60);
rect(380, aaa, 10, 60);
rect(200, 10, 10, 50);
rect(200, 70, 10, 50);
rect(200, 130, 10, 50);
rect(200, 190, 10, 50);
rect(200, 250, 10, 50);
rect(200, 310, 10, 50);
rect(200, 370, 10, 50);
if (keyPressed)
{
if (key == 'a')
{
bbb = bbb - 5;
}
if (key == 'q')
{
bbb = bbb + 5;
}
}
if (keyPressed)
{
if (key == 'p')
{
aaa = aaa - 5;
}
if (key == 'm')
{
aaa = aaa + 5;
}
}
}
void score() {
if (SCORE_GAUCHE== 1.0) {
rect(100, 10, 10, 50);
}
if (SCORE_DROIT== 1.0) {
rect(300, 10, 10, 50);
}
if (SCORE_GAUCHE== 0.0) {
rect(100, 10, 10, 60);
rect(75, 10, 10, 60);
rect(75, 10, 25, 20);
rect(75, 50, 25, 20);
}
if (SCORE_DROIT== 0.0) {
rect(300, 10, 10, 60);
rect(275, 10, 10, 60);
rect(275, 10, 25, 20);
rect(275, 50, 25, 20);
}
if (SCORE_GAUCHE==2.0) {
rect(100, 10, 60, 10);
rect(100, 30, 60, 10);
rect(100, 50, 60, 10);
rect(150, 10, 10, 20);
rect(100, 40, 10, 20);
}
if (SCORE_DROIT==2.0) {
rect(250, 10, 60, 10);
rect(250, 30, 60, 10);
rect(250, 50, 60, 10);
rect(300, 10, 10, 20);
rect(250, 40, 10, 20);
}
if (SCORE_GAUCHE==3.0) {
rect(100, 10, 60, 10);
rect(100, 30, 60, 10);
rect(100, 50, 60, 10);
rect(150, 10, 10, 50);
}
if (SCORE_DROIT==3.00) {
rect(250, 10, 60, 10);
rect(250, 30, 60, 10);
rect(250, 50, 60, 10);
rect(300, 10, 10, 50);
}
if (SCORE_GAUCHE==4.00) {
rect(100, 10, 10, 30);
rect(100, 40, 60, 10);
rect(140, 20, 10, 50);
}
if (SCORE_DROIT==4.00) {
rect(250, 10, 10, 30);
rect(250, 40, 60, 10);
rect(290, 20, 10, 50);
}
if (SCORE_DROIT==5.00) {
background(0);
//you
rect(10, 10, 10, 10);
fill(255);
}
if (SCORE_GAUCHE==5.00) {
background(0);
//you
rect(210, 10, 10, 10);
fill(255);
;
//you
rect(210, 10, 10, 10);
fill(255);
}
}
De plus, on aimerait que la vitesse de la balle augmente au fur et à mesure du nombre de coups donnés (donc de la durée de la partie).
J'espère que quelqu'un pourra éclaircir notre lanterne, merci et bonne soirée !
PS : Nous travaillons sous Processing 2
Hors ligne
Pages: 1