Page 1 of 2

[TUTO] Commencer à programmer en Basic (Jeu: Plus ou moins)

Unread postPosted: 06 Mar 2011, 19:33
by demonyunther
Bonjours à tous ;)

Pour ceux qui ont du mal à se lancer à la programmation sur Nspire, voila un tout petit tuto permettant de faire le Jeu: Plus ou Moins
Il n'y a pas besoin de Ndless (c'est en Basic) juste votre calculette TiNspire (Cas ou non Cas) peut importe.
Tuto pour l'os 2.0 minimum.

Donc on commence par créer un nouveau classeur, donc sur la page d'accueil le bouton :ns1:

On arrive dans un nouveau classeur donc, vous faites directement :nsct: + :nsho: pour avoir le menu Classeurs.
Vous allez dans (4)insertion et vous faites (9)Éditeur de programmes et enfin (1) Nouveau.
Vous choisissez donc le nom de votre programme (attention pas le nom du classeur mais le nom du programme qui devra être écrit pour appeler le programme en lui même)
j'ai mis pour ma part: plusoumoins (mais libre à vous de mettre ce que vous voulez)
On a donc:
Code: Select all
Define plusoumoins()=
Prgm

EndPrgm


Donc pour un programme ou on aurait besoin d'une seule variable il suffirait de la mettre dans la parenthèse:
Code: Select all
Define plusoumoins(a)=
Prgm

EndPrgm

Et on peut utiliser la variable dans le programme directement
par exemple avec la commande Disp qui permet d'afficher du texte ou la valeur contenu dans une variable :
Code: Select all
Define plusoumoins(a)=
Prgm
Disp a
EndPrgm


Donc lorsque que vous appellerez le programme en écrivant : plusoumoins(5)
Cela affichera 5 sur l'écran :#tritop#:


Une précision si vous utiliser pas de variable il faut quand même mettre les parenthèses : plusoumoins() , la calculette n'accepte pas plusoumoins : [Erreur d'argument]




Mais nous on va pas utiliser ceci car plus ou moins demande à ce que l'on entre des valeurs régulièrement.
Pour cela on va utiliser Request qui nous demande d'écrire notre valeur dans une fenêtre.

Bon alors pour faire ce jeu on aura besoin de plusieurs fonctions que je vais expliquer. Je précise une variable dans notre cas c'est une lettre qui peut prendre des valeurs numériques.
Pour stocker une valeur dans une variable on fait : [Votre Valeur] :nsct: + :nsva: [Votre Variable]

Exemple:
Code: Select all
5-a

Alors on a Disp qui permet donc d'afficher ce que l'on veut à l'écran si c'est une variable directement à la suite, si c'est du texte il faut alors le mettre entre "..."
Exemple:
Code: Select all
Disp "La valeur de a:"
Disp a

On aura besoin de If qui permet de poser une condition par exemple on a deux variables: a=2 b=2
Code: Select all
If a=b Then
Disp "Vérifié"
EndIf

On fait un test si a=b alors on affiche à l'écran Vérifié, ensuite EndIf sert à informer que la condition se termine donc à ne pas oublier.
Donc notre cas ici, comme a=b on aura effectivement Vérifié à l'écran.
On peut rajouter les actions à effectuer si la condition n'est pas remplis, avec Else exemple:
Code: Select all
If a=b Then
Disp "Vérifié"
Else
Disp "Condition non vérifié"
EndIf

Voila je suppose que vous avez compris :)
Code: Select all
Define plusoumoins(a,b)=
Prgm
If a=b Then
Disp "Vérifié"
Else
Disp "Condition non vérifié"
EndIf
EndPrgm


Une précision lorsque vous tapez votre programme dans la calculette n'oubliez pas de faire :nsct: + B pour l'enregistrer.

Voila un petit exemple, donc en tapant dans le même classeur dans une page calcul:
plusoumoins(1,15)
on aura Condition non vérifié et si on écrit
plusoumoins(2,2)
on aura Vérifié vu que a et b sont égale.

Mais comme je vous ai indiqués on utilisera Request
alors la façon de le mettre en place:
Code: Select all
Request "Votre texte",a,0

Ou "a" est la variable utilisé, le ,0 permet tout simplement de pas affiché la valeur que a à pris lors de l'exécution du programme.

Vous aurez également besoin de la commande randInt() ce qui permet de générer un nombre dans l'intervalle que vous souhaitez
Exemple:
Code: Select all
randInt(0,100)-a

Donc ici, on génère un nombre aléatoire entre 0 et 100 qui sera stocké dans la variable a.


Il nous manque une dernière chose: Les boucles:

Il y a plusieurs type de conditions mais pour le Jeu on aura simplement besoin de While que je vais vous expliquer: (les autres vous les découvrirez vous même)
Code: Select all
While condition
Bloc
EndWhile


Je traduit: Tant que la condition est vérifié on exécute en boucle le Bloc
Exemple:
Code: Select all
0-a
While a≠5
a+1-a
Disp "Bonjour"
EndWhile

