Zeph Le 29/09/2001 à 21:38 Bien... Je suis en train de finir un jeu que j'ai commencé il y a un certain temps, et surtout j'essaie de corriger tout les bugs.
C'est TRES chiant : dans chaque request, empecher le joueur de taper des lettre, des nombres à virgule, des négatifs...
Bon mais tout ça c'est faisable.
Alors du coup j'étais très fier et j'ai montré le programme à qqun, en le défiant de trouver le moindre bug dedant.
Il a cherché un moment, le programme résistait à toutes les attaques, mais finalement il a rentré dans un request un truc qui ressemblait à peu près à ça :
9999^9999^9999
Et la ma calc elle po aimé. Je me rappelle plus du bug mais c'était pas mal, du genre 'overflow' ou qq chose comme ça.
Le problème est que la calc essaie de calculer ça avant de passer à la suite. Je ne sais donc pas si c'est possible de corriger ce bug.
Vous en pensez quoi ?

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
ben g essayé sur la mienne et ua pas de pb.....
enfin...quand tu es dans HOME, çà met beasy 2s et çà affiche infini, et dans un request(dans une structure Dialog EnDlog), çà ne met pas d'overflow
tout doit dependre de ce que tu fais de la var request après je pense
try..endtry me parait evidemment adapté !
stock la sur une string;et teste avant.
:Lbl x
:Request "Entier",x
:If ok=0:Goto x
:If dim(x)>614:Goto x
:For i,1,dim(x)
:If mid(x,i,1)>"9" or mid(x,i,1)<"0":Goto x
:EndFor
:expr(x)->x
Ici, tu es sûr d'avoir un entier positif que la calculatrice peut traîter sans erreurs en x.
[edit]Edité par Kevin Kofler le 08-09-2001 à 23:11:05[/edit]
y'a plus simple :
2^2^22
=2^4194304
bah la ti...
oui je crois qu'au dela de 200, faut pas trop esperer que l'impatient ira jusqu'au bout avant de presser [ON]
Je commence a reussir a faire bouger un sprite. Ou bah je suis content !
Zeph Le 29/09/2001 à 21:38 La solution de Kevin est très bonne, mais il y a beaucoup de request et faire ça à chaque ça va trop alourdir le programme.
Malheureusement quand on veut faire planter un prog il y a toujours moyen...
Alors il me reste deux possibilités :
- soit il existe une solution miracle que pour l'instant personne n'a trouvé
- soit tant pis, si qqun s'amuse à entrer des conneries dans mes request et bah ça plantera et pis c'est tout

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
aze Le 29/09/2001 à 21:38 je pense que la 2eme solution est la meilleure...
ils nous emmered aussi a vouloir planter nos progs...
J'arrive pas à faire planté ma calc de la façon que tu dis (j'arrive pas à la faire planté tous cours avec un request, en fait).
Comment veux-tu qu'on corrige un bug que l'on arrive pas à reproduire ?

Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.
aze Le 29/09/2001 à 21:38 c'est etrange ton plantage...
ca n'est jamais arrive a qqun de mon entourage...
enfin g deja vu des bugs hyper bizzare sur des calc (genre : i (comme irreel) * i qui donne comme resultat des caractreres correspondant a peu pres a du basic tokenizé)
change de rom, on ne sais jamais
ou alors un bon reset...
Zeph Le 29/09/2001 à 21:38 Ahhh je viens de tester sur Vti un prog tout simple :
dialog
request "»",a
enddlog
expr(a)->a
if a>0:0->a // pour obliger la ti à examiner a
He bah même si on rentre 9999^9999^9999 ça ne plante pas (rom 2.01) donc mon prog y est pour qq chose... Pourtant sur des valeurs plus petites il n'y a aucun problème...
Bon le plus simple c'est de poster ici l'extrait de mon programme qui plante... Dès que je peux je le met ici.
[edit]Edité par Bob 64 le 16-09-2001 à 15:57:39[/edit]

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
>Qqun a réussi à faire passer une rom 2.05 dans Vti ?
Il suffit de recopier ton fichier .89u dans le répertoire contenant vti.exe.
Zeph Le 29/09/2001 à 21:38 RAHHHHH je n'y comprends plus rien !!!
J'ai re-vérifié sur rom 2.05, mon programme plante quand on entre 9999^9999^9999 dans le request. J'ai extrait la partie fautive du programme et la voilà :
12000->dollars5 // cette ligne n'existe pas dans le vrai programme
0->chx
Dialog
Title "Offrir"
Text "Dollars : "&string(dollars5)
Text " "
Request "Somme ",chx
EndDlog
expr(chx)->tmp
Mais pourtant ce petit bout de programme executé seul ne plante pas ! Je vais péter un plomb ! Qu'est-ce qui se passe dans ce foutu programme ?¿¿?¿??¿?¿??¿???

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
aze Le 29/09/2001 à 21:38 ya pas une erreur au niveau de tmp (qui est d'un autre type que expr ?)
Zeph Le 29/09/2001 à 21:38 non,non 'tmp' je la delete avant

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
>Bob 64: Pourtant les rom de VTI sont en .rom non ?
Oui, mais VTI lit aussi les fichiers 89u, 9xu et tib.