π
<-

[En cours..] MasterMind sur Ti-NSpire

Pour le TI-Basic sur Nspire

[En cours..] MasterMind sur Ti-NSpire

Unread postby Maxdu46 » 21 Mar 2009, 22:33

Bonjour tout le monde,

Je partage le fruit de mon ennuie récent en cours de français et en cours d'histoire, un MasterMind pour Ti-Nspire. Le programme n'a rien d'extra-ordinaire mais je suis assez content du résultat. Il est fonctionnel mais je compte bien l'améliorer, notamment pour mettre un système de niveau (là on gagne quasiment à chaque fois). Et puis j'aurais besoin de votre aide pour savoir s'il est possible de concaténer les noms de variables parce que là le programme est long pour pas grand chose, j'ai essayé de contourner le problème en utilisant les cellules de tableur comme variable ( a[x] ) mais je ne peux dans ce cas pas afficher la valeur dans la partie graphique. J'ai utilisé la "command plot and line" de Mauritz Blomvist ce qui m'a fait gagné pas mal de temps, merci à lui, et également merci à Levak pour m'avoir montré qu'il était possible de programmer des jeux sur Nspire.

MasterMind 1.0

Image
User avatar
Maxdu46
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 20%
 
Posts: 9
Joined: 21 Mar 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère S

Re: [En cours..] MasterMind sur Ti-NSpire

Unread postby Maxdu46 » 22 Mar 2009, 17:24

J'ai regardé un peu les listes, mais le problème reste le même que d'utiliser les variables du tableur, on ne peut pas les afficher dans la partie graphique. Faute de mieux je crois que je vais laisser le code comme ça même s'il est long..
User avatar
Maxdu46
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 20%
 
Posts: 9
Joined: 21 Mar 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère S

Re: [En cours..] MasterMind sur Ti-NSpire

Unread postby Levak » 23 Mar 2009, 13:47

Maxdu46 wrote:merci à lui, et également merci à Levak pour m'avoir montré qu'il était possible de programmer des jeux sur Nspire.

MasterMind 1.0



Derien ^^
C'est déjà pas mal du tout ! Et même très bien quand on sait le temps qu'on passe à dessiner à la main l'interface graphique ^^

Je vais tester ce soir et te dire ce qu'il serait bien d'améliorer.

Tu parle de concaténation de variable ?
J'ai eu ce problème pour Make3D (en cours) et on m'a conseillé d'utiliser expr()

par exemple : expr("a:=""b""c")
le permet de concaténer comme le fait le "." en PHP et le "+" en basique. Seulement le "+" est aussi utilisé pour concaténer des chaînes de caractères.

Si tu veux concaténer des liste utilises augment()
Par exemple : a:=augment(a,{b})
Il faut que les deux arguments soient des listes ou matrices, pour ça que si b est une simple variable, entoure le de {}

une autre méthode de concaténation à extension connue:
a:= newmat(5,2)
for i,1,5
a[i]:= [1 2]
endfor

@+ !
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [En cours..] MasterMind sur Ti-NSpire

Unread postby Levak » 23 Mar 2009, 17:31

Re,
Donc je viens de tester, et c'est vraiment bien fait ! GG

Seul hic : pour faire plus stresser le joueur en fin de partie, et mieux lui donner à l'idée qu'il est possible d'avoir plusieurs fois le même nombre, d'afficher la solution, au début je croyait que c'était un bug ;)

Sinon, interdire en entrée des nombres inférieurs ou égales à 0 et supérieurs ou égales à 10, qu'ils soient entiers également. (tu peux simplement convertir l'entrée en nombre entier avec round(x,0) ou avec iPart(x).) mais avant cela qu'ils soient numériques (getType(x)="NUM")

Enfin, et tu l'as dit toi même, qu'il serait intéressant de faire le ménage dans ces 40 variables inutiles xD

@+ et bonne continuation !
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [En cours..] MasterMind sur Ti-NSpire

Unread postby Levak » 08 Apr 2009, 14:50

alors ? a pas avancé avec tous les conseils que je t'ai filé ? :p
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [En cours..] MasterMind sur Ti-NSpire

