bonjour!
nous avons créer un jeu du sokoban qui fonctionne tres bien mais pour augmenter les difficulter nous voulons mettre 2 caisses a chaque niveau. nous avons essayer sur la touche de droite mais nous n avons pas d erreur de detecter mais ca ne prend pas en ompte la deuxieme boule!
si quelqu un peu nous aider ca serai cool
merci d avance
voici le code :
case (39) : {
//on regarde le code de l'image qui se trouve à droite
//de notre petite vache
i = x;
j = y+1;
if(plateau.lab[i][j]==1) {//si c'est de l'herbe on avance
// flèche de droite
// un décalage sur la droite.
vac_clavier.setBounds(vac_clavier.getX()+25, vac_clavier.getY(), size.width, size.height);
//on calcule le score en ajoutant +1 si un déplacement a été effectué
if ((i==x1)&&(j==y1)){}
else {
nb1 = Integer.valueOf(nb).intValue();
nb1 = nb1 + 1;
nb = Integer.toString(nb1);
tscore.setText(nb);
}
//les coordonnées de la petite vache dans le laby sont modifiées:
y = y+1;
}
if ((i==x1)&& (j==y1)){//on regarde si la cellule d'à côté est la petite paille 1
i0=x1;
j0=y1+1;
if(plateau.lab[i0][j0]==1){
//si oui on fait comme d'hab et en plus on bouge la petite paille
pai_clavier.setBounds(pai_clavier.getX()+25, pai_clavier.getY(), size2.width, size2.height);
//la ligne qui suit n'est pas à refaire ici
//dans la mesure où par défaut il y a de l'herbe sous la botte de paille
//donc la boucle du dessus s'effectuera également
//vac_clavier.setBounds(vac_clavier.getX()+25, vac_clavier.getY(), size.width, size.height);
nb1 = Integer.valueOf(nb).intValue();
nb1 = nb1 + 1;
nb = Integer.toString(nb1);
tscore.setText(nb);
y1 = y1+1;}
else
{vac_clavier.setBounds(vac_clavier.getX()-25, vac_clavier.getY(), size.width, size.height);
y = y-1;}
if (plateau.lab[i0][j0]==3) {//on a atteint la porte
pai_clavier.setBounds(pai_clavier.getX()+25, pai_clavier.getY(), size2.width, size2.height);
y1 = y1+1;
n0 = tniv.getText();
n = Integer.valueOf(n0).intValue()+1;
if (n<=3){
plateau.niveau_suiv(n);
n1 = Integer.toString(n);
tniv.setText(n1);
vac_clavier.setBounds(275,225, size.width, size.height);
x=9;
y=11;
if (n==2){pai_clavier.setBounds(150,125, size2.width, size2.height);
x1=5;
y1=6;
}
if (n==3){pai_clavier.setBounds(100,100, size2.width, size2.height);
x1=4;
y1=4;
}
}
else{//création de la boîte de dialogue qui saisit
//le nom du joueur
String rep;
String msg = "Entrez votre nom";
rep=JOptionPane.showInputDialog(this,msg);
}
}
if ((i==x2)&&(y==y2)){//on regarde si la cellule d'à côté est la petite paille 1
i0=x2;
j0=y2+1;
if(plateau.lab[i0][j0]==1){
//si oui on fait comme d'hab et en plus on bouge la petite paille
pai_clavier2.setBounds(pai_clavier2.getX()+25, pai_clavier2.getY(), size3.width, size3.height);
nb1 = Integer.valueOf(nb).intValue();
nb1 = nb1 + 1;
nb = Integer.toString(nb1);
tscore.setText(nb);
y2 = y2+1;}
else
{vac_clavier.setBounds(vac_clavier.getX()-25, vac_clavier.getY(), size.width, size.height);
y = y-1;}
if (plateau.lab[i0][j0]==3) {//on a atteint la porte
pai_clavier2.setBounds(pai_clavier2.getX()+25, pai_clavier2.getY(), size3.width, size3.height);
y2 = y2+1;
n0 = tniv.getText();
n = Integer.valueOf(n0).intValue()+1;
if (n<=3){
plateau.niveau_suiv(n);
n1 = Integer.toString(n);
tniv.setText(n1);
vac_clavier.setBounds(275,225, size.width, size.height);
x=9;
y=11;
if (n==2){pai_clavier.setBounds(150,125, size2.width, size2.height);
pai_clavier2.setBounds(200,200, size3.width, size3.height);
x1=5;
y1=6;
x2=8;
y2=8;
}
if (n==3){pai_clavier.setBounds(150,250, size2.width, size2.height);
pai_clavier2.setBounds(250,225, size3.width, size3.height);
x1=10;
y1=7;
x2=9;
y2=10;
}
}
else{//création de la boîte de dialogue qui saisit
//le nom du joueur
String rep;
String msg = "Entrez votre nom";
rep=JOptionPane.showInputDialog(this,msg);
//rep= rep + tscore.getText();
//BufferedReader buffR=new BufferedReader(r);
//rep=buffR.readline();
//buffW.write(rep);
//buffW.flush();
}
}
}
}
break;
}