Page 1 sur 1

Problème TI-82 Advanced

Message non luPosté: 14 Jan 2018, 21:01
de Dark_Yodada
Bonjour à tous,

Je suis débutant en programmation TI-Basic et j'essaie de réaliser plusieurs programmes simples (jeux et utilitaires).
Actuellement je tente de réaliser un morpion et j'ai un problème :
J'ai créé une matrice de 3x3 et je voudrais l'afficher tout le temps. Quand je mets [A] seul ça affiche la matrice une fois mais dans un repeat ça n'affiche plus rien.
Quelqu'un pourrait-il m'aider à résoudre ce problème ?

Merci !

Re: Problème TI-82 Advanced

Message non luPosté: 14 Jan 2018, 21:18
de critor
Bonsoir.

Je dirais de préciser l'instruction d'affichage dans le code à répéter :
Code: Tout sélectionner
Disp [A]

Re: Problème TI-82 Advanced

Message non luPosté: 14 Jan 2018, 21:47
de Dark_Yodada
Ça marche, merci beaucoup !

Re: Problème TI-82 Advanced

Message non luPosté: 14 Jan 2018, 21:47
de critor
De rien, merci pour ton retour. :)

Re: Problème TI-82 Advanced

Message non luPosté: 15 Jan 2018, 08:42
de Dark_Yodada
Re-bonjour, je rencontre un second problème (et c'est possible qu'il y en ait encore, le morpion est mon premier programme un peu compliqué).

En fait, par exemple lorsqu'on appuie sur la flèche de droite, je veux mettre 1 dans la case suivante. Ça c'est bon. Mais je suis obligé de mettre plein de "and" pour voir s'il le "1" n'est pas déjà dans la 3ème colonne (un "and" par ligne".
Ça marche, mais est ce que quelqu'un aurait une idée pour optimiser ?

Re: Problème TI-82 Advanced

Message non luPosté: 16 Jan 2018, 10:35
de Ifndev
Salut !
Peut-tu donner ton code actuel ?
Ya déja pas mal de programmes de morpion en ti-basic, tu devrait y trouver ton bonheur: Recherche: Morpion

Certains utilisent plein de and, certains non, tout dépends :p

Re: Problème TI-82 Advanced

Message non luPosté: 16 Jan 2018, 21:17
de Dark_Yodada
Code: Tout sélectionner
{3,3→dim([A]
Remplir(0,[A]
1→T
1→X
1→Y
1→[A](X,Y
Repeat A=999
EffÉcran
Disp [A]
Repeat K
getKey→K
End
If K=24 et Y≠1
Then
0→[A](X,Y
Y-1→Y
T→[A](X,Y
End
If K=26 et Y≠3
Then
0→[A](X,Y
Y+1→Y
T→[A](X,Y
End
If K=25 et X≠1
Then
0→[A](X,Y
X-1→X
T→[A](X,Y
End
If K=34 et X≠3
Then
0→[A](X,Y
X+1→X
T→[A](X,Y
End
If K=105
Then
If T=1
Then
2→T
Else
1→T
End
1→X
1→Y
T→[A](X,Y
End
End


Finalement j'ai trouvé une solution plus simple. Voilà le code, ça ne marche pas encore mais maintenant je me demande si il y a une fonction permettant d'additionner les colonnes/lignes pour tester si une colonne/ligne est égale à 3 ou 6...

Re: Problème TI-82 Advanced

Message non luPosté: 19 Juil 2018, 19:50
de gam
Alors je suis pas sûr, je connais pas les matrices, mais j'imagine que tu dois pouvoir faire:
Code: Tout sélectionner
[A](1,1)+[A](1,2)+[A](1,3)->H
If H=3
Then
Qqch
Else
If H=6
Then
Autrechose
End
End

Re: Problème TI-82 Advanced

Message non luPosté: 19 Juil 2018, 21:48
de Hamza.S
Il y a un problème dans ce que tu as écrit. Imagine dans la première condition, H est modifié H=6 ta deuxième condition sera exécutée et c'est pas le but recherché.

Re: Problème TI-82 Advanced

Message non luPosté: 20 Juil 2018, 10:59
de gam
Modifié :)
Ça marche comme ça?