Génération de "map" en java
Résolu
nockz84
-
nockz84 -
nockz84 -
Bonjour,
je suis sur un petit programme en java et une partie consiste à générer une "map" aléatoirement par le biais de la commande :
exemple:
genmap 5, 7
..|.|
.|...
|....
..|.|
|||..
..|.|
.....
Cependant, pour l'instant, ça n'affiche que:
.....
.....
.....
.....
.....
.....
.....
voici le code de génération:
J'ai l'impression que Random rand = new Random(); ne regénère pas un nombre à chaque passage dans la boucle. Comment puis-je y remédier ?
Ps: c'est peut être important mais le random génère toujours le même nombre, ici 0...
Merci beaucoup d'avance !!
je suis sur un petit programme en java et une partie consiste à générer une "map" aléatoirement par le biais de la commande :
exemple:
genmap 5, 7
..|.|
.|...
|....
..|.|
|||..
..|.|
.....
Cependant, pour l'instant, ça n'affiche que:
.....
.....
.....
.....
.....
.....
.....
voici le code de génération:
for (int i = 0; i < height; i++) { for (int e = 0; e < width; e++) { Random rand = new Random(); intbool = rand.nextInt(1); if (intbool == 1){Char = '0';} else if (intbool == 0){Char = '.';} System.out.print(Char); } System.out.println(""); }
J'ai l'impression que Random rand = new Random(); ne regénère pas un nombre à chaque passage dans la boucle. Comment puis-je y remédier ?
Ps: c'est peut être important mais le random génère toujours le même nombre, ici 0...
Merci beaucoup d'avance !!
A voir également:
- Génération de "map" en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Google map satellite gratuit - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
3 réponses
Random.nextInt(n) renvoie un nombre entre 0 et n-1, en conséquence si tu veux un nombre aléatoire entre 0 et 1, tu dois utiliser Random.nextInt(2)
Cependant si c'est pour avoir un booléen tu peux utiliser Random.nextBoolean()
Au passage, il n'est pas utile de créer un nouvel objet Random à chaque fois, tu devrais plutôt créer rand une fois, et le réutiliser autant que nécessaire...
Par contre je n'ai pas compris ce que tu voulais faire avec ta "map", mais peut-être que le problème du Random t'aidera à faire ce que tu veux...La confiance n'exclut pas le contrôle
Cependant si c'est pour avoir un booléen tu peux utiliser Random.nextBoolean()
Au passage, il n'est pas utile de créer un nouvel objet Random à chaque fois, tu devrais plutôt créer rand une fois, et le réutiliser autant que nécessaire...
Par contre je n'ai pas compris ce que tu voulais faire avec ta "map", mais peut-être que le problème du Random t'aidera à faire ce que tu veux...La confiance n'exclut pas le contrôle
Génial, merci mais j'ai un autre problème, désolé :s
pour la génération d'un nombre aléatoire:
La génération marche bien pour tous les nombres, mais si je fais :
random 5, 10
il me génère par exemple 12...
Merci encore pour ta réponse, KX :)
pour la génération d'un nombre aléatoire:
int coma; coma = cmd.indexOf(','); String space = " "; String strmin = cmd.substring(7, coma); String strmax = cmd.substring(coma+2, cmd.length()); int min = Integer.parseInt(strmin); int max = Integer.parseInt(strmax); Random rand = new Random(); int nb = rand.nextInt(max)+min; print(nb);
La génération marche bien pour tous les nombres, mais si je fais :
random 5, 10
il me génère par exemple 12...
Merci encore pour ta réponse, KX :)