60

Non parce que l'ordre doit changer à chaque fois.

61

neutral
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

62

C'est le critere "A" qui change à chaque fois en effet :-/
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

63

pour rendre ma solution pseudo-equi-probable, il suffirait par exemple de commencer à l'élément taille_liste-valeur_rand pour compter les valeurs de rand fois...
ça te demande une initialisationde ta var de comptage au démarrage en plus opur quelque chose de plus equi-probable...

ou alors (là on retombe dans le 100% equiprobable sans la deuxième liste) tout simplement de faire un comptage des N éléments comportant "A" avant de faire ton rand(N)...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

64

tu connais le nombre max d'occurence de 'A' ?

65

Je ne savais pas que rand était si lent... Que fait rand en fait?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

66

division multiplication addition et/ou soustraction, voir meme un modulo
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

67

c défini par une récurrence

68

en fait (généralement) les opération utilisé dans rand utilise un forme d'overflow (dépassement de capacité)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

69

J'aurais pensé que c'était une liste d'éléments générés selon le timer et masqué:
rand(n) => liste_aleatoire[timer%n_elements]%n
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

70

ya pas de "timer" précis et reel sur une TI

Si on utilise un timer c plutot a l'initialisation.

Ta jamais fait attention que si tu initialisait le rand avec la meme valeur (srand(0) par ex)
il te donnait toujours la meme liste de nombre ?
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

71

Euh oui. Et c'est également le cas si on n'initialise pas du tout. C'est d'ailleurs dommage sad
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

72

c'est comme sa !
Il faut considerer un rand comme un liste de nombre et pas comme un générateur de nombre aléatoire.
Se qui fait l'aléatoire c'est comment tu l'initialise...
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

73

Oui! Et tu ne peux même pas faire srand(rand()%32768) car tu auras toujours le même nombre smile
Sur PC on peut faire ça en utilisant le timer en millisecondes du BIOS. En Quick Basic, on faisait:
RANDOMIZE TIMER
c'est pas plus compliqué. Et il n'y a pas un moyen de faire ça sur TI?
Ah oui! A l'époque où je ne connaissait pas RANDOMIZE TIMER, je faisais:
CLS
PRINT "Pressez ESPACE pour commencer!"
WHILE INKEY$<>" "
  LeTimer=LeTimer+1
ENDWHILE
RANDOMIZE LeTimer
Pas très intelligent hein, mais ça aurait été valable si on faisait ça avec un petit menu du genre 1=Démarrer, 2=Options, 3=Quitter.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

74

tiré de ISO-C99
EXAMPLE The following functions define a portable implementation of rand and srand.
static unsigned long int next = 1;
int rand(void) // RAND_MAX assumed to be 32767
{
  next = next * 1103515245 + 12345;
  return (unsigned int)(next/65536) % 32768;
}

75

c'est con mais efficace happy
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

76

oui, de tte facon, c toujours comme ca que ca doit être implémanté je pense, apres, ta fonction de réuccrence peut différencier, même s'il a été prouvé qu'il en fallait une spécifique pour avoir un bon pseudo-aléatoire cheeky

77

heu normalement c'est tjrs la meme fonction pour rand (de se que j'ai vu) elle a été "éprouvé" par des mathématicien comme etait la meilleur possible pour une utilisation informatique "courante"
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

78

Voilà ce que j'utilise dans Backgammon pour l'initialisation:
    // compute random seed from 0x600017 and FiftyMSecTick
    unsigned long randnum=255-peekIO(0x600017);
    if (!AMS_1xx) randnum+=(*((volatile unsigned long*)(_rom_call_addr(4FC))))*
                           (_Gray3PIsRealHW2()?52:78);
    srand(randnum);
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

79

Et ce n'est pas toujours la même fonction, il y en a plein de différentes.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

80

c'est quasiment dans ttes les implementation du C ce calcul qui est utilisé :

next = next * 1103515245 + 12345;
return (unsigned int)(next/65536) % 32768;
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

81

// compute random seed from 0x600017 and FiftyMSecTick
unsigned long randnum=255-peekIO(0x600017);
if (!AMS_1xx) randnum+=(*((volatile unsigned long*)(_rom_call_addr(4FC))))*
(_Gray3PIsRealHW2()?52:78); srand(randnum);
Ah voilà! C'est très simple et ça fonctionne pour le timer. Bravo. Par contre je vois pas pourquoi tu fais appel au rom call 0x4FC?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

82

C'est FiftyMSecTick. Comme je ne l'appelles que sous AMS 2, mais que le programme fonctionne aussi avec AMS 1, je ne peux pas l'appeler par le nom, parce qu'il n'est défini qu'avec un MIN_AMS de 200 ou plus.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

83

Pas mal.
J'avais une petite question, si je fais:
pokeIO(0x600017,0xC0); //Déréglage du timer...
après, quelle valeurs dois-je remettre sur le port pour qu'il aille de nouveau à la bonne vitesse pour HW2?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

84

$CC

85

Et 0xB2 sur HW1.
Et ma formule pour initialiser le générateur de nombres aléatoires n'est pas correcte si tu changes la valeur de 0x600017.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

86

Ce que j'en ai cherché! J'étais arrivé à $D0 pour HW2...
Et 0xB2 sur HW1. Et ma formule pour initialiser le générateur de nombres aléatoires n'est pas correcte si tu changes la valeur de 0x600017.
Pourquoi?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

87

Une autre question si ça ne te (vous) dérange pas...
Comment puis-je détecter simplement les hardware des TI? Ex:
0=VTI
1=HW1
2=HW2
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

88

Dans le fichier Gray.s (que tu as pourtant déjà lu normalement) de tgicclib, il y a une détection de HardWare.

89

Merci, mais n'y a t-il pas un moyen de le faire sans appeller GrayOn (et inclure le support gris de plus d'un ko) car j'ai vu dans le code source que c'était à ce moment-là que la détection se faisait. Cependant je n'y comprends rien... J'ai essayé de recopier le code mais ça marche pas.
(que tu as pourtant déjà lu normalement)
Qu'est-ce qui te fais dire que je l'ai déjà lu?
En général on ne s'amuse pas à regarder les fichiers d'en-tête de la librairie TIGCC car c'est quasiment incompréhensible grin
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

90

Parce que tu as posté les fonctions de nvg de tigcclib modifiées par toi, donc j'en ai déduit que tu avais déjà lu le fichier gray.s (balèze quand même la déduction).

Essaie de relire et de comprendre le code. Sinon, sers toi de J89HW.txt pour connaître les différences de HW.