1

Bonjour oint_5);    GKeyFlush();    }C'est bizarre... mon programme (#define SAVE_SCREEN  #define HAUT 338  #define BAS 344  #define GAUCHE 337  #define DROITE 340  #define voir(expr) printf(#expr " = %d\n", expr)  #define voir_str(expr) printf(#expr " = %s\n", expr)    #include<tigcclib.h>    void attendre(int d)  {    int c;    for(c=0;c<100*d;c++) ;  }    static unsigned int rand_seed=0; // seed for random nums    int randomnum(int x)             // returns a random number between 0 and x-1  {    return (rand_seed=(75*rand_seed+1))%x;  }    void _main(void)  {      /* sauver et couper les interruptions blocantes */    INT_HANDLER save_autoint_1= GetIntVec(AUTO_INT_1);    INT_HANDLER save_autoint_5= GetIntVec(AUTO_INT_5);      static unsigned char joueur[] = {0x8,0x3E,0x41,0x55,0x41,0x49,0x3E,0x63};      static unsigned long fond1[] = {0x7800,0x841C,0x190222,0x2601C1,0x400001,0x400001,0x400002,0x218184,0x224244,0x400004,0x800002,0x800001,0x800001,0x478002,0x387E0C,0x1F0};      static unsigned long fond2[] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};      clrscr();    rand_seed=137*peek(0x600017);  // Prendre comme seed les timers du systeme    int i,c,j;    for(j=0;j<4;j++)      for (i=0;i<=4;i++){        c=randomnum(15);        if(c==1) Sprite32_OR(60*i-2,32*j,16,fond1,LCD_MEM);        if(c!=1) Sprite32_OR(60*i-2,32*j,16,fond2,LCD_MEM);      }    int x=100,y=80;    Sprite8 (x,y,8,joueur,LCD_MEM,SPRT_XOR);    int test=0;       //Test de la condition    FontSetSys(F_4x6);    while(1) {      printf_xy(0,1,"x=%d  ",x);      printf_xy(0,7,"y=%d  ",y);      if(test) {Sprite8 (x,y,8,joueur,LCD_MEM,SPRT_XOR);test=0;}      if(_keytest(RR_UP)) {y-=2;test=1;}      if(_keytest(RR_DOWN)) {y+=2;test=1;}      if(_keytest(RR_LEFT)) {x-=2;test=1;}      if(_keytest(RR_RIGHT)) {x+=2;test=1;}      if(_keytest(RR_ESC)) return;      if(test) {Sprite8 (x,y,8,joueur,LCD_MEM,SPRT_XOR);test=0;}      attendre(50);    }    /* restaurer les interruptions blocantes */    SetIntVec(AUTO_INT_1,save_autoint_1);    SetIntVec(AUTO_INT_5,save_aut) s'arrête uniquement quand je bouge mon personnage, et ce dans m'importe quelle direction et n'importe quand. Je compile ce projet avec GTC et il plante à la fin de la compilation, alors qu'il n'y a aucune erreur ni de warning (d'après lui...)

AIDEZ-MOI SVP !!! confus fou

P.S. : Le sprite du joueur se répète; c'est pas normal. Est-ce que quelq'un peut m'aider, je ne suis vraiment pas fort dans ce domaine...
Elements Soul, mon projet sur TI-92+ (et d'ailleurs mon seul VRAI projet)
Avancement :

Interface : 90 %
Système de combats : 95 %
BDDs : 60 %
Histoire : 5 %

2

alors il manque un #include <extgraph.h>, mais à part ça ça compile très bien ^^

par contre c'est tout à fait possible que ton programme soit instable parce que tu écris en dehors de l'écran : Sprite32_OR n'est pas une routine clippée, donc si tes sprites sortent en partie de l'écran il y a des chances que tu corrompes la mémoire smile (ce qui expliquerait que le programme quitte trop tôt et que ta calc puisse planter à la compilation suivante)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

3

Tu n'as pas redirigé les INT_HANDLERs, tu les as juste sauvegardés; pour que ton keytest fonctionne, il me semble qu'il faut les rediriger vers DUMMY_HANDLER comme c'est indiqué dans la doc de TIGCC.

Pourquoi écris-tu "if (c == 1)" suivi de "if (c != 1)", tu n'aimes pas le mot-clé "else" ?

Je me trompe peut-être, mais j'ai l'impression que tu viens de quitter le Basic il y a peu de temps ^^ La méthode d'affichage avec des "XOR" pour ne pas pourrir le fond, c'est pas top ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4

Question graphisme en C, je suis pas au top, c'est sur...

Et à propos de if(c==1) et if(c!=1) j'étais un peu endormi quand j'ai réalisé le programme grin et j'avais pas envie de sortir de mon lit pour aller chercher K&R et relire le passage avec les if...else embarrassed donc j'ai fait if et if.C'est si bête que ça.
Elements Soul, mon projet sur TI-92+ (et d'ailleurs mon seul VRAI projet)
Avancement :

Interface : 90 %
Système de combats : 95 %
BDDs : 60 %
Histoire : 5 %

5

Et vous me conseilleriez quoi pour ne pas que le sprite se répète et qu'il ne "pourisse pas le fond" ?
Merci d'avance
Elements Soul, mon projet sur TI-92+ (et d'ailleurs mon seul VRAI projet)
Avancement :

Interface : 90 %
Système de combats : 95 %
BDDs : 60 %
Histoire : 5 %

6

tout réafficher à chaque image (fond + perso), utiliser des masques pour l'affichage de tes sprites au lieu du "XOR", et utiliser du double buffering (=> google) pour éviter que ça clignote.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

7

Si le sprite sort (ou peut sortir) de l'écran, il faut utiliser ClipSprite32_OR, pas Sprite32_OR.
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é

8

OK merci !
Je vais essayer les méthodes (quand GTC arrètera de faire planter la caltos...)
Elements Soul, mon projet sur TI-92+ (et d'ailleurs mon seul VRAI projet)
Avancement :

Interface : 90 %
Système de combats : 95 %
BDDs : 60 %
Histoire : 5 %

9

Si GTC fait planter la calculette, plains-toi à Pollux, et essaie de reproduire le plantage sur émulateur wink
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

10

TIGCC ne risque pas de planter ta calculatrice. tongue (*)
Et non, ça ne plante pas ton PC non plus. grin

(*) L'exécutable produit par TIGCC si, mais là, c'est en général ta faute. tongue
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

En effet, les bugs viennent plus souvent du programme (donc du(des) programmeurs(s) ^^) que de la toolchain grin
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

12

Non mais par "planter" je veux dire:
-De un, ce qui n'arrivait pas encore quand j'ai posté ce topic, c'est-à-dire que GTC ne se lance plus et quand il se lance (par miracle), PreOS m'indique "Crash intercepted" ou la calculette plante quand je compile.

-De deux, ce qui m'à fait écrire ce topic, c'est-à-dire le "Crash intercepted" de PreOS quand j'avais FINI de compiler le programme.

Désolé pour mon imprécision...
TIGCC ne risque pas de planter ta calculatrice. tongue (*)
Et non, ça ne plante pas ton PC non plus. grin


Je me sers de GTC parce que je ne peux pas beaucoup me servir de mon PC, mes parents me limitant à 1h - 1h30 maxi par jour non , et je préfère passer cette heure à bidouiller ou à jouer, sachant que je peux compiler sur la calculette...
Et oui, à 14 ans (presque 15), la vie est encore dure ! angry
Elements Soul, mon projet sur TI-92+ (et d'ailleurs mon seul VRAI projet)
Avancement :

Interface : 90 %
Système de combats : 95 %
BDDs : 60 %
Histoire : 5 %

13

StoneWolf (./12) :
mes parents me limitant à 1h - 1h30 maxi par jour

Les miens avaient essayé ça à un moment, ils n'ont pas réussi à l'imposer longtemps. grin
Ça s'est fini par un PC à moi dans ma chambre quand j'ai eu 17,5 ans, parce que j'étais dans leur chambre devant le PC sans arrêt et ils en avaient marre. tongue

Franchement, la calculatrice est une plateforme totalement inappropriée pour la programmation, le clavier n'est pas pratique pour programmer, la qualité des outils on-calc, tu l'as vue etc.

Il faut que tu dises à tes parents que la programmation, c'est bien pour la créativité etc.
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é

14

"papa, maman, la programmation c'est bien plus la créativité etc."

si avec ça ils sont pas convaincus... grin (c'est loin d'être faux, mais si t'arrives à les convaincre avec ça, alors y'a moyen de faire passer pas mal d'autres trucs à mon avis ^^)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

15

StoneWolf (./12) :
Non mais par "planter" je veux dire:
-De un, ce qui n'arrivait pas encore quand j'ai posté ce topic, c'est-à-dire que GTC ne se lance plus et quand il se lance (par miracle), PreOS m'indique "Crash intercepted" ou la calculette plante quand je compile.

-De deux, ce qui m'à fait écrire ce topic, c'est-à-dire le "Crash intercepted" de PreOS quand j'avais FINI de compiler le programme.

Je comprends pas ton problème, tu n'arrives pas à lancer GTC même avec une calc fraîchement resettée ? Ou bien c'est seulement après avoir lancé ton programme que le compilation se met à foirer ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

16

Zephyr (./14) :
"papa, maman, la programmation c'est bien plus la créativité etc."

si avec ça ils sont pas convaincus... grin (c'est loin d'être faux, mais si t'arrives à les convaincre avec ça, alors y'a moyen de faire passer pas mal d'autres trucs à mon avis ^^)

Bien sûr il faut aussi faire le brouhaha nécessaire, si on obéit toujours tranquillement, on n'obtient jamais rien. tongue
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é

17

Kevin Kofler (./10) :
TIGCC ne risque pas de planter ta calculatrice. tongue (*)
Et non, ça ne plante pas ton PC non plus. grin

(*) L'exécutable produit par TIGCC si, mais là, c'est en général ta faute. tongue

Sinon y a un compilo qui pond des trucs qui font pas planter.... meme si tu fais expres de faire planter.
Tout ce qui passe pas par le port 80, c'est de la triche.

18

Kevin Kofler (./13) :
StoneWolf (./12) :
mes parents me limitant à 1h - 1h30 maxi par jour

Les miens avaient essayé ça à un moment, ils n'ont pas réussi à l'imposer longtemps. grin
Ça s'est fini par un PC à moi dans ma chambre quand j'ai eu 17,5 ans, parce que j'étais dans leur chambre devant le PC sans arrêt et ils en avaient marre. tongue

Franchement, la calculatrice est une plateforme totalement inappropriée pour la programmation, le clavier n'est pas pratique pour programmer, la qualité des outils on-calc, tu l'as vue etc.

Il faut que tu dises à tes parents que la programmation, c'est bien pour la créativité etc.

Disons que toi (et les autres programmeurs ici présents), tu fais pas des trucs inutiles quand tu restes devant l'ordi pendant des heures.. Les parents croient qu'on est des loosers qui jouent à des jeux videos qui vont rien apporter de bien. Alors que non. on est des loosers qui apprenent à écrire des choses structurées et qui poussent à la réfléxion.
Tout ce qui passe pas par le port 80, c'est de la triche.

19

onur (./17) :
Sinon y a un compilo qui pond des trucs qui font pas planter.... meme si tu fais expres de faire planter.

Je suis sûr qu'il y a un moyen de faire planter un programme en ETP. roll Tout ce que ta tentative de ne pas faire planter apporte, c'est qu'il manque des fonctionnalités essentielles comme les pointeurs.

D'ailleurs, etpstudio.com appartient aux squatteurs maintenant.
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é

20

onur (./18) :
Les parents croient qu'on est des loosers qui jouent à des jeux videos qui vont rien apporter de bien.

Bah, dans son cas, ils n'ont pas tout à fait tort. grin
StoneWolf (./12) :
et je préfère passer cette heure à bidouiller ou à jouer, sachant que je peux compiler sur la calculette...

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é

21

Le clavier n'est pas pratique pour programmer


Pour les possesseurs d'une TI-89, sans doute... (Je pense que c'est la majorité ; je l'aurais achetée si je n'avais pas trouvée une 92+ sur Ebay pour presque rien)

Et sinon, comme le bug est résolu, je vais faire un autre topic à propos du plantage...
Elements Soul, mon projet sur TI-92+ (et d'ailleurs mon seul VRAI projet)
Avancement :

Interface : 90 %
Système de combats : 95 %
BDDs : 60 %
Histoire : 5 %

22

Je me suis jamais trop amusé à programmer sur TI à part un peu à l'époque avec CC (vous vous souvenez tous de Balle, hein? non? trilove) mais en tous cas le clavier n'est pas si mal si tu veux juste bidouiller un peu et que tu as l'habitude smile
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