[83+/84+]Programmer en Grammer: la pratique
+2
nikitouzz
persalteas
6 participants
Page 1 sur 1
[83+/84+]Programmer en Grammer: la pratique
Salut, je vous ai déjà parlé de mon tutoriel Grammer, qui, comme on me l'a fait remarquer, est plus une doc (une très bonne doc) qu'un tuto puisqu'il n'y a pas de partie pratique.
Pour faciliter la tâche, je vais poster ici différentes petites explications censées aider d'éventuels débutants.
Avant tout, je vous conseille de lire la doc. Au moins la survoler. Cliquez sur l'image ci-dessous, et bonne lecture.
I. Généralités pour afficher du texte
ça va, vous êtes pas morts ? ça vous prouve que la syntaxe est peut être bizarre (je reconnais que /Text(',+3,eB' c'est pas très gracieux, mais les multiples possibilités vous montrent que le Grammer est un langage de flemmards avec plein de trucs préprogrammés. Les Axeux payeraient pour avoir le retour automatique à la ligne (persalteas runs very far)
Allez, un petit TP ? Par exemple... Un texte qui rebondit sur l'écran.
II. Ne pas s'embêter avec la syntaxe des calculs
Des questions ?
III. Utiliser les appvars
IV. Des petits TP...
Alors, numéro 1, un cercle qui rebondit sur les parois de l'écran.
Réponse:
Réponse:
Allez, c'est la récré, allez jouer. N'hésitez pas a poster vos questions sur le forum, ainsi que vos programmes, mêmes s'ils sont inutiles, ils peuvent aider d'autres débutants à comprendre.
PS: pour ceux qui auraient fui devant ces explications... méheu... les copains... restez, quoi...
Nan mais sérieux, le Grammer ça déchire sa race wesh, faut pas vous tirer...
Pour faciliter la tâche, je vais poster ici différentes petites explications censées aider d'éventuels débutants.
Avant tout, je vous conseille de lire la doc. Au moins la survoler. Cliquez sur l'image ci-dessous, et bonne lecture.
I. Généralités pour afficher du texte
- Spoiler:
Que serait un langage si on ne pouvait pas afficher de Hello World
1) Rappel général sur l'affichage de choses à l'écran:
Comme dit dans le chapitre 9 de la doc, toute commande entrainant une modification de l'écran modifie en fait la zone de la RAM où est stocké l'écran, qu'on appelle buffer.
Donc quand vous faites une commande de dessin (rect, text, horizontal, etc...), ça modifie la zone de la RAM où l'écran est stockéMais ça n'affiche pas sur l'écran ?
Eh bien non. Vous devez faire ça à la main, avec une commande qui dit "Appliquer les changements".
Cette commande est DispGraph. Vous devez mettre un dispgraph après des modifications graphiques, pour appliquer vos changements.Un DispGraph après chaque instruction graphique ? C'est pas un peu lourd ?
C'est parce que c'est pas la peine d'en mettre un à toutes les commandes :P En mettre un à la fin de chaque série de modifications du buffer suffit
exemple:- Code:
:.0:
:Rect(...
:Circle(...
:rect('...
:Fill(...
:Text(...
:Dispgraph
:...
:Stop[/url]
2) La commande Text
Je vais revenir sur la commande Text qui est... super compliquée. Parce qu'elle a én-or-mé-ment d'options.
Elle permet:
- Un retour automatique à la ligne, et scroll de l'écran automatique
- Un affichage lettre par lettre (type Casio-Basic): /Text(°truc-à-afficher
L'argument "ce-que-la-commande-doit-afficher" peut être:
- Une chaine (encadrée par ses guillemets, au moins un): Text(Y,X,"chaine-à-afficher"
- Un pointeur vers une chaine: Text(Y,X,variable-pointeur
- Un nombre: Text('Y,X,345 (N'oubliez pas la prime avant le Y ! )
- Un nombre enregistré dans une variable-pointeur: Text('Y,X,variable-pointeur ( N'oubliez pas la prime avant le Y ! )
- Une chaine ou un nombre enregistré dans une variable de l'OS: Text(Y,X,Str1
- Un nombre enregistré dans deuxvariables-pointeurs (nombres 32 bits): Text('Y,X,variable-pointeur1variable-pointeur2 (sachant que variable-pointeur2 contient les 16 derniers bits et est une prime (B', C', etc..))
J'ai des problèmes avec mon X !! :'(
Il faut se souvenir que par défaut, les Y se comptes en pixels alors que les X se comptent en colonnes (comme le Output du TI-Basic).
Ainsi, à chaque fois que vous parlez de X à la commande Text, elle voit ça en colonnes. Et encore, parce que le zéro correspond à la première colonne, le 1 à la deuxième, le 2 à la troisième, etc...)
Text(23,4,"helloworld affichera helloworld en Y=23, et en 5ème colonne. (4 représente la 5ème colonne puisque 0 représente la première.)
Heureusement, il est possible de passer en mode X-en-pixels !
OUF !
Grâce à l'utilisation de SetFont 2.
SetFont 2 instaure le mode "X-en-pixels", et ainsi, vous pouvez parler avec des X et des Y dans la même unité.
SetFont 0 retourne à la normale.
Il vous suffit de mettre SetFont 2 au début de votre code pour que le mode soit activé pour le reste du programme.
Les coordonnées enregistrées
Il faut aussi se souvenir que la commande se souvient des coordonnées où elle a affiché. Elle est donc parfaitement capable de calculer toute seule les coordonnées où elle affichera la prochaine fois. Et c'est ce qu'elle fait, elle a en permanence en mémoire les coordonnées X et Y de la lettre qui sera affichée si on continue à écrire à la suite.
Il est donc possible:
- d'afficher à la suite du dernier texte: Text(°truc-à-afficher
- d'afficher avec un décalage de quelques pixels X et Y: Text(+5,+1,truc-à-afficher (Attention, le X est soit en colonnes soit en pixels selon votre mode SetFont)
- De récupérer les coordonnées enregistrés: Text( (Sans arguments, stocke Y dans Ans et X dans theta'.)
3) REMARQUES GENERALES:
- Plus d'infos dans la Doc
- Un ClrDraw réinitialise les coordonnées enregistrés à 0,0
- Si vous utilisez /Text(, (affichage lettre par lettre) puis Text(° (affichage à la suite du précédent), l'affichage lettre par lettre continue. Vous devrez re-préciser des coordonnées à la main pour revenir en mode normal.
- /Text( a un fonctionnement particulier qui fait qu'elle joue le rôle de DispGraph automatique. Il n'y a donc pas besoin de la faire suivre d'un autre Dispgraph.)
- Il n'est pas possible d'écrire sur un buffer particulier avec Text. Mais on peut se débrouiller en utilisant la commande ° (NOUVEAU !! ).
- Text(r a le même rôle que /Text(
- Ne rien préciser comme coordonnées signifie utiliser les coordonnées enregistrés. Ainsi, Text(,,"Plop" est la même chose que Text(°"Plop".
4) Contrôle de connaissances
à quoi correspondent ces différentes formules ?
Text('23,2,E
Affiche en Y=23 et en troisième colonne (eh oui, 0-1-2, 2 est la 3e colonne) le nombre stocké dans la variable-pointeur E.
Text(°r"Plop
Affiche Plop lettre par lettre à la suite du texte précédent.
/Text(12,1,D
Affiche en Y=12, et en deuxième colonne la chaine pointée par la variable-pointeur D.
Text('+3,,34
Affiche 34 à la suite du précédent texte avec un décalage de 3 pixels vers le bas.
ça va, vous êtes pas morts ? ça vous prouve que la syntaxe est peut être bizarre (je reconnais que /Text(',+3,eB' c'est pas très gracieux, mais les multiples possibilités vous montrent que le Grammer est un langage de flemmards avec plein de trucs préprogrammés. Les Axeux payeraient pour avoir le retour automatique à la ligne (persalteas runs very far)
Allez, un petit TP ? Par exemple... Un texte qui rebondit sur l'écran.
II. Ne pas s'embêter avec la syntaxe des calculs
- Spoiler:
Le Grammer, c'est comme le code de la route, priorité à droite. Si vous êtes arabe ou asiatique et que vous avez l'habitude de lire en partant de la droite, vous pouvez sauter cette section.
Donc. Juste après deux remarques méga-importantes, nous allons prendre des suites d'opérations au hasard, et apprendre à les mettre en Grammer.
- LES PARENTHESES NE SERVENT PAS A EXPRIMER UNE PRIORITE, mais à lire un octet pointé par un pointeur.
- les multiplications ne sont pas automatiques, LA PRESENCE DU SIGNE "x" EST OBLIGATOIRE.
Par exemple: 3-5+4/2+(3xA) désigne La valeur stockée à l'adresse 3xA à laquelle on ajoute 2 pour diviser 4, à laquelle on ajoute 5 pour la soustraire à 3. Et comme ça va être très probablement négatif, on va se retrouver avec un résultat dans les 65000 et quelques.Aow. shocking.C'est pas la valeur que vous vouliez, hein ?
Alors oui, c'est compliqué. Mais pas insurmontable .
1) Exemple de "conversion de calculs"
Prenons notre calcul.
3-5+4/2+(3xA)
Ce qu'on veut, c'est prendre 3, lui enlever 5, lui ajouter 4/2, et enfin lui ajouter la valeur située à l'adresse 3xA.
Souvenons nous de deux choses:
- Le programme lit les lignes d'instructions de gauche à droite, mais il lit les instructions de droite à gauche.
- quand on ne précise pas le premier facteur/terme/numérateur d'une opération, c'est Ans qui est utilisé.
Donc nous allons utiliser Ans.- Code:
:3-5 //Prenons 3 et enlevons lui 5.
:+4/2 // Ajoutons à Ans 4/2 (le calcul est lu de droite à gauche, donc la multiplication est faite avant l'addition).
:+(3xA //Là aussi, le programme commence par calculer 3xA, puis lit l'octet situé à cette adresse quand il voit la parenthèse, et enfin lui ajoute Ans.
Et ça fonctionne pareil pour les tests boléens.
3xA-1 or Pxltest(20,34) xor B- Code:
:3xA
:-1
: or Pxltest(20,34
: xor B
Mais...Mais...Mais C'est affreusement long ! Et si je veux mettre 3xA-1 ou Pxltest(20,34) xor B dans une condition If, comment je fais avec plusieurs lignes pour une seule condition ?
Et Dieu créa le symbole deux-points.
En effet, les condition If, et plus globalement les 3/4 des fonctions ne reconnaissent comme nouvelle ligne que le token original deux-points qu'on crée en appuyant sur [enter]. Ainsi, vous pouvez utiliser le token deux points [2nd][.] autant de fois que vous voulez pour séparer vos calculs, le If considérera qu'on a toujours pas changé de ligne.
Démonstration. Ouvrez grands vos yeux. Regardez le professionnel.
If 3xA-1 or Pxltest(20,34) xor B
devient:- Code:
:If 3xA:-1: or Pxltest(20,34: xor B
:code à appliquer si la condition est vraie...
Compris ?Mouais, c'est quand même pas super pratique pour se repérer... On a vite fait de perdre le fil.
Et Xeda créa le token espace.
Devinez quoi ? il a exactement le même rôle que le deux points, sauf que c'est nettement plus propre !- Code:
:If 3xA -1 or Pxltest(20,34 xor B
:code à appliquer si la condition est vraie...
Like a boss !
Des questions ?
III. Utiliser les appvars
- Spoiler:
Salut les copains. Si vous lisez cette troisième partie c'est que ça vous plait, et j'en suis très flatté
Ici, je vais vous apprendre à enregistrer des données, que ce soit des données stockées pour le fonctionnement du programme (par exemple du stockage de graphismes) ou des données modifiables (par exemple un highscore enregistré...)
Vous remarquez que contrairement au TI-Basic, l'utilisation des listes est plutôt difficile (même si elle reste possible). On va donc utiliser des Appvars qui vont fonctionner pareil, ou presque.Des AppVars ? ça se mange ?
Oui, mais justement, c'est pas super bon, parce qu'une appvar, c'est rachitique. C'est pas du tout grassouillet. Et c'est bien pour ça qu'on les choisit: c'est une forme de stockage qui prend pas beaucoup d'octets, et qui ne dérange pas l'utilisateur.
Allez les enfants, en rang deux par deux, on y va.
1) Créer une Appvar pour servir de liste, ou de stockage modifiable de données:
Nous allons utiliser pour ça notre commande tout-faite built-in interne tout ça, c'est pas comme si on était en assembleur à bidouiller la VAT, toussa... J'ai nommé, j'ai nommé, applaudissez la bien fort, MakeVar( !
MakeVar sert à créer des variables de l'OS. Une Appvar est une variable de l'OS. Quelle coïncidence.
pour créer votre Appvar, vous devez savoir:
- la taille que vous voulez lui donner (je vais choisir pour cet exemple 10 octets)
- le nom que vous voulez lui donner (je vais choisir pour cet exemple "espaceti" )
La lettre de type des Appvars étant le U, je créerai mon appvar avec MakeVar(10,"Uespaceti
.
Si vous n'êtes pas cimmérien, ça devrait vous avoir créé une appvar, avec dix octets de zéros dedans.
Nous verrons ensuite comment lire et écrire dans cette appvar.
2) Créer une Appvar de stockage de données hexa (des codes de sprites par exemple):
Je considère que, comme moi, vous êtes des flemmards, et que vous faites vos sprites non pas à la main/de tête mais avec un convertisseur de sprites sur PC où sur calculatrice. (Je connais notamment TokenIDE sur PC et Spritetohex sur calc.)
étape 1: créer et compiler le programme source
Créez un programme, entrez la commande AsmPrgm sur la première ligne puis vos codes hexa tous mis bout à bout sur la deuxième.- Code:
:AsmPrgm
:08081C3E1C7F3E7EFF7EFF7EFF3C ... ... 1818043408FF99FF99FF08101C181E181D
Envoyez ensuite ce 8xp à votre TI, et compilez le:- Code:
AsmComp(prgmSOURCE,prgmSOURCE2
étape 2: transformez votre programme en Appvar
Vous savez faire des copier-coller en Grammer ? C'est avec la commande Misc.- Code:
Misc(0,"ESOURCE2","Uespaceti",taille de l'Appvar,2
Taille de l'Appvar: La taille en octets que pèsera votre appvar, c'est à dire la somme des poids de chacun de vos codes de sprites. (si j'ai 3 sprites de 8 octets et 2 de 32 octets, ce sera 88 octets.)
Pourquoi 2 ? Moi même je n'en suis pas certain... En fait, on demande au programme de commencer à copier en sautant deux octets au début du programme SOURCE2. Ces deux octets correspondent peut-être au token "AsmPrgm", mais je n'en suis pas certain, mais de toutes façons on en a pas besoin dans notre Appvar.
Si l'appvar espaceti existait déjà le contenu est remplacé. Sinon elle est créée directement
avec le contenu copié. Ans contiendra un pointeur vers la nouvelle variable, et Ɵ' la taille de
cette nouvelle variable (en octets).
Maintenant que vous avez votre belle Appvar, vous pouvez supprimer les programmes sources et autres trucs inutiles.
étape 3: retrouver des pointeurs vers nos sprites
C'est quand même ça le but ! =P Faire des dessins, comme des gosses de maternelle ! Quand je vous dis que c'est facile, le Grammer !
Il faut déjà trouver le pointeur vers le début de l'appvar.
Comme par hasard y'a une fonction faite pour ça :P Ce que la nature est bien faite quand même !
FindVar("Uespaceti va nous donner un pointeur sur l'appvar, donc sur le début du premier sprite. Vous pouvez stocker ça dans une variable pointeur pour l'avoir sous la main.- Code:
FindVar("Uespaceti"→A
Et pour les autres sprites ?
Vous ressortez votre feuille de papier. Et avez la taille de vos sprites, vous faites des additions pour retrouver les suivants. C'est partie pour la théorie.
exemple, sur ma feuille à moi y'avait écrit:sprite1: 8 octets
sprite2: 8 octets
sprite3: 8 octets
sprite4: 32 octets
sprite5: 32 octets
donc j'ai mon pointeur A que j'ai trouvé avec FindVar:- Code:
:FindVar("Uespaceti"→A
:+8→B
:+8→C
:+8→D
:+32→E
le sprite1 est stocké de l'adresse A à l'adresse A+7 (8 octets.)
le sprite2 est stocké de l'adresse A+8 à l'adresse A+8+7 (8 octets.)
le sprite3 est stocké de l'adresse A+8+8 à l'adresse A+8+8+7 (8 octets.)
le sprite4 est stocké de l'adresse A+8+8+8 à l'adresse A+8+8+8+31 (32 octets)
le sprite5 est stocké de l'adresse A+8+8+8+32 à l'adresse A+8+8+8+32+31 (32 octets).
et à l'adresse A+8+8+8+32+31, l'appvar est terminée. ça alors.
Or, comme par hasard, B=A+8, C=A+8+8, D=A+8+8+8, E=A+8+8+8+32. On a donc bien 5 pointeurs A,B,C,D et E sur nos 5 sprites.j'ai rien compris. C'est grave ?
Non. Contentez vous de retenir la marche à suivre, à savoir:
:Findvar("Uespaceti"→A+8→B+8→C+8→D+32→E
Vous aurez vos 5 pointeurs.
IV. Des petits TP...
Alors, numéro 1, un cercle qui rebondit sur les parois de l'écran.
Réponse:
- Spoiler:
Réponse:
- Spoiler:
ça devient serré, je vais commenter un peu :P Si quoi que ce soit pose un problème, demandez !
[Vous devez être inscrit et connecté pour voir cette image]- Code:
:.0:
:pi9872→P // permet de stocker l'adresse 9872(hex) dans P
:ClrDrawP // efface le buffer commençant à l'adresse P
:SetBuf(°P // définit le buffer commençant à l'adresse P comme buffer de grayscale
:Lbl "A→Z // Met l'adresse du label A dans Z
:0→X→Y
:Repeat getKey(15
:Repeat 1 // permet de ne répéter la boucle qu'une seule fois
:DispGraph
:call Z //appelle la subroutine à l'adresse Z (soit le label A)
:getKey(56 //teste si [del]est pressée
:If +getKey(9 //permet de tester à la fois Ans (getkey(56)) et getkey(9), donc "si [del] où [enter] sont pressées"
:Rect(X,Y,6,6,1-getKey(56 //dessine un rectangle blanc si [del] est pressée, noir sinon (sur le buffer normal, 50%)
:X+getKey(3 -getKey(2→X // déplacement du curseur (attention à l'espace)
:Y+getKey(1 -getKey(4→Y // déplacement du curseur (attention à l'espace)
:End //fin de la boucle
:Stop
:.A //label A, qui commence une subroutine
:Rect(X,Y,6,6,2,P //Dessine un rectangle plein inversé de 6x6 sur le buffer de P (50%)
:Rect(X,Y,6,6,2 //Dessine un rectangle plein inversé de 6x6 sur le buffer normal (les 50% restants, on obtient bien du noir)
:End //fin de la subroutine
Allez, c'est la récré, allez jouer. N'hésitez pas a poster vos questions sur le forum, ainsi que vos programmes, mêmes s'ils sont inutiles, ils peuvent aider d'autres débutants à comprendre.
A bientôt pour un chapitre sur euh... le grayscale ? ou autre ?
Vous avez des idées ?
Vous avez des idées ?
PS: pour ceux qui auraient fui devant ces explications... méheu... les copains... restez, quoi...
Nan mais sérieux, le Grammer ça déchire sa race wesh, faut pas vous tirer...
Dernière édition par persalteas le Mar 29 Jan - 8:35, édité 14 fois
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
Bon boulot tu sert bien la communauté quand tu auras finis news sur TI-planet et presente les aussi sur omnimaga
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: [83+/84+]Programmer en Grammer: la pratique
Je suis pas prêt d'avoir fini...
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
Ah!
Je t'apporte aussitôt toute ma gratitude,
Ainsi que mon soutien et ma sollicitude!
Je parle en alexandrins. Classe, non?
Je t'apporte aussitôt toute ma gratitude,
Ainsi que mon soutien et ma sollicitude!
Je parle en alexandrins. Classe, non?
Le Grec- Or 3
- Sexe :
Age : 108
Messages : 332
Date d'inscription : 24/05/2012
Etudes : L1 Droit
Points Forum : 12
Points Concours : 0
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - TI-Collège
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
- - TI-84+ SE
- - TI-Nspire CAS
Re: [83+/84+]Programmer en Grammer: la pratique
très. Mais montre moi ton programme plutôt.
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
Euh non, ça sert jamais.persalteas a écrit:Les Axeux payeraient pour avoir le retour automatique à la ligne (persalteas runs very far)
Sinon, très bon travail, j'espère que cela aidera à donner au Grammer l'expansion qu'il mérite
Hayleia- Or 4
- Age : 30
Messages : 406
Date d'inscription : 03/08/2012
Points Forum : 46
Points Concours : 4
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-76.fr
- - TI-83+
- - TI-84+ SE
- - TI-Nspire CX
Re: [83+/84+]Programmer en Grammer: la pratique
voilà, 3 premiers chapitres terminés. J'ai pas d'idée de sujet pour le 4ème, j'attends vos suggestions.
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
Bah moi j'aurais bien demandé un petit TP bien détaillé (avec correction) pour checker un max de commandes.
Et en tout cas, merci.
Et en tout cas, merci.
Dernière édition par Le Grec le Dim 10 Fév - 18:28, édité 1 fois
Le Grec- Or 3
- Sexe :
Age : 108
Messages : 332
Date d'inscription : 24/05/2012
Etudes : L1 Droit
Points Forum : 12
Points Concours : 0
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - TI-Collège
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
- - TI-84+ SE
- - TI-Nspire CAS
Re: [83+/84+]Programmer en Grammer: la pratique
Okay. Alors me faut une idée de TP qui utilise le max de commandes...
j'ai pas le temps pour un projet complet, moa... Mais je vais ptet mettre la correction du texte qui rebondit sur l'écran déjà.
j'ai pas le temps pour un projet complet, moa... Mais je vais ptet mettre la correction du texte qui rebondit sur l'écran déjà.
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
v'la quelques petits TP.
N'hésitez pas à les essayer !
N'hésitez pas à les essayer !
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
Bon avec une énorme gratitude j'ai réessayer le grammer mais j'ai du mal a faire les tp car j'ai trop l'habitude de l'axe.
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: [83+/84+]Programmer en Grammer: la pratique
mauvaise excuse, pour ce genre de TP, ça se ressemble...
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
La syntaxe est bizarre mais ca se ressemble oui, cependant la facon de programmer n'est pas la meme...
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: [83+/84+]Programmer en Grammer: la pratique
Vous êtes butés avec votre bizarre... Qu'est-ce qui est bizarre, bon sang ?
Exemples ?
Exemples ?
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
Bah j'ai vachement du mal avec les differente syntaxe de chaque commande et la manipulation des buffers est legerement differente
exemple : la commande texte
exemple : la commande texte
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: [83+/84+]Programmer en Grammer: la pratique
Bon tutoriel, je l'ai survolé, mais en toute sincérité, je ne sais pas si ça me convaincra...
noelthebest- Platinum 1
- Sexe :
Age : 26
Messages : 1971
Date d'inscription : 12/03/2011
Etudes : ENS Cachan
Points Forum : 20
Points Concours : 9
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-83+.fr
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
On sait tous que tu as la flemme, nono
C'est justement là que ça devrait te plaire, Grammer est un langage de flemmards :P
C'est justement là que ça devrait te plaire, Grammer est un langage de flemmards :P
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
Oui le grammer est un langages de flemmard, persalteas tes TP sont assez simple, je peut te proposer un deal, tu me laisse tout transcrire ce que tu fais sur le sdz ( j'ecris en disant bien que tout ceci est de toi et j'y inclu des lien ) et du coup je commencerais le grammer ce qui fera un programmeur en plus...
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: [83+/84+]Programmer en Grammer: la pratique
Et tu me files ce que t'écris; ça aidera les zCorrecteurs.
Le Grec- Or 3
- Sexe :
Age : 108
Messages : 332
Date d'inscription : 24/05/2012
Etudes : L1 Droit
Points Forum : 12
Points Concours : 0
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - TI-Collège
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
- - TI-84+ SE
- - TI-Nspire CAS
Re: [83+/84+]Programmer en Grammer: la pratique
Hors de question :P
Et mon ego a moi le mien personnel, tu y as pensé ? :P
J'écrirais ptet un tuto moi même sur le sdz quand:
1) il arrêtera de mettre des 404 à tout bout de champ
2) J'aurais une vraie partie pratique
3) J'aurai mixé la doc et la partie pratique.
Et mon ego a moi le mien personnel, tu y as pensé ? :P
J'écrirais ptet un tuto moi même sur le sdz quand:
1) il arrêtera de mettre des 404 à tout bout de champ
2) J'aurais une vraie partie pratique
3) J'aurai mixé la doc et la partie pratique.
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
C'est vrai que le nouveau site est instable, mais il faudrait que tu ajoute des TP un peu plus dure que de manipuler du texte ou autre.
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: [83+/84+]Programmer en Grammer: la pratique
Sachiix, un tutoriel, ça sert pour les débutants.
Mes tutos "faciles", personne a été foutu de me les faire. Alors on attend avant de compliquer.
Et ensuite, je veux bien donner des tutos compliqués, mais je ne suis pas sur de donner moi même un code exemplaire...
Il y a des choses que je fais qui restent optimisables, par exemple quand Xeda jette un oeil dedans
Mes tutos "faciles", personne a été foutu de me les faire. Alors on attend avant de compliquer.
Et ensuite, je veux bien donner des tutos compliqués, mais je ne suis pas sur de donner moi même un code exemplaire...
Il y a des choses que je fais qui restent optimisables, par exemple quand Xeda jette un oeil dedans
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
Tu sais, avant que des débutants s'en rendent compte... Je pense qu'optimiser aussi bien que Xeda n'est pas une condition sine qua non pour faire un truc potable.
Et sinon, pour le sdz, il suffit d'actualiser 2/3 fois la page quand ça fait des erreurs 500.
Et sinon, pour le sdz, il suffit d'actualiser 2/3 fois la page quand ça fait des erreurs 500.
Le Grec- Or 3
- Sexe :
Age : 108
Messages : 332
Date d'inscription : 24/05/2012
Etudes : L1 Droit
Points Forum : 12
Points Concours : 0
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - TI-Collège
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
- - TI-84+ SE
- - TI-Nspire CAS
persalteas- Platinum 2
- Sexe :
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: [83+/84+]Programmer en Grammer: la pratique
Très bonne idée ce tutoriel de programmation en Grammer.
Cela faisait longtemps que je cherchais un tuto de ce genre et je l'ai enfin trouvé grâce à vous
Merci beaucoup
Cela faisait longtemps que je cherchais un tuto de ce genre et je l'ai enfin trouvé grâce à vous
Merci beaucoup
neuronix- Argent 3
- Age : 22
Messages : 31
Date d'inscription : 22/07/2014
Points Forum : 4
Points Concours : 0
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - xLib
- - BBC Basic
- - Grammer
- - TI-Basic 68K
- - ASM 68K
- - TI-Basic Nspire
- - Lua Nspire
- - Ndless Nspire
- - TI-Collège
- - TI-81
- - TI-82
- - TI-82 Stats
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-83+.fr
- - TI-83+ SE
- - TI-84+
- - TI-84 Pocket.fr
- - TI-84+ SE
- - TI-89
- - TI-92
- - TI-Voyage
- - TI-Nspire
- - TI-Nspire CAS
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Sujets similaires
» Programmer en hexadécimal ?
» Programmer en hexadécimal ... c'est possible !!!
» [Grammer] Pong S5
» [Grammer] Grayscale Ghristmas Game
» [Asm+grammer] Lancer une appli depuis un programme !!
» Programmer en hexadécimal ... c'est possible !!!
» [Grammer] Pong S5
» [Grammer] Grayscale Ghristmas Game
» [Asm+grammer] Lancer une appli depuis un programme !!
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|