Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » fonction random add-in
Pkplomb Hors ligne Membre Points: 87 Défis: 0 Message

fonction random add-in

Posté le 20/12/2012 22:19

Salut
Y aurait il une fonction random à utiliser avec les add-in ?


Siapran Hors ligne Membre Points: 3248 Défis: 17 Message

Citer : Posté le 20/12/2012 22:35 | #


google est ton ami, il faut l'aimer aussi
Pkplomb Hors ligne Membre Points: 87 Défis: 0 Message

Citer : Posté le 20/12/2012 22:38 | #


OUi j'ai trouver de vieux message sur le random mais il n'ont pas de réponse
voici un add-in que vous allez adorez :
BMPat LE lecteur d'image pour casio graph 75 85 95
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 20/12/2012 22:40 | #


On trouve au 4eme lien sur Google en cherchant le titre de ton topic.

Mais vu que je déteste les gens qui disent ça parce quand on tombe sur le topic beaucoup plus tard, en venant de google, c'est plus pratique d'avoir directemet la réponse. Alors va voir ici .
Pkplomb Hors ligne Membre Points: 87 Défis: 0 Message

Citer : Posté le 20/12/2012 22:52 | #


oui je sais c'est le premier que j'ai vu mais le code :
Cliquez pour découvrir
Cliquez pour recouvrir

static int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070};
static int (*SysCall)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode;



int time_getTicks()
{
return (*SysCall)(0, 0, 0, 0, 0x3B);
}

int AddIn_main(int isAppli, unsigned short OptionNum)
{
srand(time_getTicks());
rand() % 20 // donnera un nombre entre 0 et 19

return 1;
}




ne fonctionne pas dans mon programme et je sait pas ou sa plante .
Ensuite j'ai essayer d'utiliser le getTicks mais je n'y arrive pas mieux.

Donc pour finir je demande si quelqu'un connait un autre code ?
voici un add-in que vous allez adorez :
BMPat LE lecteur d'image pour casio graph 75 85 95
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 20/12/2012 23:18 | #


Le compilo te renvoi pas d'erreur ?
Nitrosax Hors ligne Ancien rédacteur Points: 1061 Défis: 17 Message

Citer : Posté le 21/12/2012 12:13 | #


Cette fonction random est la meilleur que je connaisse :


unsigned int random(int seed, int value) // Function from Simon Lothar
{
    static unsigned int lastrandom = 0x12345678;
    if(seed) lastrandom = seed;
    lastrandom = (0x41C64E6D * lastrandom) + 0x3039;
    return ((lastrandom >> 16) % value);
}


Il faut l'initialiser au début du programme en appelant :

random(time_getTicks(), 1);


Puis tu l'utilises comme cela :

random(0, valeur_max);

Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 21/12/2012 12:26 | #


quitte a avoir une valeur max, pourquoi ne pas avoir une valeur min ?
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Pkplomb Hors ligne Membre Points: 87 Défis: 0 Message

Citer : Posté le 21/12/2012 15:44 | #


merci

Ajouté le 21/12/2012 à 15:53 :
L\'initialisation ne fonctionne pas :
random(time_getTicks(), 1);

retourne que time_get n\'éxiste pas mais on peut s\'en servir sans l\'initialiser


voici un add-in que vous allez adorez :
BMPat LE lecteur d'image pour casio graph 75 85 95
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 21/12/2012 20:47 | #


éxact, on peut mettre n'importe quel seed pour initialiser, mais l'avantage du time_getTicks() ou RTC_getTicks() est qu'il renvoi le nombre de ticks émis par le proco depuis le minuit pile de l’horloge de la calto, ce qui peut être quasiment être considéré comme de l'aléatoire (si ce n'est que les ticks s'incrémentent tout les 128ème de seconde, donc la valeur suivante seras toujours supérieure a la précédente et donc pas vraiment aléatoire).

si tu a un seed statique j'accentue pour ne pas confondre avec 'static' au début du programme, tu auras toujours la même suite de nombre 'aléatoires', ce qui rendrait l'aléatoire risible, donc il faut trouver un moyen de créer un seed...pseudo-aléatoire pour initialiser l'aléatoire

(en gros, c'est dur a comprendre, on ce prend bien la tête, mais c'est sa qui fait de nous des programmeurs 8) )
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 22/12/2012 10:49 | #


Pourquoi vous embêter autant ? Perso je prends rand() et j'initialise avec la valeur d'une boucle d'attente sur l'écran titre.

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 63 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd