1

Je viens de commencer à programmer en C. Je suis donc un gros newbie et la question que je vais poser est peut-etre très nul.

Comment ralentir un programme en C ?

J'avais penser à faire une boucle For dans le "vide" pour faire durer le prog (comme en Basic). Mais en C ca va vraiment très vite et la boucle For ne ralenti pas assez mon prog.
J'ai regarder les sources de Flib pour la commande Wait mais il utilise une boucle en asm et je comprend rien.
Donc pour ralentir l'execution y'a rien d'autre qu'une simple boucle for ?
Epitech - Ecole pour l'informatique et les nouvelles technologies

Shinjuku@ifrance.com
MSN : Shinjuku83@hotmail.com

2

c très simple, 2 solutions:
-soit tu as besoin d'un temps court (<1/20e de sec.) et tu utilises 2 boucles for imbriqués, en général tu peux utiliser ça dans un jeu.
Tu peux aussi repiquer la routine de fl si ça t'amuses, elle est super précise.

-sinon tu as besoin d'un temps plus long, dans ce cas tu rajoutes une fonction wait(time)
, time en 20ième de sec, qui utilises le USER_TIMER (regardes le tuto de squale sur "1er graphismes")
the car's on fire and there's no driver at the wheel
and the sewers are all muddied with a thousand lonely suicides
and a dark wind blows

GYBE! Dead Flag Blue

3

ac 2 boucles imbriquées ça peut attendre tres longtemps !
mais c vrai que c nul comme technique, c tres crade (et n'attend pas le meme temps sur toutes les machines..)
bref, à proscrire.

les timers, ça c bien. (quoique si tu choisis de desactiver les int ça risque pas de fonctionner.. wink)

4

Ou tu attend la sortie de event, une librairie qui permet la programmation événementielle en toute simplicité devil
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

5

bah vi c crade mais ça marche! la + petite unité des timers c le 20e de sec., donc pour faire un jeu c pas la peine
the car's on fire and there's no driver at the wheel
and the sewers are all muddied with a thousand lonely suicides
and a dark wind blows

GYBE! Dead Flag Blue

6

On a juste besoin des ROM_CALLs de TIGCCLIB pour faire de la programmation événementielle. AMS est déjà un système événementiel.
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é

7


Kevin : j'ai dit "en toute simplicité". La librairie event (du SDK Azur, j'ai oublié de préciser) permet de faire exécuter des fonctions à une fréquence paramétrable, ou bien à chaque évènement HW comme la pression d'une touche.

Par exemple, si je veux que ma routine RafraichirEcran soit exécutée 10 fois par seconde sans que je n'ai à m'occuper de rien, j'écris : SetTimer(RafraichirEcran, 10); zzz Je te défie de trouver plus simple !

PS : c'est pour l'Azur mais les langages sont si proches qu'elle se porterait sous TIGCC en moins de 5 mn.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

8

OSVRegisterTimer(1,2,RafraichirEcran);
Mais ce n'est plus un ROM_CALL, mais une routine de TIGCCLIB parce que TI a viré le ROM_CALL correspondant dans AMS 2.04 (et aussi 2.05 bien sûr). Et il faut que l'auto-int 5 soit activé. (Mais ça doit être pareil pour ta routine, n'est-ce pas?) Et puis, si on ne veut pas traffiquer l'auto-int 5, c'est seulement à 1/20 seconde près.

Et je suppose que les évènements de touches seront plus faciles à utiliser avec tes routines qu'avec les routines de AMS (EV_captureEvents etc.). Mais que la réutilisation des routines de AMS prend moins de place normalement.

Et puis, si tu as le temps, azur_events.h et azur_events.a pour TIGCC ne seraient jamais une mauvaise idée.
[edit]Edité par Kevin Kofler le 08-12-2001 à 21:29:59[/edit]
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é

9


Pour ça, je m'interroge.
Dans ce cas pourquoi ne pas porter toute la librairie Azur, par exemple, ma librairie graphx est plus rapide que ExtrGraph.

Pourquoi je m'interroge ?
Parceque la lib Azur je l'ai programmée pour le compilateur Azur !
Comme elle offre des avantages par rapport à certaines fonction de la lib TIGCC, le fait de la reserver exclusivement au compilo Azur pourrait me faire gagner quelques utilisateurs...


Pour event : je me cale sur l'AI 1, qui permet une précision au 1/256 ième de seconde.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

10

>Comme elle offre des avantages par rapport à certaines fonction de la lib TIGCC, le fait de la reserver exclusivement au compilo Azur pourrait me faire gagner quelques utilisateurs...

Je sens que ça va finir comme avec les niveaux de gris de JM si tu fais ça... Il y aura toujours quelqu'un pour "voler" tes routines.

>Pour event : je me cale sur l'AI 1, qui permet une précision au 1/256 ième de seconde.

Je vois. Mais elle n'est pas programmable. sad
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é

11

Tu entend quoi par "programmable" confus

Si on me pique mes routines je pourrais toujours interdire la diffusion des programmes de la personne fautive : je place un copyright dans chaque fichier : c'est open-source, mais pas copiable sans autorisation.
[edit]Edité par Thibaut le 08-12-2001 à 21:45:17[/edit]
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

12

Bah, mais alors il faudra que tu défendes tes droits d'auteur devant le tribunal, parce que la plupart des gens de cette communauté s'en contrefichent. roll
Mais moi, je ne vais pas te voler tes routines, n'aie pas peur.

Et une interruption programmable est une interruption dont on peut modifier la vitesse.
[edit]Edité par Kevin Kofler le 08-12-2001 à 21:59:43[/edit]
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é

13

Il n'y a pas besoin de modifier la fréquance de l'interruption pour pouvoir lancer une routine à la fréquance qu'on veut. Il faut utiliser une autre méthode, et cette métode me permet par la même occasion de pouvoir "installer" autant de fonctions que l'on veut sur une seule AI, et toutes à des fréquences différentes.

Pour les droits d'auteurs : je ne peux rien contre les imbéciles qui ne savent pas respecter le travail des auttres. Le copyright c'est pour inciter les bon programmeurs (intelligent & respectueux -> bon programmeur) à me demander une autorisation avant recopiage.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

14

Merci pour toutes ces réponses. smile

J'aurais une autre question :

Qu'elle est la commande getkey() en C ?

Je m'explique je voudrais une commande comme ngetchx() mais qui n'attend pas la pression sur une touche. Une commande qui vérifie si une touche est appuyée.
Si y'en a une d'appuyée alors j'obtient le code de la touche et sinon elle renvoie 0 ou NULL. Comme la commande getkey() du ti-Basic.

J'avais penser à OSGetStatKeys() mais je n'arrive pas à récupérer le code de la touche appuyée...

Merci d'avance smile
Epitech - Ecole pour l'informatique et les nouvelles technologies

Shinjuku@ifrance.com
MSN : Shinjuku83@hotmail.com

15

#define getKey() (kbhit()?ngetchx():0)
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é

16

C'est vrai qu'il y a des gens qui volent le travail, le distribue... et dise meme qu'ils l'ont vole.

17

Shinjuku2> si tu veux faire un jeu je te conseille d'utiliser _rowread pour les touches.
regarde le tuto de ti-fr aussi là dessus
the car's on fire and there's no driver at the wheel
and the sewers are all muddied with a thousand lonely suicides
and a dark wind blows

GYBE! Dead Flag Blue

18

ben c'est pas pour faire un jeu, c'est pour apprendre le C. Mais ta commande m'interresse quand meme plus je peux apprendre mieux C (jeu de mot grin )

Merci pour le tuyau.. smile
Epitech - Ecole pour l'informatique et les nouvelles technologies

Shinjuku@ifrance.com
MSN : Shinjuku83@hotmail.com

19

PpHd : "et qui disent même qu'ils l'ont volé"
Tu penses à qui ?

Et puis c'est préférable à quelqu'un qui laisse croire que tout est de lui je trouve wink
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

20

pour apprendre le C, y'a toujours mon tuto, cf ma signature, qui est aussi dispo sur TI-Fr.
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

21

terrible ta signature thibaut ! moi j aurais mis la poitrine de pamela ca fait plus top. grin

22


Le lien n'est pas mal non plus grin
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

23

je préfère la foto grin
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

24

Ca te plaît pas ce qu'il y a "au bout" du lien ??
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

25

si, mais c pas aussi "ravissant" que la foto...
(et, en plus, je clique po sur le lien... c clair que c pas ça qd on voit l'adresse ds la ST de MSIE grin)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

26

NiArK c'est pas un pb ça gringrin
Rééssaie picol
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

27

Eh titi comment tu fait pour creer une pitite image .gif, avec quel prog... ?confuseek
La théorie c'est quand tout marche et que personne ne sais pourquoi.
La pratique c'est quand rien ne marche et que tout le monde sais pourquoi.
Moi je mêle théorie et pratique:
Rien ne marche et je ne sais toujours pas pourquoi...

28

ce qui s'affgiche dans la ST fait déjà plus réaliste grin
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

29

Qqn pour me répondre siouplait messieurs... rollfou
La théorie c'est quand tout marche et que personne ne sais pourquoi.
La pratique c'est quand rien ne marche et que tout le monde sais pourquoi.
Moi je mêle théorie et pratique:
Rien ne marche et je ne sais toujours pas pourquoi...

30

Paint Shop Pro 7 (obtenu tout à fait légalement sans crack grin)

Sinon tu as l'excellent IrfanView (merci Pen² wink)
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.