Programmation du Jeu Pong en Java – Modifions le jeu avec de la couleur ! (4/6)
Comme c’est un peu triste d’avoir le jeu en noir et blanc je voulais ajouter de la couleur.
Pour décider du mode d’affichage j’ai ajouté une variable qui dit quand c’est en couleur.
static boolean modeCouleurs = true;
Et j’ai modifier le fichier Draw pour dire quel couleur et quelle forme utiliser.
if (Var.modeCouleurs)
g.setColor(Color.DARK_GRAY);
else
g.setColor(Color.BLACK);
g.fillRect(0, 0, Var.screenwidth, Var.screenheight);
g.setColor(Color.WHITE);
for(int i = 0; i<= 30; i++) {
g.fillRect(Var.screenwidth/2 -5, i * 20, 10, 10);
}
if (Var.modeCouleurs)
g.setColor(Color.BLUE);
if (Var.modeCouleurs)
g.fillRoundRect(Var.x, Var.y, 25, 150,15,15);
else
g.fillRect(Var.x, Var.y, 25, 150);
if (Var.modeCouleurs)
g.setColor(Color.GREEN);
if (Var.modeCouleurs)
g.fillRoundRect(Var.gegnerx, Var.gegnery, 25, 150,15,15);
else
g.fillRect(Var.gegnerx, Var.gegnery, 25, 150);
if (Var.modeCouleurs)
g.setColor(Color.RED);
g.setFont(Var.pixelfont);
g.drawString("" + Var.playerPoints, Var.screenwidth/2 - 95, 75);
g.drawString("" + Var.gegnerPoints, Var.screenwidth/2 + 50, 75);
if (Var.modeCouleurs)
g.setColor(Color.ORANGE);
if (Var.modeCouleurs)
g.fillOval((int)Var.ballx, (int) Var.bally, 20, 20);
else
g.fillRect((int)Var.ballx, (int) Var.bally, 20, 20);
J’ai utilisé la variable dans un if pour décider d’utiliser la couleur pour dessiner chaque objet : la balle, le score, les raquettes, … Et j’en ai profité pour changer les formes des raquettes et de la balle.
Et voila le résultat !!!
Comme j’ai envie de changer les couleurs pendant le jeu j’ai modifié le Keyhandler pour passer en couleur en tapant sur la touche C et en noir et blanc sur la touche B.
…
else if (e.getKeyCode()== KeyEvent.VK_C) {
Var.modeCouleurs = true;
} else if (e.getKeyCode()== KeyEvent.VK_B) {
Var.modeCouleurs = false;
}