Unread postby Maxdu46 » 08 Apr 2009, 17:03

Ouups ! Je suis désolé j'avais complétement oublié de répondre. Il se trouve que j'ai récupérer un vieux pc avec MS-DOS et un compilateur de C++ dessus donc en ce moment je m'amuse plutôt sur ça.

Pour ce qui est de tes conseils j'avoue ne pas avoir tout saisi, ce que je cherche à faire c'est concaténer une chaine de caractère avec un chiffre, mais pour un nom de variable. En gros ça donnerais ça:

for i,1,10
a[i]:= 0
endfor

Sauf qu'ici "a" est une liste et on ne peut pas afficher les éléments d'une liste comme variable dans l'application géométrie.

Pour le reste je vais essayer d'avancer un peu, si je ponds un truc potable tu pourras le mettre sur le site Mic ?

(En fait si je parle à nouveau c'est parce que j'ai engagé des gardes du corps pour me protéger de mic :8): )
User avatar
Maxdu46
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 20%
 
Posts: 9
Joined: 21 Mar 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère S

Re: [En cours..] MasterMind sur Ti-NSpire

Unread postby Levak » 08 Apr 2009, 17:11

a:={}
for i,1,10
a:=augment(a,{0})
endfor
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [En cours..] MasterMind sur Ti-NSpire

Unread postby Maxdu46 » 08 Apr 2009, 17:39

Oui c'est à peu près ce que j'avais fais dans une des versions du programme, mais le problème reste le même puisque a est encore une liste, je ne pas pas afficher de valeur dans la partie graphique, si je tape a[1] comme texte dans la partie graphique et que je fais clic-droit puis calculer, ça refuse de faire quoi que ce soit. Tu vois le problème ?
User avatar
Maxdu46
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 20%
 
Posts: 9
Joined: 21 Mar 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère S

Re: [En cours..] MasterMind sur Ti-NSpire

Unread postby Levak » 08 Apr 2009, 19:02

Si tu n'as pas envie de t'embêter avec des listes du peux toujours utiliser ceci( à tester sur un nouveau classeur)

for i,1,10
expr("define s.a"string(i)"=i")
endfor

ça fais quoi ?
ça fait une sorte de groupe de variables, groupe nommé ici "s"
Tu peux atteindre ce groupe avec s. (il y a un point attention)
Là la TI te propose de sélectionner parmi les variables existante.
Je viens de tester en mode graphique ça marche, sauf qu'il faut que tu le fasses pour toutes les variables
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [En cours..] MasterMind sur Ti-NSpire

Unread postby Levak » 08 Apr 2009, 19:28

Re, je viens de honteusement jeter un coup d'oeil dans ton prog et c'est pas du tout optimisé :-o (on sent le copier coller au bout de nez :D)

Il faudrait que tu travailles la partie qui assigne les variables de la partie graphique.
Explore la fonction expr() et tu feras des merveilles :;):
Pour ce qui est de la partie contrôle je ne vois pas comment faire, laisse la ainsi :)

Il faudrait que tu planques tes variables de "réponse", par exemple en créant un programme depuis le jeu, qui contiendrait les variables et demandant un code d'accès algorithmique que seul le jeu connaît ^^ (j'y vais peut être un peu fort XD)

Afficher les réponse à la fin quand on perd, c'est toujours marrant de voir qu'on est con des fois XD

un reset automatique à la fin au lieu de le taper reset(), en faisant un truc simple :

go(...)
Perdu...
go(...)
Voulez-vous vraiment recommencer ?
go(...)
C'est parti !
en le jeu recommense

Je pense que tu peux t'en sortir avec ton "n" qui traîne ^^

Pour ton reset : comme se sont de simple variables, pas besoin de faire un "define" à chaque fois:
for i,0,9
expr("a"string(i)":=0")
expr("b"string(i)":=0")
expr("c"string(i)":=0")
expr("d"string(i)":=0")
endfor

suffira ^^

Je te dis, utilises expr() et tu fera des merveilles ^^

@+
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Next

Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
902 utilisateurs:
>860 invités
>36 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)