1

j'ai programmé un petit jeu en C : il s'agit de la réplique du Minehunt sur HP-48g/gx, mais y'a un bug : quand on le lance pour la 1ère fois, tout est ok.
Mais quand on le lance une 2nde fois, une partie des graphismes disparait, ou alors il fait carrément planter la calc !
J'aimerais savoir d'où vient mon erreur !

le source est à l'adresse suivante :
http://mapage.noos.fr/jcop/ti/minehunt/source.htm

2

en url stp.... [url][/url]


Prise de tête: PhD dans la mire.

------------------------------------------------------------------------------------
Mon site TI 83+ et 83+SE (mort)
Le forum TI 83+ de yAronet !!! (rattaché au site..)

3

ué ta raison moi aussi g la flemme de le copier coller dans la barre d'url...
http://mapage.noos.fr/jcop/ti/minehunt/source.htm
valaa kom ça v pouvoir cliker sur mon lien uééééééé grin
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

4

Apparement ton problème viens de la parite "INITIALISATION DU PLATEAU"

alorsaprès les modifications ci dessous on peut joeur autant de fois que l'on veux sans que le jeu plantetop

Au début ajoutes:

#include <mem.h>
puis remplace tes boucles for par:

memset(tab_ant,0, 7*15);
memset(tab,0, 7*15);


et la ça marche impec, donc je crois que ton prob viens des boucles for...

Un conseil remplace les déplacement par les chiffres pour que l'on puiss utiliser le curseur.
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

5

Merci Slubman smile
j'aurais pu chercher des siècles sans trouver ...

mais j'ai encore un pb : je veux placer 20 bombes dans le plateau, mais au lieu de ça, il m'en place plus : entre 21 et 26 (ça varie en plus !)

voici la portion de code qui gère le placement des bombes (tab[i][j] représente une case) :

nb_mines = 0;
while (nb_mines<20) {
____k = random(8);
____l = random(16);
____if ( ((k+l)!=0)&&((k+l)!=22) ) // pas de bombe en haut à gauche ni en bas à droite
________if (!tab[k][l]) {
____________tab[k][l] = 1;
____________nb_mines++;
________}
}

là y'a vraiment un truc !!! eek eek vador
D'où vient le pb ?
[edit]Edité par jcop le 09-03-2002 à 00:31:11[/edit]

6

Avant ton while, mets un:
memset(tab,0,sizeof(tab[0][0])*8*16);
pour mettre ton tableau à 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é

7

ça marche toujours pas ! confus

8

Quand tu dis ça ne marche toujours pas tu veux dire que tu as trops de mines ou que ça plante???

P.S: Tu aurais du mettre ton topic dans la partie C
[edit]Edité par slubman le 09-03-2002 à 03:06:36[/edit]
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

9

ok

il y a toujours trop de mines ! confus

10

Tu pourrais mettre la toute derniere version en ligne???
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

11

Je cherche mais je ne vois pas d'erreur ci ce n'est qu'avec ta boucle, lorsque tab[k][l)]=1 tu oubli de relancé les random mais tu augmente quand même nb_mines, don ctu devrait avoir moins de mines et pas trop de mineconfusconfusconfus
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

12

la toute dernière version est à cette adresse :
http://mapage.noos.fr/jcop/ti/minehunt/minehunt.c

Slubman > il y a un ! devant le tab[k][l]
[edit]Edité par jcop le 11-03-2002 à 20:21:08[/edit]

13

personne ne sait répondre ??

même pas kevin ? confus

14

j'ai beau chercher je ne trouve pas d'ou viens l'erreur, je pense que tu ferais mieux de recommencer le programme, et n'oublie pas la boucle pour relancer les random si les conditions pour mettre tab[k][l] à 1 ne sont pas respecté, je te le dis car je suis obligé de faire comme cela dans un de mes programmes et ça ne marche pas autrement smile

[edit]Edité par slubman le 11-03-2002 à 02:23:12[/edit]
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

15

ouais, recommence ou alors teste avec tab[k][l]!=0 pas !tab[k][l]. Je ne sais si ça change quelque chose, mais c'est juste pour la rigueur : c'est mieux...
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

16

je suis vraiment étourdi mad

en fait l'erreur était dans la déclaration de tab et tab_ant : il s'agit de tableaux de 8*16 et non 7*15 ...
maintenant il y a le bon nbre de mines smile

17

Moi aussi je suis con pourquoi j'ai pas chercher à compter le nombre de case du plateau de jeugringrin

Pourtant j'ai eu le meme probleme pour un de mes jeuconfus

P?S: met la nouvelle source en ligne ou met le prog en ligne car j'aime bien y jouer quand je me fais chier en cxoursgrin
[edit]Edité par slubman le 12-03-2002 à 15:42:44[/edit]
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

18

voilà c'est fait smile

je rappelle l'@ du source :
http://mapage.noos.fr/jcop/ti/minehunt/source.htm
et le zip contenant les prgms 89 et 92+ :
http://mapage.noos.fr/jcop/ti/minehunt/minehunt.zip