Donc en gros tant que a n'est pas égale a 5 en exécute en boucle le Bloc , c'est à dire ce qu'il y a entre While et EndWhile
Comme vous pouvez voir on "incrémente" a (on rajoute 1 à chaque fois)
Donc au bout de 5 fois le programme se terminera tout simplement parceque "a+1-a" incrémente la valeur de a, donc au bout de 5 exécutions on aura a=5
Ce qui remplira la condition pour sortir de la boucle , il y aura "Bonjour" qui aura était affiché 5 fois.

Je ne vais pas vous donner d'aide c'est volontaire, vous devez réfléchir vous avez tout les outils entre vos mains, vous allez avoir du mal au début.
Mais lorsque vous aurez réussi vous aurez compris le fonctionnement et vous pourrez progresser.
Pour le reste je vous propose de regarder le manuel d'autre Tutoriel sur internet :http://www.siteduzero.com/tutoriel-2-260-ti.html (Vous pourrez trouver à cette adresse des Tutoriel sur la programmation sur calculette)

Une fois que vous avez finis je vous propose ma solution:
Solution:
j'ai fait à la va vite hein :)
 
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all
Define plusoumoins()=
Prgm
0-a
randInt(0,100)-b
While a≠b
Request "Nombre",a,0
if ba Then
Disp "C'est plus petit"
Else
Disp "C'est plus grand"
EndIF
EndWhile
Disp "Ta gagné :)"
EndPrgm


Ce que je vous propose maintenant c'est d'ajouter un système de vie :)
Par exemple au bout de 10 vie on a perdu, vous pouvez rajouter aussi le nombre d'essai.
Je donnerai la solution plus tard si ca vous intéresse.

Ps: Si les modérateurs veulent modifier qu'ils se fassent plaisir :#gol#:

Re: [TUTO] Commencer à programmer en Basic (Jeu: Plus ou moi

Unread postPosted: 06 Mar 2011, 20:15
by Levak
A part quelques fautes de participes passés part-si part-là, le fond est bien.
On sent quand-même qu'à la fin t'en a eu un peu marre :D

Par exemple, il manque une petite explication sur randInt() car tu indiques qu'on est rien sensé savoir au début.
Sinon, Au lieu de Disp, j'aurais utilisé Text du fait que l'OS 2.0 minimal soit indiqué, autant utiliser, vers la fin les ressources de l'OS 2.0

Re: [TUTO] Commencer à programmer en Basic (Jeu: Plus ou moi

Unread postPosted: 06 Mar 2011, 20:55
by demonyunther
Oups mea culpa pour le RandInt() je me presse de le rajouter

C'est pas que j'en ai eu un peu marre (même si c'est vrai je le dirai pas xD )
Mais je vais pas mâché le travail et expliquer généralement on comprends sur le coup mais on est incapable de réutiliser ce qu'on a vus.
Je préfère faire réfléchir, moi j'ai appris sans manuel rien du tout juste en bidouillant c'était long et fastidieux (inutile d'apprendre de cette manière c'était juste pour dire) mais du coup mes bases sont solides (mais il me manque pas mal de notion cependant)

Moi et les participes passés je fais pas super attention mais quand je vois les erreurs je corrige hein :)

Sinon j'ai indiqué OS 2.0 minimum a cause de Request
Je crois pas que on peut faire ce type de jeu sur un os antérieur.
Sinon après pourquoi pas Text,mais sinon ca change absolument rien pour ce tuto :D:

Re: [TUTO] Commencer à programmer en Basic (Jeu: Plus ou moi

Unread postPosted: 12 Apr 2013, 19:25
by Wistaro
merci !

Re: [TUTO] Commencer à programmer en Basic (Jeu: Plus ou moi

Unread postPosted: 12 Apr 2013, 19:33
by Hayleia
Wistaro wrote:Le mien est mieux:
archives_voir.php?id=11447

Mais le tien n'a rien à voir avec les Nspires...

Re: [TUTO] Commencer à programmer en Basic (Jeu: Plus ou moi

Unread postPosted: 19 Apr 2013, 17:51
by Wistaro
fail :D

Re: [TUTO] Commencer à programmer en Basic (Jeu: Plus ou moi

Unread postPosted: 19 Apr 2013, 18:38
by diot
ouais, refait le pour nspire et on verra après :D

Re: [TUTO] Commencer à programmer en Basic (Jeu: Plus ou moi

Unread postPosted: 19 Apr 2013, 18:39
by Wistaro
Faut déjà que j'en achète une :D

Plus ou moins en Basic

Unread postPosted: 12 Sep 2013, 18:32
by NspireCas
Pour ceux qui veulent aller un peu plus loin, je vous conseille de lire le code de mon programme (lien dans la signature).
Il y a entre autres (de plus) un compteur d'essais limité par l'utilisateur, ainsi que l'intervalle définie par l'utilisateur.

Re: [TUTO] Commencer à programmer en Basic (Jeu: Plus ou moi

Unread postPosted: 08 Nov 2014, 21:56
by FOXone63
merci , très bon tuto ! ;)