1

J'avance lentement mais surement.
Je vais finir la plateforme du jeu d'ici à 1 heure.
Je suis assez content du résultat. faut dire que je l'avais déjà fait en basic sur Ti donc j'ai repompé le code pour l'adapter en C.
Grapiquement ça pouurait être mieux ; car j'utilise les font de TI pour les lettres au lieu de belle images (je verrai ça plus tard).

Alors j'ai eu petit bug cet après-midi en faisant [MEM] ou [VARLINK] après exécution du Scrabble alors que je venais à peine de faire la modification suivante :

- j'utilise rowread pour lire le clavier car j'ajouterai le chronomètre tout à l'heure
-j'ai déplacé la détection des touches dans une fonction 'keyread()' qui retourne un entier de -1 à 18 alors que l'installation du DUMMY_HANDLER et la restauration du AUTO_INT_1 se trouve dans un prog dit principale.

C'est là que le bug s'est produit. Avant ce déplacement il n'y avait pas de bug.

Quelqu'un peu m'expliquer ce qui s'est passé ?

Normalement il doit pas y avoir ce genre de chose vu que je ne détecte pas de touche autrement que par le biais de la foction 'readkey()' que j'ai crée.

De surcroit je restaure AUTO_INT_1 avant de quitter le prog

2

t'a bien restauré les auto-ints?
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

3

je viens juste de réeditier le post : les 2 dernière ligne

4

tu es sur que le bug est du a ton programme?
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

5

Maintenant que tu le dit j'avais installer un peu avant le TSR buggué de FLANKER teedit et predit.
Mais j'avais pris le soin de les déinstaller avant de lancer mon prog

6

me semble que l'auto_int_5 peut interférer avec _rowread, aussi
=> il peut être judicieux de le désactiver lui aussi smile
(enfin, dummy_handler, quoi)
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

7

Un TSR bogué peut rendre ton système instable.
Réessaye après un reset.
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

ça doit être ça , je crois aussi.
Bon merci, j'essaireai un screenshot ce soir si j'arrive à faire fonctionner VTI ;
je n'arrive pas à lui envoyer des prog.
On m'avait dit qu'il fallait mettre tous les prog dans c:\TI
mais ça foire toujours.

je sais plus quoi faire !

9

ben pk dans c:\ti confus
avatar
† In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
illwieckz.net ~ Unvanquished ~ gg.illwieckz.net { le frag courtois } ~ NetRadiant ~ Crunch

10

je n'arrive pas à lui envoyer des prog.


pour envoyer à VTI, tu peux mettre dans le répertoire que tu veux...
dans VTI, clic droit sr l'écran, et dans le menu, tu as "envoyer vers", ou dans le genre (touthce F10, F11 ou F12, je sais plus)

sinon, tu fais un glisser déposer de tes fichiers depuis l'explorer windows vers VTI smile
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

11

De la part de andoh_wilfried qui a quelques soucis avec son navigateur :

disponible pour TI 92 plus uniquement : voici la plateforme du jeu [url]http://databob.free.fr/Upload/scrabbleDEMO_92plus_Only.zip [/url]

wink
avatar
† In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
illwieckz.net ~ Unvanquished ~ gg.illwieckz.net { le frag courtois } ~ NetRadiant ~ Crunch

12

oh c dommage je le voulait mais g une ti89

13

ça va faire plus de 2 semaines que j'ai pas touché à ce prog.
Il avait un petit bug lors de la détection des mots; c'est réglé.
La plateforme est aussi opérationnelle que possible.
Me reste plus qu'a bidouiller la disposition pour faire tenir tout ça sur une ti89 ; je sens que ça va pas être aussi joli que sur ti 92plus.

Sinon il reste encore pas mal de boulot.
Actuellement je travaille sur la sauvegarde des jeux en fichiers externes.

Faut que je fasse le dico maintenant.

Je suppose qu'il existe des softs pour créer et accéder à une base de données sur ti .

Je vais voir sur ti-calc. Si vous en connaissez dites-le moi !

14

Tu pourrai pas l'adapter pour TI89 stp!!

15

ça viens ! je vais voir ça ce soir.
Mais c'est que la plate-forme , faut pas s'attendre à un miracle pour le moment !

16

