| [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres | |
|
|
Auteur | Message |
---|
Jerom Très bonne participation
![Jerom](https://2img.net/u/3412/18/80/54/avatars/1250-1.jpg)
Messages : 155 Localisation : Dijon Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Lun 12 Mar 2012 - 17:52 | |
| ça devrait être assez simple à résoudre pour les pros du forum ^^ je cherche à piocher 3 nombres compris entre un minimum et un maximum, sans que ce soient les mêmes. ex. au final, si je donne les bornes 0 et 100, je trouverais 3, 68 et 92 par exemple.
Je devrait y arriver avec random_range, et for, non?
Dernière édition par Jerom le Lun 12 Mar 2012 - 18:40, édité 1 fois |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
mortelkill Utilisateur confirmé: Rang ***
![mortelkill](https://2img.net/u/3412/18/80/54/avatars/869-47.png)
Messages : 780 Localisation : Canada Projet Actuel : Watchmakers
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Lun 12 Mar 2012 - 17:55 | |
| en attendant qu`ils te répondent tu peux me dire ce que tu vas faire avec ça? sa m interesse. |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
onilink_ Modérateur
![onilink_](https://2img.net/u/3412/18/80/54/avatars/1012-85.png)
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Lun 12 Mar 2012 - 18:17 | |
| - Code:
-
// getRandomNumbers(start, end, number) // arg 0 1 2 // return list id var r, l, v; r = argument1 - argument0 l = ds_list_create() ds_list_add(l, floor(random(r)+argument0))
while(ds_list_size(l) < argument2) { v = floor(random(r)+argument0) if(ds_list_find_index(l, v) == -1) ds_list_add(l, v) }
return l Pense a supprimer la liste une fois que tu l'a utilisée. Par exemple : - Code:
-
list = getRandomNumbers(0, 100, 3) // on tire 3 nombres entre 0 et 100 for(i=0; i<3; i+=1) traitement( ds_list_find_value(list, i) ) // traitement des nombres ds_list_destroy(list) // on detruit la liste |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
Jerom Très bonne participation
![Jerom](https://2img.net/u/3412/18/80/54/avatars/1250-1.jpg)
Messages : 155 Localisation : Dijon Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Lun 12 Mar 2012 - 18:22 | |
| |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
onilink_ Modérateur
![onilink_](https://2img.net/u/3412/18/80/54/avatars/1012-85.png)
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Lun 12 Mar 2012 - 18:30 | |
| - Jerom a écrit:
- Je devrait y arriver avec random_range, et for, non?
Juste comme ça, for c'est quand on connais le nombre d'itérations, et while quand on ne le connais pas. La tu tire des nombres au hasard, tu regarde si tu les a déjà tirés, etc. Donc c'est un while car ça ne prendras pas forcément x itérations, si tu tombe plusieurs fois sur le même nombre. Aussi je n'ai pas utilisé random_range car je suis encore sous GM6, mais tu peut remplacer les floor(random(r)+argument0) par cette fonction, qui est apparue depuis :p |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
Jerom Très bonne participation
![Jerom](https://2img.net/u/3412/18/80/54/avatars/1250-1.jpg)
Messages : 155 Localisation : Dijon Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Lun 12 Mar 2012 - 18:45 | |
| C'est nickel, merci ![Very Happy](https://2img.net/i/fa/i/smiles/icon_biggrin.png) (Il faut modifier la variable "pos" dans ds_list_find_value(id,pos) pour récupérer les chiffres voulus, par 0, 1, 2, etc.). Si j'aboutis à un jeu jouable, je posterais ça sur ce forum! Si tu as le temps, si tu pouvais m'expliquer à quoi correspondent les lignes du script, ça m'aiderait à piger le processus de création de ce type de script (car je n'utilise jamais les scripts) ![Wink](https://2img.net/i/fa/i/smiles/icon_wink.gif) |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
onilink_ Modérateur
![onilink_](https://2img.net/u/3412/18/80/54/avatars/1012-85.png)
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Lun 12 Mar 2012 - 19:00 | |
| // on crée une liste l = ds_list_create() // on tire un nombre au hasard et on l'ajoute a la liste ds_list_add(l, irandom_range(argument0, argument1))
// maintenant, on tire des nombres au hasard tant que notre liste ne contient pas les x éléments while(ds_list_size(l) < argument2) { v = irandom_range(argument0, argument1) // tire au hasard un nombre if(ds_list_find_index(l, v) == -1) // on regarde si la liste contient déjà l'élément. Si l'élément n'est pas trouvé la fonction retourne -1 ds_list_add(l, v) // et alors on l'ajoute a la liste }
// on retourne l'identifiant de la liste return l |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
Jerom Très bonne participation
![Jerom](https://2img.net/u/3412/18/80/54/avatars/1250-1.jpg)
Messages : 155 Localisation : Dijon Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Lun 12 Mar 2012 - 19:02 | |
| |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
Jerom Très bonne participation
![Jerom](https://2img.net/u/3412/18/80/54/avatars/1250-1.jpg)
Messages : 155 Localisation : Dijon Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Jeu 15 Nov 2012 - 13:56 | |
| - onilink_ a écrit:
- Pense a supprimer la liste une fois que tu l'a utilisée.
À propos de ce script (et du fait de créer une liste dans un script), du coup la liste "l" n'est pas détruite au final? ou bien, en détruisant "list" avec ds_list_destroy(list); ça supprime les deux liste d'un coup? |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
onilink_ Modérateur
![onilink_](https://2img.net/u/3412/18/80/54/avatars/1012-85.png)
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Jeu 15 Nov 2012 - 22:24 | |
| En fait la fonction renvoie l'id de la liste, et quand tu fait list = getRandomNumbers(0, 100, 3) bah tu récupère cet id, et donc quand tu détruit 'list', tu détruit la liste l du script ![Wink](https://2img.net/i/fa/i/smiles/icon_wink.gif) |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
Jerom Très bonne participation
![Jerom](https://2img.net/u/3412/18/80/54/avatars/1250-1.jpg)
Messages : 155 Localisation : Dijon Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Ven 16 Nov 2012 - 0:33 | |
| Merci pour la réponse, ça confirme ce que j'avais déduis entre-temps (j'avais fait un DRAW pour tester). |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
Mobi Utilisateur confirmé: Rang ****
![Mobi](https://2img.net/u/3412/18/80/54/avatars/1556-5.png)
Messages : 1256 Localisation : Dijon
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Ven 16 Nov 2012 - 16:21 | |
| - Citation :
- En gros, une petite compét' informelle pour faire un simili-roguelike. J'ai des connaissances (vraiment) basiques, mais je vais tenter de faire un petit jeu Razz
Moi aussi, je code en ce moment un roguelike Tu veux qu'on s'allie ? En plus j'habite pas loin ![gnii](/users/3412/18/80/54/smiles/762289.png) |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
Jerom Très bonne participation
![Jerom](https://2img.net/u/3412/18/80/54/avatars/1250-1.jpg)
Messages : 155 Localisation : Dijon Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Sam 17 Nov 2012 - 20:39 | |
| @Mobi bah pourquoi pas (perso je bloque pour faire les IA des ennemis, du coup j'avais laissé tomber), par MP pour en discuter alors ![Wink](https://2img.net/i/fa/i/smiles/icon_wink.gif) |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
Contenu sponsorisé
![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | Sujet: Re: [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres ![[résolu] Choisir au hasard X nombres dans une liste de X+1 nombres Empty](https://2img.net/i/empty.gif) | |
| |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
| [résolu] Choisir au hasard X nombres dans une liste de X+1 nombres | |
|