1

Bonjour à tous,

Je débute sur tigcc et voici ce que j'aimerais faire :

Je voudrais que l'utilisateur tape son mot (entre 1 et 10 lettres au choix par ex) et qu'il s'affiche sur l'ecran (comme lorsque qu'il faut entrer son nom lorsque qu'on a battu le record dans un jeu). Ensuite il appuie sur ENTER.

ngetchx() n'utilise qu'une lettre, Une boucle ferai taper obligatoirement un certain nombre de lettres (je crois).

Alors comment fait-on SVP ?

Merci d'avance !!

2

Utilise getsn (TIGCC 0.95 bêta 1 minimum).
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é

3

C'est une fonction standard ça ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

4

Une boucle ferai taper obligatoirement un certain nombre de lettres (je crois).

Pas forcément, c'est parce que tu penses boucle for, mais tu peux utiliser une boucle while. Si tu fais un truc du genre :
char input[11];
int i = 0;
do
  input[i] = ngetchx();
while (input[i] != KEY_ENTER &&  ++i < 10);
input[i] = 0;

ça ne prendra des lettres que tant qu'on n'appuie pas sur entrée (évidemment je ne te recommande pas d'utiliser ça tel quel : ça n'affiche rien sur l'écran et ça ne vérifie pas qu'on a bien entré des caractères ASCII. Mais c'est à titre d'exemple.)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

5

Thibaut
: C'est une fonction standard ça ?

Pas tout à fait, mais la méthode standard pour récupérer une quantité comptée de caractères est fgets(stdin,...), ce qui ne marche pas sous TIGCC. Et on trouve du getsn à certains endroits, par exemple dans le noyau de OpenBSD.
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

En effet je n'avais pas penser a la boucle while.
Je vais essayer getsn aussi.

Merci

7

La prog en C.doc proposée par Squale92 dans son tuto sur Ti-rex fait mension d'un code qui permet de recuperer l'entrée utilisateur: InputStrXY void InputStrXY(short x, short y, char *buffer, short maxlen) { /* Liste des Arguments : x : coordonnées en X du point où la demande apparaîtra à l'écran. y : coordonnées en Y du point où la demande apparaîtra à l'écran. buffer : la chaîne de caractères où le résultat sera stocké. maxlen : le nombre maximal de caractères qu'il sera possible d'entrer. */ SCR_STATE ss; short key, captured, i=0; void CaptureHandler (EVENT *ev) { if (ev->Type == CM_STRING) captured = *(ev->extra.pasteText); } MoveTo(x, y); buffer[0] = 0; SaveScrState (&ss); do { printf_xy(ss.CurX, ss.CurY, "%s_ ", buffer); // Note that two spaces are required if F_4x6 font is used key = ngetchx(); if (key == KEY_CHAR && i < maxlen) { EVENT ev; ev.Type = CM_KEYPRESS; ev.extra.Key.Code = key; EV_captureEvents (CaptureHandler); EV_defaultHandler (&ev); EV_captureEvents (NULL); buffer[i++] = captured; } if (key >= ' ' && key <= '~' && i < maxlen) buffer[i++] = key; if (key == KEY_BACKSPACE && i) i--; buffer[i] = 0; }while (key != KEY_ENTER); }
Il se peut que ce soit pas ce que tu cherches, mais bon...
Sinon, tu peux toujours lire la doc, qui est très bien faite.

8

getsn utilise à peu près le même code, mais en assembleur optimisé.
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é

9

Je ne peux pas utiliser getsn (j'ai la version 0.93).
Apparemment il y a des problemes dans la version beta 0.95 (qui n'ai même pas téléchargeable sur le site officiel de tigcc), je vais attendre un peu.

Autremment, je vais essayer InputStrXY et consulter le tuto de Squale92.

10

cbil
: Je ne peux pas utiliser getsn (j'ai la version 0.93).

Version totalement obsolète.
La version stable actuelle est la 0.94 SP4 (mais elle ne contient pas encore getsn). Personnellement, je conseille la 0.95 bêta 1.
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

getsn utilise à peu près le même code, mais en assembleur optimisé.
S'il s'agit de la place ok, mais question vitesse... de toutes façons ça ne changera pas (à la limite la fonction serait en BASIC ça irait encore wink)
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

12

Évidemment que c'est optimisé en taille. smile
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é

13

angry wink
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

14

what
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

15

euh, y a aussi scanf
vodoo93
I still believe in your eyes;
I just don't care what you have done in your life.
Baby i'll always be here by your side;
Don't leave me waiting too long, please come by!
I, still believe in your eyes;
There is no choice, I belong to your life.
Because I will live to love you someday;
You'll be my baby and we'll fly away

16

... qui utilise getsn + une routine de parsing de 1,5 KO (sscanf). Donc à éviter si possible.
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é