Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
250 connectés actuellement
30732044 visiteurs depuis l'ouverture
2022 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
BlueFuSion348 -
posté le 25/10/2012 à 01:46:51 (14 messages postés)
| | Domaine concerné: Logiciel même
Logiciel utilisé: RMXP
Bonjour a tous
J'aurais une question à propos du fonctionnement de l'aléatoire dans RPG Maker XP.
Plus précisément, La fonction rendre un nombre aléatoire à une variable.
Comment ce passe l'aléatoire dans RPG Maker ?
Est-ce vraiment de l'aléatoire parfait ? Càd que, à chaque moment tout nombre est possible ? Cela m'étonnerais car en informatique le hasard n'existe pas. Tout comme en vrai d'ailleurs...
Ou alors c'est une horloge interne ?
Le systême algorithmique si il y a, est-il pseudo-parfait ou a des failles ?
C'est des questions que je me suis posé...
Mais vous pouvez m'envoyer balader si vous voulez...
|
BlueFuSion348 -
posté le 25/10/2012 à 03:21:47 (14 messages postés)
| | Non ce n'est pas vraiment ça que je voulais savoir.
Je voudrais tout simplement savoir si la génération aléatoire d'un chiffre dans une variable est "fiable" dans le sens où si elle est le plus proche de l'aléatoire.
Il n'y a pas d'algorithme pour définir l'aléatoire ? Il y a une base arithmétique quand même. Non ? Si...
Le but est de créer un "foutoire cohérent" pour générer un chiffre. L'aléatoire informatique reste un procédé logique, et n'est pas du hasard en fin de compte.
PS : Moi qui ai tenté de faire un systême aléatoire fiable en binaire dans Minecraft, c'est chaud... Par contre avec une horloge interne c'est très facile, mais c'est absolument pas fiable du tout, y suffit de faire un tempo et t'as le même chiffre constament. Ou alors en couplant plusieurs horloges entre-elles en générant des bits pseudo-aléatoire pour former un chiffre, en créant ainsi une énorme boucle avec des chiffres sortant, imprévisibles. Mais cet aléatoire dépendra toujours de la fiabilité de l'engin, car le vrai aléatoire n'existe pas...
|
Tata Monos -
posté le 25/10/2012 à 07:39:19 (28 messages postés)
| Compte Non utilisé | Citation: Je voudrais tout simplement savoir si la génération aléatoire d'un chiffre dans une variable est "fiable" dans le sens où si elle est le plus proche de l'aléatoire. |
A mon avis ça prend l'algo de base des formules aléatoires. Enfin le truc le plus simple. Dans tous les cas ce n'est pas expliqué ! Peut être dans les scripts (faut voir) mais je ne pense pas, et il n'y a pas d'option pour la gestion de l’aléatoire comme sur MMF par exemple ou tu peux choisir ta graine quand même dans la gestion native.
Mais en sacripant tu devrais pouvoir re faire un générateur que tu veux !
|
Roys -
posté le 25/10/2012 à 08:07:20 (359 messages postés)
| Geex Creator | Hello
Come tu l'as justement dit la perfection du random est un exercice difficile pour un ordinateur. D'ou le nom d'algo Pseudo Aléatoire PRNG (Pseudo Random Number Generation)
Rub utilise un Mersene Twister comme PRNG, ce qui est un algo de très bonne qualité pour un jeu, ou une simulation monte carlo. Maintenant si tu veux faire de la cryptographie ou des algo de sécurité avancé je doute que ca suffise. Mais qui, sain d'esprit, ferait ca avec rmxp O_O
Tu peux regarder la doc sur la fonction Kernel#rand
|
Mr Drerrawyn -
posté le 29/10/2012 à 22:08:18 (1694 messages postés)
| Le | Théoriquement, c'est de l'aléatoire, mais pratiquement, en me basant sur la programmation (C/C++) je dirais que le programme, à l'aide d'un algo' qui m'est inconnu compare l'heure de l’exécution avec celle de la compilation.
Entre les mains d'un humain, l'aléatoire est fiable, mais si la machine est programmée pour lancer le soft, après avoir étudié l'ensemble des sorties aléatoires, le résultat peut être contrôlé. Après je dis ça, mais c'est uniquement ce qui me semble logique, d'après les systèmes aléatoires informatiques.,
PS: Désolé du UP si les réponses précédentes étaient suffisantes ^^"
|
BlueFuSion348 -
posté le 02/11/2012 à 13:20:57 (14 messages postés)
| | Citation: PS: Désolé du UP si les réponses précédentes étaient suffisantes ^^" |
Non non tkt, merci beaucoup pour ton message
Citation: Mais en sacripant tu devrais pouvoir re faire un générateur que tu veux ! |
Oui... je verrais. En fin de compte, je compte utilisé celui de base, si Nonor l'utilise je vois pas pourquoi je l'utiliserais pas
Citation: Mais qui, sain d'esprit, ferait ca avec rmxp O_O |
Merci pour tes infos, je connaissais DE NOM que la simulation monte carlo, mais sans plus; c'est très intéressant merci. Mais je te rassure je ne compte pas faire un truc pareille, encore moins dans RM.
Merci pour vos infos à tous
En fait, c'est juste pour une mise en aléatoir sur 7 sorties, ça se passe plutôt bien en fait. En fait j'avais eu un doute pour les doubles et triples conséctif, c'étais surement de la chance ou de la malchance... De toute façon avoir un triple consécutif c'est donc 1 chance sur 21 ? Mais bref...
En fait, je fais un Tetris. Mais je crois que je vais laisser tomber. C'est probablement pas pratique avec RM. Ici je doit faire pour 200 événements (cases de la grille) des coordonées XY pour les détecteurs du tétromino en chute, pour savoir si il a le droit de se déplacer sur la grille.
(Précision : je fais tout par téléportation. La grille du Tetris fait 10x20 cases. (la résolution de la scène je précise à été changée en 800x736 grace au script de Zeus81, merci à lui ))
(Je rassure : les tetrominos qui tombent sont en fait LE MEME A CHAQUE FOIS; et quand il ne peut plus tomber grâce aux détections qui lui disent qu'il ne peut plus descendre; les cases de la grille dont il en est égal changent d'apparence et de valeur dans la variable propre à chacune d'elle, ensuite le tétromino est près à devenir un autre en se téléportant en haut en rechargeant une nouvelle apparence et est près pour tomber et ainsi de suite...)
Ca devrait ressembler à un truc du genre :
Pour chaque action de déplacement du tétromino sur la grille; donc : aller à gauche, aller à droite, le pivot à gauche, le pivot à droite, la descente automatique et le hard-drop; je dois faire un déplacement préalable des détecteurs pour voir si le tétromino a le droit de faire son action de déplacement. Donc techniquement ce qu'il se passe c'est :
les 4 événements détecteurs se téléportent sur la position des 4 blocs qui forme le tétromino, et quand ça va à GAUCHE PAR EXEMPLE, il faut que les détecteurs se déplacent à gauche et distinguent si oui ou non ils sont égal à des blocs de la grille qui sont vide ou plein. Si c'est vide, je fais donc -1 en X dans les 4 variables qui représentent les coordonées X des 4 blocs du tétromino, et je réactualise la téléportation. Le tétromino s'est donc ainsi déplacer d'une case à gauche.
Donc en prog ça donne ceci (pour aller à gauche):
[BlocDetecteur1X] = [Bloc1X]
[BlocDetecteur1Y] = [Bloc1Y]
[BlocDetecteur2X] = [Bloc2X]
[BlocDetecteur2Y] = [Bloc2Y]
[BlocDetecteur3X] = [Bloc3X]
[BlocDetecteur3Y] = [Bloc3Y]
[BlocDetecteur4X] = [Bloc4X]
[BlocDetecteur4Y] = [Bloc4Y]
[BlocDetecteur1X] -= 1
[BlocDetecteur2X] -= 1
[BlocDetecteur3X] -= 1
[BlocDetecteur4X] -= 1
Téléporter l'événement (BlocDetecteur1) en coordoonée [BlocDetecteur1X] [BlocDetecteur1Y]
Téléporter l'événement (BlocDetecteur2) en coordoonée [BlocDetecteur2X] [BlocDetecteur2Y]
Téléporter l'événement (BlocDetecteur3) en coordoonée [BlocDetecteur3X] [BlocDetecteur3Y]
Téléporter l'événement (BlocDetecteur4) en coordoonée [BlocDetecteur4X] [BlocDetecteur4Y]
Ensuite :
Condition si [BlocDetecteur1X] == [CaseGrille001X]
Faire : Condition si [BlocDetecteur1Y] == [CaseGrille001Y]
-------Faire : Condition si [EtatBlocGrille001] == 0 (la valeur dépend du tétromino de 1 à 7, 0 étant égal à vide)
--------------Faire : [AutorisationPourGauche] +=1
Condition si [BlocDetecteur2X] == [CaseGrille001X]
Faire : Condition si [BlocDetecteur2Y] == [CaseGrille001Y]
-------Faire : Condition si [EtatBlocGrille001] == 0 (la valeur dépend du tétromino de 1 à 7, 0 étant égal à vide)
--------------Faire : [AutorisationPourGauche] +=1
Condition si [BlocDetecteur3X] == [CaseGrille001X]
Faire : Condition si [BlocDetecteur3Y] == [CaseGrille001Y]
-------Faire : Condition si [EtatBlocGrille001] == 0 (la valeur dépend du tétromino de 1 à 7, 0 étant égal à vide)
--------------Faire : [AutorisationPourGauche] +=1
Condition si [BlocDetecteur4X] == [CaseGrille001X]
Faire : Condition si [BlocDetecteur4Y] == [CaseGrille001Y]
-------Faire : Condition si [EtatBlocGrille001] == 0 (la valeur dépend du tétromino de 1 à 7, 0 étant égal à vide)
--------------Faire : [AutorisationPourGauche] +=1
ECT... Ceci 200 fois pour chaque case de la grille, pour voir si je peux aller à gauche...
(Ceci était seulement pour la (CaseGrille001) et pour l'action de gauche...
Il y a 6 actions de déplacement et il y a 200 cases dans la grille... O.O)
Après ces 200 conditions, il faudra que je fasse ceci :
Condition si [AutorisationPourGauche] = 4
Faire : [Bloc1X] -= 1
------: [Bloc2X] -= 1
------: [Bloc3X] -= 1
------: [Bloc4X] -= 1
------: Téléporter l'événement (Bloc1) en coordoonée [CooBloc1X] [CooBloc1Y]
------: Téléporter l'événement (Bloc2) en coordoonée [CooBloc2X] [CooBloc2Y]
------: Téléporter l'événement (Bloc3) en coordoonée [CooBloc3X] [CooBloc3Y]
------: Téléporter l'événement (Bloc4) en coordoonée [CooBloc4X] [CooBloc4Y]
------: [AutorisationPourGauche] == 0
Sinon : [AutorisationPourGauche] == 0
Est-ce que vous rendez compte du calvaire... Je crois que ce n'est pas raisonnable, c'est trop long... Y a t-il plus simple avec RM, selon moi je ne pense pas, sait-on jamais.
Est-ce raisonnable ? Devrais-je me tourner sur MF2 pour un truc pareille ? Ce serais beaucoup plus simple ?
Tout résume en une question de temps et de patience pour en venir à bout en fait lol.
Que pensez-vous de ce systême ?
J'espère que vous aurez compris mon descriptif
Je remercie ceux qui ont eu la patience de me lire, et ceux qui me répondront
|
Tampaxor -
posté le 02/11/2012 à 21:33:40 (10274 messages postés)
| | Dans mes souvenirs, un type avait fait un tetris sur RM 2003. C'était téléchargeable ici. Bon, le truc avait quelques bugs - en tout cas je crois - mais ça tenait la route.
|
Nagato Yuki -
posté le 02/11/2012 à 23:05:34 (351 messages postés)
| | Tetris en évent sur RMXP c'est un peu con. Appuis sur F11 pour voir tu verras tu fera des merveilles avec et ton tetris sera plus simple à faire.
On peut grâce aux script faire autre chose que des RPGs avec RPG Maker XP, j'avais codé en Snake dessus quand j'étais en seconde et ça tournais relativement bien :3
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Tata Monos -
posté le 03/11/2012 à 00:13:58 (28 messages postés)
| Compte Non utilisé | Tampaxor a dit:
Dans mes souvenirs, un type avait fait un tetris sur RM 2003. C'était téléchargeable ici. Bon, le truc avait quelques bugs - en tout cas je crois - mais ça tenait la route.
|
Heum c'était par Marion ? Mais ce n'étais pas avec RM mais AGS !
| Index du forum > Entraide > [RMXP] edit: Faire un Tetris avec RM
|
|
|