Salut JACKRAK !

Bon allez loggue toi sur le forum pour commencer.

et on pourra commence à finir ce programme en moins de 2 !

17

besoin d'aide. j'arrive plus à compiler mon projet avec la nouvelle beta de TIGGC.

Il n'y a aucun bug dans les fichier C les problèmes sont dans les Headers et Prototypes.
C'est le même code que j'ai compilé il quelques semaines pour la demo TI92plus en corrigeant les bubs !
J'ai juste réorganisé en dossier en mettant
-HEADER les macros , les prototypes, les structure et variables globales
-Le prog C a été divisé en sous fichiers par catégotie car trop long.

En Compilant j'obtient la même erreur du genre 'echec de compilation' pour chacun des fichiers C.
je ne comprends rien

S'il y erreur c'est en rajoutant les prototypes et les includes dans chaque fichier C.
mais comme ça ne compile plus du tout je ne sais plus quoi faire

18

il faut que l'arborescence du projet TIGCC respecte celle du système de fichier sur ton dur, il me semble

si tu as
projet/c
projet/h
projet.tpr

il faudra que, dans TIGCC IDE, tu ais un répertoire c et un répertoire h... enfin, dans le genre... c pas terrible ce système...
sans compter que dans les include, il ne faudra peut-être pas mettre le chemin
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

19

20

Lol je me promene pas avec un pc et VTI en cours!!

21

andoh_wilfried>Je ne voudrais pas te décourager, mais je pense que pour adapter le dico, ca va être dur. En fait, la grosse difficulté sera de le faire tenir sur la calc car ca fait plus de 500ko un dico (et encore il faut bien le compresser)
Mais il reste la solution pedrom, alors continue smile
Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici

22

Ouai enfin je connai peut de gens qui vont mettre pedrom juste pour jouer au scrable sur leur TI!!

23

Salut Will,
Comme tu le vois je me suis maintenant loggué sur YARONET. info

Regarde dans ta boite à E-mail; je t'ai laissé truc. smile

24

Il faut aussi que tous tes fichiers pris avec #include soient dans la catégorie "Header Files". (Et au passage, si tu "divises" un fichier .c avec #include, tu ne l'as pas vraiment séparé, regarde du côté de extern et de la compilation séparée pour une séparation véritable et propre.)
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é

25

Nouvelle demo pour toutes les calc demain ; le dico et 'Ia c'est pas pour de suite du moins l'IA.
On commence le Dico.
Si ça continue on va s'arrêter au mot de moins de 10 à 12 lettres.
Vous en connaissez beaucoup de joueurs qui font des mots de 15 lettres.

Objectivement vous pensez qu'on devrait s'arrêter à combien de lettres ?

26

Je pense que 10 lettres est largement suffisant pour faire une excellente demo !
Bon courage smile
Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici

27

Surtout qu'en ce moment ; on s'est mis à d'autres projets au lieu de bosser à fond sur scrabble.
C'est vrai quoi c'est marrant au début ; on veut faire vite , et après hop , on a envie de faire autre chose.
Mais là on s'y remet serieusement.
ça doit faire 1 mois qu'on a écrit aucune ligne code

28

les mots de 10 lettres faut les placer déjà !
ça doit pas arriver très souvent. Alors plus, ce serait complètement inutile je pense.

29

JACKRACK->
On va essayer de faire les choses suivantes histoire de faire avancer le projet pour sortir une petie Betâ :

Mon boulot

- Petit bug dans [MODE] en cours de jeu : quand la boîte est active, le chrono ne peut mettre fin à la partie
- adaptation de la plate forme pour TI89
- revoir le rowread pour annuler les autres combinaisons de touches non désirées


Ton boulot

- amélioration des routine 'show_' pour éviter le clipping lors de l'affichage
- améliration du clignotement du curseur

Le Dico Conventions

En fin de compte je te laisse faire joujou avec ça va t'opq un peu: voici comment je me représente ça :
** Ce sont des fichiers externes dans le repertoire DICO : extension des fichiers *.ODS
** Le nom des fichiers comporte 8 lettres obligatoirement
** Les fichiers sont crées en fonction du nombre de lettres des mots. pour le moment on va s'arrêter à 10 letttres.
** Nom générique : { char name 9; sprintf(name,"dico%02i%02i",nombre_lettre_du_mot, sous_catégorie_dico) ; }
** La sous-catégorie sert à dépasser la limitation de taille des variables du TIOS en créant s'il le faut
plusieurs fichiers pour les mots d'un nombre de lettres données.

Le Dico Créer les fichiers textes séparés sous VBA ou ce que tu veux comme Logiciel
** sous-dico selon le nombre de lettre des mots
** les données de chaque ligne accessible du sous-dico seront conçues de la façon suivante :
- pour tous les mots aux des lettres identiques (nécessite le tri des lettres des mots par ordre croissant)
- calcul d'un code de cryptage à partir de la formule :
short nombre_1er[]={2,3,5,7,11,13,17,19,23,29};
double long code=1;
For( i=0; i++ ; i<nombre_de_lettre_du_mot )
{
code *=(double long) nombre_1er[\i] * ( code_lettre[\i] - 64) le \ dans [\i] c'est pour éviter l'italique
}
-Ce code est le 1er élément de chaque donnée. C'est dessus que s'effectue la rechercher des mots
une fois que le mot est trié par ordre croissant.
-Après ce code vient la liste des mots pouvant provenir des lettres du code.
Du fait que tous les mots ont le même nombre de lettre on choisit donc de tout stocker comme
une chaîne de caractère unique avec le /0 pour indiquer la fin de la ligne de donnée.
On pointera en décalant du nombre de lettre du mot pour faire la recherche du mot valide.

Pour illustrer tout ça supossons que les mots de 2 lettres sont au nombre de 4.
++ Avec les lettres 'a','b' => on peut écrire les mots "ab","ba"
++ Avec les lettres 'a','c' => on peut écrire les mots "ac","ca"

Le fichier "word0201.ods" aura la structure suivante :

________________________________________________________________________________________________________________________
2 bytes pour la taille de la variable du le fichier perso

-------------- Cette portion de code peut se répéter autant de fois qu'il y a de lignes de données----------------------

2 bytes pour la longueur de chaque ligne de données // permet de par ajout successif de pointer sur la ligne suivante
n bytes pour le code de cryptage des lettres 'a' et 'b' n=sizeof(double long)
1 byte le /0
4 bytes pour les mots 'abba'
1 byte le STR_TAG

------------------------------------------------------------------------------------------------------------------------

-------------- Cette portion de code peut se répéter autant de fois qu'il y a de lignes de données----------------------

2 bytes pour la longueur de chaque ligne de données // permet de par ajout successif de pointer sur la ligne suivante
n bytes pour le code de cryptage des lettres 'a' et 'c' n=sizeof(double long)
1 byte le /0
4 bytes pour les mots 'acca'
1 byte le STR_TAG

------------------------------------------------------------------------------------------------------------------------
4 bytes pour le format perso 'ODS '
1 byte pour le Other_TAG=248

_________________________________________________________________________________________________________________________

(21+2*n) bytes au total pour le fichier

flemme de regarder la valeur de n dans la DOC.
Si tu préfères , on peut éviter le 'double long' en inscrivant à la place les lettres des mots en ordre alphabétiques. le but c'est d'éviter de gaspiller la mémoire. Donc on prend le plus petit code.




Vu comme ça on croirait que tu travailles trop mais c'est parceque j'ai fais dans le détails.

30

Voilà j'espère avoir été le plus claire possible à ce soit 16H45 sans faute.
tu peux proposer autre chose comme format pour le Dico, Le tout c'est que ça soit petit et surtout pratique pour la recherche des mots par la suite.

En effet avec cette structure on pourra trouver à coût sur un mot existant dans le DICO et rapidement puisque il suffira :
-de calculer la longueur du mot pour savoir dans quel fichier rechercher le mot
-de ranger par ordre les lettres du mot et calculer le code de cryptage du mot
-chercher ce code de cryptage à travers le fichier
-si le code est trouver vérifier que le mot existe dans la chaîne qui suit le code

Il y a donc aucune raisons de ne pas trouver rapidement le mot recherché !
Après on pourra en agissant sur le score des mots régler la puissance de frappe del'IA

tu me laisses un MiniMsg au cas où tu serais disponible ce soir.

A+