1

Bon, voila le probleme.
j'aimerais pouvoir prendre les valeurs contenues dans une matrice en basic pour pouvoir les utiliser dans un programme en C pour pouvoir accelerer mes jeux en basic. La matrice contient soit des 0, soit le nom de l'image que j'aimerais afficher. Or, j'ai essayé d'utiliser le code donné dans l'aide de tigcc. Elle marche tel quel, mais si je remplace l'argument par le nom de la matrice, ya plus rien qui marche.
aidez moi !
Unlimited!

2

poste ton code dans ces cas là ...

3

Si tu veux vraiment accélérer ton jeu, utilise les tableaux du C, ou mieux, programme le complètement en C.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

4

voila le petit bout de code:
#define RETURN_VALUE
#define USE_TI89
#define OPTIMIZE_ROM_CALLS // Use ROM Call Optimization
#include <tigcclib.h>

ESI locate_element (short m, short n)
{
short i;
ESI ptr = top_estack-1;
for (i = 0; i < m-1; i++) ptr = next_expression_index (ptr);
ptr--;
for (i = 0; i < n-1; i++) ptr = next_expression_index (ptr);
return ptr;
}

void _main(void)
{
ESI ptr;
int result;
int i = 1; // Just an example
int j = 1;
push_parse_text ("[[1,2],[11,12]]"); // An example matrix
ptr = locate_element (i,j);
result = GetintArg (ptr);
push_longint (result);
}

ca, ca marche, mais quand je remplace [[1,2],[11,12]] par le nom de la matrice, ca marche pu!

je prefere faire mon prgm en basic, ca me permet de prgrammer un peu partout et pis je suis pas assez fort pour tout programmer en C pour l'instant, la preuve...
Unlimited!

5

darkein
: ca, ca marche, mais quand je remplace [[1,2],[11,12]] par le nom de la matrice, ca marche pu!

http://tigcc.ticalc.org/doc/estack.html#push_internal_simplify
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é

6

la, c'est pire, j'ai une erreur interne...
Unlimited!

7

Tu ne l'utilises pas correctement. Si tu avais vraiment lu la documentation au lieu de changer le nom de la fonction aveuglement, tu saurais qu'il faut utiliser push_internal_simplify(top_estack); après ton push_parse_text.
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

En fait, le pire, c'est que j'ai deja reussi a faire un programme dans ce genre et qui marchait, mais j'ai perdu les sources! Je l'aurais bien repris si je pouvais changer quelques parametres, comme le nombre d'images a afficher, afficher plusieurs couchesd'images, etc..., mais la, je ne peut pas le faire et c'est justement ce dont j'ai besoin
Mais sinon, ca allais beaucoup plus vite (2s pour afficher l'ecran contre 20s en basic), et en plus, ca me permettais d'utiliser un ecran virtuel, chose que je ne peux pas faire en basic.
C'est pour ca que je tiens vraiment a y arriver...
Unlimited!

9

bon, maintenant, j'ai ca:
#define USE_TI89
#define OPTIMIZE_ROM_CALLS // Use ROM Call Optimization
#include <tigcclib.h>

ESI locate_element (short m, short n)
{
short i;
ESI ptr = top_estack-1;
for (i = 0; i < m-1; i++) ptr = next_expression_index (ptr);
ptr--;
for (i = 0; i < n-1; i++) ptr = next_expression_index (ptr);
return ptr;
}

short show_picvar (SYM_STR SymName, short x, short y, short Attr)
{
SYM_ENTRY *sym_entry = SymFindPtr (SymName, 0);
if (!sym_entry) return FALSE;
if (peek (HToESI (sym_entry->handle)) != PIC_TAG) return FALSE;
BitmapPut (x, y, HeapDeref (sym_entry->handle) + 2, ScrRect, Attr);
return TRUE;
}


void _main(void)
{
ESI ptr;
int result;
int i = 2; // Just an example
int j = 1;
push_parse_text("mapbk1");
push_internal_simplify(top_estack);
ptr = locate_element (i,j);
result = GetIntArg (ptr);

show_picvar (SYMSTR (result), 30, 30, A_NORMAL);
ngetchx(); }


mais ca marche toujours pas! Au fait, comment faire si je met la matrice dans un autre repertoire que celui ou est le programme et les images elle aussi dans un autre repertoire ?
Unlimited!

10

la solution ce n'est pas d'utiliser les matrices basic ds un prgm C mais des matrices C ds le basic grin miam
avatar
納 豆パワー!
I becamed a natto!!!1!one!

11

ui mais non, dans ce cas la, je pourrais pas creer les map sur ma ti (a moins de faire un editeur...)!
Unlimited!

12

Un conseil: utilise un programme C avec des matrices C et fais juste un convertisseur pour transformer tes matrices basic quand tu veux faire les niveaux
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

13

passe un string et les dimensions par exemple, ca pourrait deja te simplifier la vie ...

14

je veux bien, mais je fais comment moi ? Je vous rappelle que je suis pas tres fort...
pour les strings et les dimensions, je comprend pas ce que tu veux dire, tu veux un exemple d'une matrice ?les matrices sont en [6;10] minimum et elles contiennent des strings genre "images\arbre1", mais je vois pas en quoi ca pourrais m'aider...
Unlimited!

15

arf, des matrices de string ...
c sur que c différent là

16

alors, personne peut m'aider ? tsss
Unlimited!

17

Essaye NG_rationalESI(top_estack);.
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é

18

"et en plus, ca me permettais d'utiliser un ecran virtuel, chose que je ne peux pas faire en basic. "
Avec Vertel 3.
avatar
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.

19

ya rien a faire, ca marche pas!
finalement, je crois que ce serait plus simple de convertir une matrice basic en matrice C, m'enfin j'aurais besoin d'aide quand meme pour y arriver. En tout cas, je vous remercie de m'aider top
Unlimited!

20

bon, j'ai toujours pas reussi a creer ce que je voulais, alors j'ai decider de creer un editeur en C et de stocker les map dans des fichiers a part. Or si je sais creer un ficher texte et le remplir, je ne sais pas du tout comment creer un fichier "autre" et le remplir d'une matrice, et encore moins comment recuperer ces matrices
aidez moi !
Unlimited!