Génération aléatoire au sein d'un tableau - Java - Programmation
MarshPosté le 10-06-2008 à 18:13:37
Bonsoir,
Un nouveau problème vient me bloquer sur la réalisation de mon projet et j'aurais besoin de vos lumières.
J'ai un tableau de 20*20 et dans certaines cases j'aurais des personnages qui devront se déplacer aléatoirement dans un carré 3*3 par pas de 1 aléatoirement. C'est a dire , exemple : Polo se trouve en case [10][10], il peut aussi bien se retrouver en case [9][9] [9][10] [9][11] [10][9] [10][11] [11][9] [11][10] [11][11] au prochain tour. Mon problème c'est que je ne sais pas du tout gérer un nombre aléatoire NEGATIF ??
Et préférant anticiper, y'a t il un moyen plus simple que des IF pour éviter que lorsque ce personnage se trouve près des bords du tableau, il se retrouve à l'extérieur ?
Merci d'avance pour vos conseils
Edit1 :
Je viens de faire ce code, fonctionnel, mais voyez vous quelques choses qui pourrait me procurer des surprises non souhaitées ?
public int [] alea(){ int [] TabAlea; TabAlea = new int [2]; int alea1 = 0; int alea2 = 0; alea1 =(int)( Math.random()*2 ) ; alea2 =(int)( Math.random()*2 ) ; if (alea1 == 0 && alea2 == 0) { alea1 = alea1 - 1 ; } TabAlea[1]=alea1; TabAlea[2]=alea2; //System.out.println(alea1+" -- "+alea2); return TabAlea; }
Edit2: J'ai trouver la surprise non souhaité, et j'avoue que je sèche un peu pour la résoudre, Avez vous une idée à me proposer pour pour éviter que lorsque ce personnage se trouve près des bords du tableau, il se retrouve à l'extérieur ?
Marsh Posté le 10-06-2008 à 18:13:37
Bonsoir,
Un nouveau problème vient me bloquer sur la réalisation de mon projet et j'aurais besoin de vos lumières.
J'ai un tableau de 20*20 et dans certaines cases j'aurais des personnages qui devront se déplacer aléatoirement dans un carré 3*3 par pas de 1 aléatoirement.
C'est a dire , exemple :
Polo se trouve en case [10][10], il peut aussi bien se retrouver en case [9][9] [9][10] [9][11] [10][9] [10][11] [11][9] [11][10] [11][11] au prochain tour.
Mon problème c'est que je ne sais pas du tout gérer un nombre aléatoire NEGATIF ??
Et préférant anticiper, y'a t il un moyen plus simple que des IF pour éviter que lorsque ce personnage se trouve près des bords du tableau, il se retrouve à l'extérieur ?
Merci d'avance pour vos conseils
Edit1 :
Je viens de faire ce code, fonctionnel, mais voyez vous quelques choses qui pourrait me procurer des surprises non souhaitées ?
public int [] alea(){
int [] TabAlea;
TabAlea = new int [2];
int alea1 = 0;
int alea2 = 0;
alea1 =(int)( Math.random()*2 ) ;
alea2 =(int)( Math.random()*2 ) ;
if (alea1 == 0 && alea2 == 0)
{
alea1 = alea1 - 1 ;
}
TabAlea[1]=alea1;
TabAlea[2]=alea2;
//System.out.println(alea1+" -- "+alea2);
return TabAlea;
}
Edit2:
J'ai trouver la surprise non souhaité, et j'avoue que je sèche un peu pour la résoudre,
Avez vous une idée à me proposer pour pour éviter que lorsque ce personnage se trouve près des bords du tableau, il se retrouve à l'extérieur ?
Merci
Message édité par lupin3 le 10-06-2008 à 18:34:59