[jeu] morpion ti-83+
Re: [jeu] morpion ti-83+
Mingerton : une liste {1,1,2} a un produit non nul et donc déclenche la victoire ?
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Messages: 5665
- Inscription: 11 Mar 2008, 00:00
- Localisation: Lyon
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [jeu] morpion ti-83+
En effet... les deux tests sur les produits égaux à 1 et à 8 sont parfaits par contre. De même, la variance (eh oui !) marche pas mal du tout, bien que ça soit un peu plus lourd.
Donc on aurait plutôt :
En effet j'avais oublié. Cependant, au final c'est le produit qui demeure le plus optimisé
Donc on aurait plutôt :
- Code: Tout sélectionner
If max(prod(L1)={1,8
//écran de victoire
En effet j'avais oublié. Cependant, au final c'est le produit qui demeure le plus optimisé
Dernière édition par Mingerton le 21 Mar 2015, 15:17, édité 1 fois.
Mes articles : | Mes programmes utiles (je termine peu de projets) : |
◆ Les premières TI programmables 1/2 ◆ Les premières TI programmables 2/2 ◆ Les premières TI programmables : TI-78 et TI-88 ◆ Les boîtiers des TI-z80 ◆ [TUTO]Connectez votre TI à votre Mac ◆ Astuces de programmation ◆ [TUTO] Les tableaux en TI-Basic z80 ◆ Calculatrices, laquelle est la plus précise ? | ◆ RESISTOR ◆ Tout sur la loi normale ! ◆ Physique TS : toutes les formules |
-
Mingerton
Niveau 13: CU (Calculateur Universel)- Messages: 655
- Images: 2
- Inscription: 13 Mai 2014, 19:36
- Localisation: À l'infini
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: Américaine
Re: [jeu] morpion ti-83+
Je ne vois pas en quoi c'est mieux que de faire une somme...
Avec des valeurs -1 ou 1 pour les joueurs, on peut faire :
Avec des valeurs -1 ou 1 pour les joueurs, on peut faire :
- Code: Tout sélectionner
If abs(sum(L1))=3
//victoire
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Messages: 5665
- Inscription: 11 Mar 2008, 00:00
- Localisation: Lyon
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [jeu] morpion ti-83+
Parce que dans les initialisations on gagne de la place, ainsi que lorsque l'on place les valeurs dans la matrice. En effet, pour initialiser un matrice à 0 :
Pour les valeurs à entrer dans la matrice :
Ce n'est que du gain d'octets, les fonctionnalités sont exactement les mêmes, mais au final c'est plus léger. Je ne met pas en doute la valeur de l'utilisation de la somme, je signale simplement une optimisation de quelques dizaines d'octets.
- Code: Tout sélectionner
0identity(3->[A]
Pour les valeurs à entrer dans la matrice :
- Code: Tout sélectionner
J-(J=2)+(J=1->J
J->//matrice
Ce n'est que du gain d'octets, les fonctionnalités sont exactement les mêmes, mais au final c'est plus léger. Je ne met pas en doute la valeur de l'utilisation de la somme, je signale simplement une optimisation de quelques dizaines d'octets.
Mes articles : | Mes programmes utiles (je termine peu de projets) : |
◆ Les premières TI programmables 1/2 ◆ Les premières TI programmables 2/2 ◆ Les premières TI programmables : TI-78 et TI-88 ◆ Les boîtiers des TI-z80 ◆ [TUTO]Connectez votre TI à votre Mac ◆ Astuces de programmation ◆ [TUTO] Les tableaux en TI-Basic z80 ◆ Calculatrices, laquelle est la plus précise ? | ◆ RESISTOR ◆ Tout sur la loi normale ! ◆ Physique TS : toutes les formules |
-
Mingerton
Niveau 13: CU (Calculateur Universel)- Messages: 655
- Images: 2
- Inscription: 13 Mai 2014, 19:36
- Localisation: À l'infini
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: Américaine
Re: [jeu] morpion ti-83+
Pour l'initialisation, ça ne change rien.
Et pour ta deuxième partie, je n'ai pas bien compris... c'est pour changer de joueur et passer de 1 à 2 ou de 2 à 1 ?
Dans ce cas, il est bien plus simple de faire
Mais avec un numéro de joueur qui vaut -1 ou 1, il suffit de faire
Bref, on n'est pas là pour discuter optimisation, mais je trouve un peu limite de dire "la meilleure solution est..." quand, en fait, rien n'est moins certain.
Et pour ta deuxième partie, je n'ai pas bien compris... c'est pour changer de joueur et passer de 1 à 2 ou de 2 à 1 ?
Dans ce cas, il est bien plus simple de faire
3-J->J
.Mais avec un numéro de joueur qui vaut -1 ou 1, il suffit de faire
-J->J
, ce qui là encore économise un octet.Bref, on n'est pas là pour discuter optimisation, mais je trouve un peu limite de dire "la meilleure solution est..." quand, en fait, rien n'est moins certain.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Messages: 5665
- Inscription: 11 Mar 2008, 00:00
- Localisation: Lyon
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [jeu] morpion ti-83+
Je me base pour mes réponses sur un ancien morpion que j'ai programmé. Il se trouve qu'après plusieurs essais, nous nous sommes mis d'accord avec Linkakro sur le fait que la meilleur optimisation était celle du produit, c'est pourquoi je dis que c'est la meilleure.
Voilà le sujet : http://www.tout82.org/t232-probleme-calcul-avec-listes
Je ne me souvenais pas de tout quand j'ai posté plus haut, c'est pourquoi les erreurs d'optimisation font penser que ce n'est pas plus léger.
Enfin, bref, je digresse...
HS : Bisam, j'ai une question : Comment fais tu pour inclure des petits morceaux de texte avec une syntaxe code dans tes messages ? Je ne trouve pas.. merci d'avance !
Voilà le sujet : http://www.tout82.org/t232-probleme-calcul-avec-listes
Je ne me souvenais pas de tout quand j'ai posté plus haut, c'est pourquoi les erreurs d'optimisation font penser que ce n'est pas plus léger.
Enfin, bref, je digresse...
HS : Bisam, j'ai une question : Comment fais tu pour inclure des petits morceaux de texte avec une syntaxe code dans tes messages ? Je ne trouve pas.. merci d'avance !
Mes articles : | Mes programmes utiles (je termine peu de projets) : |
◆ Les premières TI programmables 1/2 ◆ Les premières TI programmables 2/2 ◆ Les premières TI programmables : TI-78 et TI-88 ◆ Les boîtiers des TI-z80 ◆ [TUTO]Connectez votre TI à votre Mac ◆ Astuces de programmation ◆ [TUTO] Les tableaux en TI-Basic z80 ◆ Calculatrices, laquelle est la plus précise ? | ◆ RESISTOR ◆ Tout sur la loi normale ! ◆ Physique TS : toutes les formules |
-
Mingerton
Niveau 13: CU (Calculateur Universel)- Messages: 655
- Images: 2
- Inscription: 13 Mai 2014, 19:36
- Localisation: À l'infini
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: Américaine
Re: [jeu] morpion ti-83+
Mingerton a écrit:HS : Bisam, j'ai une question : Comment fais tu pour inclure des petits morceaux de texte avec une syntaxe code dans tes messages ? Je ne trouve pas.. merci d'avance !
Utilise la balise
[icode]
Et en règle générale, lorsque tu veux savoir comment quelqu'un a fait quelque chose dans un de ses posts, utilise le bouton "quote" et regarde ce qui a été tapé
Pokemon Topaze (Axe) discussion and download links here | (19:29:36) noelnadal: plus sérieusement, j'ai très peu de problèmes (22:45:44) Clifward: J'aime rire du malheur des autres (2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!! (2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked). (2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked. (2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat. (2017.11.18 - 17:07:28) Fireworks: <3 (2017.11.18 - 17:07:31) Fireworks: 208 |
-
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)- Messages: 2509
- Images: 2
- Inscription: 30 Aoû 2011, 08:22
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: Templar
Re: [jeu] morpion ti-83+
Disp "MERCI HAYLEIA !
Mes articles : | Mes programmes utiles (je termine peu de projets) : |
◆ Les premières TI programmables 1/2 ◆ Les premières TI programmables 2/2 ◆ Les premières TI programmables : TI-78 et TI-88 ◆ Les boîtiers des TI-z80 ◆ [TUTO]Connectez votre TI à votre Mac ◆ Astuces de programmation ◆ [TUTO] Les tableaux en TI-Basic z80 ◆ Calculatrices, laquelle est la plus précise ? | ◆ RESISTOR ◆ Tout sur la loi normale ! ◆ Physique TS : toutes les formules |
-
Mingerton
Niveau 13: CU (Calculateur Universel)- Messages: 655
- Images: 2
- Inscription: 13 Mai 2014, 19:36
- Localisation: À l'infini
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: Américaine
Re: [jeu] morpion ti-83+
Autre idée d'algorithme :
En ayant pour les coups du joueur des abscisses X entre 1 et 3 , des ordonnées Y entre 4 et 6
et pour les coups de la TI des abscisses X entre 7 et 9 , des ordonnées Y entre 10 et 12,
à chaque coup joué, on ajoute dans une liste L1 les valeurs X et Y correspondantes.
Puis, pour savoir si l'un ou l'autre vient de gagner (horizontalement ou verticalement), il suffit de vérifier si la liste L1 comporte au moins 3 fois une même valeur !
Quant aux diagonales, je suis sur une piste:
Toujours avec la manière "spéciale" de gérer les X,Y
si Abs(X-Y) est impaire (ce qui veut dire que X,Y est positionné soit au centre, soit sur l'un des 4 coins) alors on incrémente un compteur de cette valeur.
Et si ce compteur arrive à 9,10,12,14 ou 16 , ça veut dire qu'une diagonale est présente !
Bien sur, il faudra attribuer un compteur pour le joueur, un autre pour la TI.
EDIT: Aïe, les diagonales, c'est pas encore au point : on peut avoir aussi un total=9 quand 3 coins seulement sont joués
(Je repars sur une autre piste...)
En ayant pour les coups du joueur des abscisses X entre 1 et 3 , des ordonnées Y entre 4 et 6
et pour les coups de la TI des abscisses X entre 7 et 9 , des ordonnées Y entre 10 et 12,
à chaque coup joué, on ajoute dans une liste L1 les valeurs X et Y correspondantes.
Puis, pour savoir si l'un ou l'autre vient de gagner (horizontalement ou verticalement), il suffit de vérifier si la liste L1 comporte au moins 3 fois une même valeur !
- Code: Tout sélectionner
sum(seq(sum(L1=X)=3,X,1,12
Quant aux diagonales, je suis sur une piste:
Toujours avec la manière "spéciale" de gérer les X,Y
si Abs(X-Y) est impaire (ce qui veut dire que X,Y est positionné soit au centre, soit sur l'un des 4 coins) alors on incrémente un compteur de cette valeur.
Et si ce compteur arrive à 9,10,12,14 ou 16 , ça veut dire qu'une diagonale est présente !
Bien sur, il faudra attribuer un compteur pour le joueur, un autre pour la TI.
EDIT: Aïe, les diagonales, c'est pas encore au point : on peut avoir aussi un total=9 quand 3 coins seulement sont joués
(Je repars sur une autre piste...)
Dernière édition par grosged le 24 Mar 2015, 10:58, édité 2 fois.
-
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)- Messages: 770
- Images: 75
- Inscription: 14 Sep 2011, 12:29
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: [jeu] morpion ti-83+
Après réfléxion, il y a bien plus simple pour tester les combinaisons horizontales et verticales :
En utilisant une matrice [A] avec les cases d'origine à 0, puis petit-à-petit égales à 1 ou -1 (selon les pions de la TI ou du joueur)
Il nous suffit de faire:
Par contre, je n'arrive pas (encore?) à trouver de solution "élégante" quant aux tests des diagonales...
Quelqu'un a une idée ?
En utilisant une matrice [A] avec les cases d'origine à 0, puis petit-à-petit égales à 1 ou -1 (selon les pions de la TI ou du joueur)
Il nous suffit de faire:
- Code: Tout sélectionner
Matr►list(cumSum([A],3,L1
Matr►list(cumSum([A]┬,3,L2
If 3=max(abs(augment(L1,L2
Disp"GAGNE!
Par contre, je n'arrive pas (encore?) à trouver de solution "élégante" quant aux tests des diagonales...
Quelqu'un a une idée ?
-
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)- Messages: 770
- Images: 75
- Inscription: 14 Sep 2011, 12:29
- Genre:
- Calculatrice(s):→ MyCalcs profile
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités