π
<-

[jeu] morpion ti-83+

Re: [jeu] morpion ti-83+

Unread postby Bisam » 21 Mar 2015, 12:14

Mingerton : une liste {1,1,2} a un produit non nul et donc déclenche la victoire ?
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: [jeu] morpion ti-83+

Unread postby Mingerton » 21 Mar 2015, 12:17

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 :
Code: Select all
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é ;)
Last edited by Mingerton on 21 Mar 2015, 15:17, edited 1 time in total.
User avatar
Mingerton
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 69.6%
 
Posts: 656
Images: 2
Joined: 13 May 2014, 19:36
Location: À l'infini
Gender: Male
Calculator(s):
MyCalcs profile
Class: Américaine

Re: [jeu] morpion ti-83+

Unread postby Bisam » 21 Mar 2015, 13:36

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 :
Code: Select all
If abs(sum(L1))=3
//victoire
ce qui non seulement diminue le nombre de calculs mais en plus les rend plus simples !
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: [jeu] morpion ti-83+

Unread postby Mingerton » 21 Mar 2015, 13:54

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 :
Code: Select all
0identity(3->[A]

Pour les valeurs à entrer dans la matrice :
Code: Select all
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.
User avatar
Mingerton
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 69.6%
 
Posts: 656
Images: 2
Joined: 13 May 2014, 19:36
Location: À l'infini
Gender: Male
Calculator(s):
MyCalcs profile
Class: Américaine

Re: [jeu] morpion ti-83+

Unread postby Bisam » 21 Mar 2015, 14:15

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 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.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: [jeu] morpion ti-83+

Unread postby Mingerton » 21 Mar 2015, 15:14

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 ! :)
User avatar
Mingerton
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 69.6%
 
Posts: 656
Images: 2
Joined: 13 May 2014, 19:36
Location: À l'infini
Gender: Male
Calculator(s):
MyCalcs profile
Class: Américaine

Re: [jeu] morpion ti-83+

Unread postby Hayleia » 21 Mar 2015, 16:17

Mingerton wrote: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é ;)

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(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
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: [jeu] morpion ti-83+

Unread postby Mingerton » 21 Mar 2015, 17:27

Disp "MERCI HAYLEIA ! :P
User avatar
Mingerton
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 69.6%
 
Posts: 656
Images: 2
Joined: 13 May 2014, 19:36
Location: À l'infini
Gender: Male
Calculator(s):
MyCalcs profile
Class: Américaine

Re: [jeu] morpion ti-83+

Unread postby grosged » 24 Mar 2015, 09:52

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 !

Code: Select all
sum(seq(sum(L1=X)=3,X,1,12
nous donnera combien de "triplets" figurent dans L1


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...)
Last edited by grosged on 24 Mar 2015, 10:58, edited 2 times in total.
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: [jeu] morpion ti-83+

Unread postby grosged » 24 Mar 2015, 17:40

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:

Code: Select all
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 ? :#roll#:
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

PreviousNext

Return to TI-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 5 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.
1829 utilisateurs:
>1799 invités
>25 membres
>5 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)