Bonjour à tous.
Je suis actuellement en train de créer un mini-jeu afin de m'habituer à coder en java, mais j'ai un problème dès le départ.
Je n'arrive pas à changer la valeur d'une variable, pourtant, je ne comprends pas pourquoi.
Voici mes deux pages de codes :
Apple.java :
// imports.
public class Applet extends JApplet
{
private Panneau pan = new Panneau();
private int tabGrille[][] = new int[50][50];
private String direction = "";
private int codeTouche = 0;
public void init()
{
this.setSize(500, 500);
this.setContentPane(new Panneau());
this.addKeyListener(new ClavierListener());
Thread g = new Thread(new Gestionnaire());
g.start();
}
public void pause(int tps){/*Permet de faire une pause*/}
class Gestionnaire implements Runnable
{
public void run()
{
codeTouche = 0;
pan.setEtat("début");
while (codeTouche != 32)
{
pan.repaint();
pause(500);
}
System.out.println("Fin boucle 1");
pan.setEtat("jeu");
while(true)
{
System.out.println("Boucle");
pause(1000);
}
}
}
class ClavierListener implements KeyListener
{
public void keyPressed(KeyEvent event)
{
switch (event.getKeyCode())
{
case 37 :
direction = "gauche";
break;
case 38 :
direction = "haut";
break;
case 39 :
direction = "droite";
break;
case 40 :
direction = "bas";
break;
default :
codeTouche = event.getKeyCode();
}
}
public void keyReleased(KeyEvent event){}
public void keyTyped(KeyEvent event){}
}
}
Panneau.java :
// imports
public class Panneau extends JPanel
{
private int tabBlocs[][] = new int[50][50];
private int posX = 0, posY = 0;
private String etat = "";
public void paintComponent(Graphics g)
{
g.setColor(Color.white);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
if (etat == "début")
{
g.setColor(Color.black);
g.drawString("Veuillez \n appuyer sur la barre d'espace.", 10, 10);
}
else if (etat == "jeu")
{
System.out.println("Etat : "+etat);
g.setColor(Color.blue);
g.drawString("Jeu", 10, 10);
}
else
{
g.setColor(Color.red);
g.drawString("Problème", 10, 10);
}
}
public int[][] getTabBlocs()
public int getPosX()
public int getPosY()
public String getEtat()
{
return etat;
}
public void setTabBlocs(int tabBlocs[][])
public void setX(int x)
public void setY(int y)
public void setEtat(String etat)
{
this.etat = etat;
System.out.println("Nouvel état : "+this.etat);
}
}
Et quand je lance le programme, dans la console, j'ai :
Nouvel état : début
Et dans la fenêtre, j'ai :
Problème
Merci de votre aide.
Au revoir.