D'ailleurs je descends en dessous des 374
et actuellement je suis à 365 octets
c'est quand vous voulez les gars dès que vous tombez
tous d'accord je balance la sauce
lorsqu'il sera tokénéisé il fera 364 sur une 92+
:Inputxy(t,x,y)
:Prgm
:Local k,l,s,p
:when(getType(#t)= ”STR”,#t,””) →s
:dim(s)→l
:” ”→p // 13 espaces
:Loop
:Output x,y,s&p&p&p
:Output x,y+l*6,”_”
:getKey()→k
:If k=13 or k=264
:Exit
:If k≤257
:left(s,max(l-max(k-256,0),0))&when(k>255,””,char(k))&mid(s,l+1) →s
:If k=263
:left(s,remain(l,dim(s))) →s
:max(0,min(l+when(k=0,0,when(k=257 or k=337,-1,when(k≤225 or k=340,1,0))),dim(s))) →l
:EndLoop
:If k=13
:s→#t
:when(k=13,1,0) →ok
:EndPrgm
je reprend y a des touche qui sont mal recopiées
:Inputxy(t,x,y)
:Prgm
:Local k,l,s,p
:when(getType(#t)= ”STR”,#t,””)=>s
:dim(s) =>l
:” ”=>p // 10 espaces
:Loop
:Output x,y,s&p&p&p&p
:Output x,y+l*6,”_”
:getKey()=>k
:If k=13 or k=264
:Exit
:If k<=257
:left(s,max(l-max(k-256,0),0))&when(k>255,””,char(k))&mid(s,l+1)=>s
:If k=263
:left(s,remain(l,dim(s)))=>s
:max(0,min(l+when(k=0,0,when(k=257 or k=337,-1,when(k<=225 or k=340,1,0))),dim(s)))=>l
:EndLoop
:If k=13
:s=>#t
:when(k=13,1,0) =>ok
:EndPrgm
euh... t sur 92 simple, là, nan ???

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.
Je comprends pas ta question mais j'ai une 92plus
T'avais dit dans le topic qu'on ne devait pas effacer les lignes au dessus ou en dessus mais pas la ligne sur laquelle on écrit
pasque y a de koi optimiser encors plus, là, come le when(k=13,1,0) =>ok qu'on remplace par mod(k,13)->ok, le loop à remplacer par un while, tous les ifs à remplacer par des when imbriquer...

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.
d'ailleurs voici les conditions
Le input doit :
- Permettre d'entrer une chaine de caractère, à la position x,y
- Accepter une chaine en argument, qui indique le nom de la variable gobale qui contiendra la chaine
- Ne pas planter si la variable passée en argument n'existe pas
- Proposer par défaut le contenu de la variable choisie
- Ne pas créer d'autre variable globale que celle qui contient la chaine renvoyée
- Ne pas faire appel à des variables externes au programme
- Posséder un curseur déplaçable avec les touches droite et gauche
- Permettre de taper des caractères qui s'ajoutent après le curseur
- Permettre de supprimer le caractère situé avant le cuseur
- Permettre d'appuyer sur "Clear" (même fonctionnement que le TiOS)
- Se quitter à l'appui de Enter ou Esc (Enter retourne 1 dans la variable "ok", Esc retourne 0)
- Le input ne doit pas affecter les textes déjà présents au dessus ou en dessous de lui dans l'écran IO
- Pas la peine de mettre de protections qui n'existent pas dans la fonction "input" du TiOS
- Pas la peine de mettre une fonction Del qui efface le caractère après le curseur
Je suis d'accord pour le mod(k,13)->ok mais pour les when au lieu des if tu va obliger à executer plus de code que le simple test et ralentir le prog.
Pour le While j'ai coompter ça prend plus de place qu'un loop et j'ai préféré sortir exactement à l'endroit où j'ai mis le Exit pour éviter tout calcul unitile et supplémentaire
Oui mais si vous voulez un petit left(...,dim(s))
ça devrait pouvoir se faire pour 369 octets au total
Alors on peut voir vos sources à vous maintenant que le concours est clos ?
C'est pas que ça m'ennuie de discuter avec vous mais j'ai quelques obligations auquelles je doit me soumettre alors balancez vos sources et qu'on n'en parle plus.
A+++++++++++++++