1

Bonjour à tous !!

J'voulais savoir si quelqu'un a un jeu de Morpion en basic, et si possible avec le code source (comme je sus encore débutant, même si j'commence à me débrouiller un peu, je voudrais comprendre ce qui se passe grin).

Je sais que sur des sites, on peut trouver déja des morpions tout fait en basic, mais le truc c'est que je ne peux plus rien transférer avec Ti Connect (il plante avec quelconque opération avec la TI-84 + sad

Merci d'avance !!
avatar
https://tiplanet.org - TI-Planet.org Cofounder & coadmin
https://inspired-lua.org - Lua Programming on the TI-Nspire

2

mais le truc c'est que je ne peux plus rien transférer avec Ti Connect (il plante avec quelconque opération avec la TI-84 + sad


Essaye TIlp (2) ou TI Graph Link pour transferer tes fichiers.

Sinon tu peux ouvrir des jeux de morpions pour voir leur source avec TI Graph Link.

3

j'ai déja essayé, mais en fait c'est que j'ai directement le cable USB sui se branche sur l'ordi (qui part d'en haut a droite de la TI-48+); c'est pas les cable I/O des TI83 !!
avatar
https://tiplanet.org - TI-Planet.org Cofounder & coadmin
https://inspired-lua.org - Lua Programming on the TI-Nspire

4

Tu l'as peut être mis à jour...
La version 1.5 de TiConnect marche très bien; tu devrait la réinstaller...

5

(C'est TI 84+)

Le fait que t'utilise le câble USB ou l'autre ne change rien, tu peux transferer des deux manières. Tu devrai essayer TIlp (version 2) ou faire un tour sur zFAQ. J'ai eu aussi des problèmes avec TI-Connect et Windows XP, mais il suffit d'associer ta TI (quand elle est branchée) avec les pilotes TI et ça devrai marcher (Windows devrai te le demander quand tu la branchera à ton PC).

6

Tien puisque je vois que l'on parle de TI connect, il y avait une version (avant la 1.6) dans lequel il y avait l'éditeur de programme. Il me semble avoir lu dans un sujet de ce forum que c'était avec la 1.5.0.
J'ai été obliger de rendre mon CD de TI avec mon ancienne TI 84+ qui été tomber en panne (erreur de transfert pendant la mise a jour de l'OS couic ) et desormes sur le nouveau CD, avec la nouvelle TI (84+) j'ai la 1.6, du coup si quelqu'un sait ou récupérer l'ancienne version ... (je sais pour les programme il y a aussi TI Graphlink mais je le trouve pénible, pas de possibilité de voir tout la ligne en même temps, pas de "syntax check" (certes il ne marchait pas toujours très bien) et surtout pas de possibilité de transférer directement sur la TI)

Concernant ton jeu de morpion, le jeu que j'ai poste pour une petite aide de dépannage devrait être modifiable pour le transformer en morpion wink (bon faudrait déjà que j'arrive a corriger ce angry de bug, je ne perd pas courage, mais des fois si sad )

Edit : Tu as aussi un jeu de morpion un peu plus bas (5 sujet plus bas wink )
Programme en : basic pour TI84+ (83+ si possible)

7

ben ouai, ok merci, mais je me sens pas trop de retaper tout le code sur la calculette ...
avatar
https://tiplanet.org - TI-Planet.org Cofounder & coadmin
https://inspired-lua.org - Lua Programming on the TI-Nspire

8

Ben si tu ne peut rien transférer sur ta calculette, je ne vois trop comment tu veut mettre des programmes dessus sans taper ...
Pis si tu veut tester des programmes tu peux toujours utiliser un emulateur (VTI, ...) et le code tu peut le lire avec l'éditeur de programme (TI Connect Progam Editor, TIGraphlink) wink

Sinon le puissance 4 qui marche à moitié tu peut récupérer la routine de déplacement (avec quelque modification pour se déplacer sur toute la grille)
Voilà un exemple fait quelque copier coller
prgmEFACVARS (peut être remplacer par quelque ligne, remettre en mode plein écran, initialiser les variables qui vont etre utiliser, ... enfin : préparer la calculette a recevoir le jeu)
AxesOff
FnOff
0→;Xmin
0→;Ymin
94→;Xmax
62→;Ymax
Text(20,25,"Mon jeu de morpion a moi" // Comme c'est du texte tu peut mettre ce que tu veut (enfin presque, longueur)
Text(30,30,"Trouver sur Yaronet tongue"
Text(40,4,"VERSION EN DEVELOPEMENT"
Pause
ClrDraw
Horizontal 0 //On trace le quadrillage X
Vertical 0
For(X,1,89,8)
Vertical X
End
For(Y,1,57,8 //On trace le quadrillage Y
Horizontal Y
End
For(Y,57,62,1) //On trace le bordures
Horizontal Y
End
For(X,89,94,1) //On trace le bordures
Vertical X
End
80→;dim(L1 //On crée une liste L1 pour stocker l'emplacement du pion
Fill(0,L1 //On y met des 0
44→;X
1→;E
0→;U
6→;Y
Text(Y,X,"V"
[Fin du traçage du damier, début de surveillance de l'appuie touche]
while E
getKey→;K
If K=24 //Touche <-
Then
Text(Y,X," "
X-8→;X
If X≤;4
4→;X
Text(Y,X,"V"
End
If K=26 //Touche ->
Then
Text(Y,X," "
X+8→;X
If X≥;84
84→;X
Text(Y,X,"V"
End

If K=(touche vers le haut : 25?)
Then
Text(Y,X," "
Y+8→;Y
If Y≥;50
50→;X
Text(Y,X,"V"
End


If K=(touche vers le bas : 34??)
Then
Text(Y,X," "
Y-8→;Y
If 4≥;Y
4→;Y
Text(Y,X,"V"
End

If K=45 //Là c'est pour quitter (0->E => Condition While E )
Then
0→;E
2→;U
End

Text(0,2," JOUEUR : ",U+1," A VOUS L'HONEUR"

Avec ça tu déplace un "V" dans une grille (enfin comme c'est fait en 2s il est très possible que tu sorte du damier pour les Y, on que tu decalle)
Ensuite pour le placement du pion
If K=105 //(touche entrer)
Then
[.code pour voir si on peut effectivement mettre le pion du joueur, le mémoriser dans une matrice (ou une liste), ainsi que le code permettant de verifier si il n'y a pas un joueur qui aurait gagner (là ne pique pas trop sur moi car j'ai quelque problème, mise en place : OK, vérification ligne : OK, vérification colonne : OK, vérification diagonale : No comment).] End
Programme en : basic pour TI84+ (83+ si possible)

9

ouai cool merci !!
j'pense que pour le morpion, j'vais utiliser une matrice 3*3 et pis j'vais prendre ce code pour le déplacement !!


P.S : Toujours le meme problème avec la liaison PC<->TI, mais sur un autre PC !!!!
Soit ca vient du cable (puisque j'en ai plusieurs, j'ai ptèt pas pris le bon, pour tant je les ai tout testés sad ), soit c'est de la calculette ....
--->>> ti-cares@ti.com .....
avatar
https://tiplanet.org - TI-Planet.org Cofounder & coadmin
https://inspired-lua.org - Lua Programming on the TI-Nspire

10

Oui, enfin; ça arrive souvent avec les 84+...
Perso, J'ai jamais pu faire marcher TilP et autres...
J'ai essayé de t'envoyer la 1.5 de TiConnect; mais ça marche pas sur ce Forum...
Si j'ai un peu de temps, je te la mettrai peut-être sur Voila...
Bonne chance!

11

ok merci , mais j'ai directement trouvé un lien pour la 1.5 !!
avatar
https://tiplanet.org - TI-Planet.org Cofounder & coadmin
https://inspired-lua.org - Lua Programming on the TI-Nspire

12

adriweb (./9) :
ouai cool merci !!
j'pense que pour le morpion, j'vais utiliser une matrice 3*3 et pis j'vais prendre ce code pour le déplacement !!

Hum il vaut mieux que tu utilise une matrice de lataille du damier wink
je viens de voir qu'il manque le End du While E

Est ce que tu pourrais me passer le lien de la 1.5 ? (j'arrive pas a la trouver stp )
Programme en : basic pour TI84+ (83+ si possible)

13

Est ce que tu pourrais me passer le lien de la 1.5 ? (j'arrive pas a la trouver stp )

C'est bon je viens de la trouver sur un site en allemand (linkkabel) oui je suis content !
Programme en : basic pour TI84+ (83+ si possible)

14

C'est bon merci à tous !!
j'ai pu faire enfin la partie principale du prog' et tout marche !!
(bien avec une matrice de 3*3 wink lol )
avatar
https://tiplanet.org - TI-Planet.org Cofounder & coadmin
https://inspired-lua.org - Lua Programming on the TI-Nspire

15

si tu veu t'amuser, tu peu aussi essayer une IA en face de toi... Ou alors de prévoir le prgm pour tourner en réseau sur 2 calto en mm tps !
avatar
loclamor
Mondo Photo
Le voyage en photo et en 1 clic

16

j'ai fait aussi un jeu de morpion masi j'aimerai qu'il trace les traits qq sait comment faire

17

Pour tracer des traits, tu utilises Line() dispo dans le menu Draw (2nd, Prgm).

En gros, la syntaxe est la suivante: Line(x1, y1, x2, y2); mais attention, les coordonnées sont dans le repère Window. Par exemple, si tu fais zStandart (dans zoom), tu te retrouves avec une fenêtre de (-10, 10) en x et (-10, 10) en y...

18

Je crois qu'il est temps mes amis de vous montrer mon méga optimisé morpion de la mort qui tue, que j'ai modestement surnommé MORP5 (parce que MORP4, MORP3, MORP2, MORP1, MORPL, MORPION)

StoreGDB 0
:Full
:GridOff
:AxesOff
:FnOff 
:PlotsOff 
:&#8254;4.4&#8594;Xmin
:16.4&#8594;Xmax
:&#8254;1.5&#8594;Ymin
:12.2&#8594;Ymax
:&#8254;1&#8594;J
:Ans&#8594;K
:Lbl 1
:ClrDraw
:For(A,4,8,4
:	Line(0,A,12,A
:	Line(A,0,A,12
:End
: DelVar ADelVar BDelVar CDelVar DDelVar EDelVar FDelVar GDelVar HDelVar I11&#8594;L
:Lbl 2
:&#8254;K&#8594;K
:"O
:If K=J
:	"X
:Ans&#8594;Str1
:Text(J,56,1,Ans
:Lbl 3
:getKey&#8594;&#920;
:If Ans=45
:Then
:	RecallGDB 0
:	DelVar GDB0DelVar Str1Output(1,1,"
:	Return
:End
:If Ans=23 xor ABCDEFGHI
:	Goto 6
:7&#8594;M
:If &#920;=72 and not(A
:Then
:	K&#8594;A
:	27
:	Goto 4
:End
:If &#920;=73 and not(B
:Then
:	K&#8594;B
:	45
:	Goto 4
:End
:If &#920;=74 and not(C
:Then
:	K&#8594;C
:	63
:	Goto 4
:End
:25&#8594;M
:If &#920;=82 and not(D
:Then
:	K&#8594;D
:	27
:	Goto 4
:End
:If &#920;=83 and not(E
:Then
:	K&#8594;E
:	45
:	Goto 4
:End
:If &#920;=84 and not(F
:Then
:	K&#8594;F
:	63
:	Goto 4
:End
:43&#8594;M
:If &#920;=92 and not(G
:Then
:	K&#8594;G
:	27
:	Goto 4
:End
:If &#920;=93 and not(H
:Then
:	K&#8594;H
:	45
:	Goto 4
:End
:If &#920;=94 and not(I
:Then
:	K&#8594;I
:	63
:	Goto 4
:End
:Goto 3
:Lbl 4
:End
:Text(J,M,Ans,Str1
:If 3=abs(A+B+C
:Then
:	Line(1,10,L,10
:	0
:End
:If 3=abs(A+E+I
:Then
:	Line(1,L,L,1
:	0
:End
:If 3=abs(C+F+I
:Then
:	Line(10,L,10,1
:	0
:End
:If 3=abs(C+E+G
:Then
:	Line(1,1,L,L
:	0
:End
:If 3=abs(A+D+G
:Then
:	Line(2,L,2,1
:	0
:End
:If 3=abs(G+H+I
:Then
:	Line(1,2,L,2
:	0
:End
:If 3=abs(B+E+H
:Then
:	Line(6,L,6,1
:	0
:End
:If 3=abs(D+E+F
:Then
:	Line(1,6,L,6
:	0
:End
:If Ans
:	Goto 2
:Text(56,32,"VICTOIRE
:Pause 
:Goto 1
:Lbl 6
:Text(56,34,"EGALITE
:Pause 
:Goto 1


Malgré ces airs imposants, il fait 722 octets, et il y a :
- Une belle initialisation
- la grille (c'est la moindre des choses)
- l'indication de victoire par un trait
- Une belle clôture

C'est le minimum syndical pour faire un Morpion, j'ai essayé pendant plusieurs mois de l'optimiser (niveau poids) le plus possible. Je serai curieux de voir s'il est pas plus optimisable...

edit: Atttennnnnnndeeeeez !!!! ^^ j'ai peut-être trouvé beaucoup plus léger...
avatar
- WikiSquare l'encyclopédie libre Square Enix !
- TI-Editor Éditez vos programmes TI-Basic !

19

Non non non ! J'interdis à quiconque d'utiliser un programme aussi mal codé ^^.

20

Alors oui y'a des Goto partout, j'étais jeune...
avatar
- WikiSquare l'encyclopédie libre Square Enix !
- TI-Editor Éditez vos programmes TI-Basic !

21

Ah, sinon j'en ai un aussi, j'ai participé à un concours avec (qui n'a tjrs pas donné de résultats)... =P

J'aurais pu l'optimiser plus en taille (il fait 1490 octets); mais c'est un morpion spécial: il a une taille de tableau variable et une taille de victoire variable aussi...
[nosmile]
:ClrHome
:Full
:StoreGDB 1
:FnOff 
:Func
:AxesOff
:GridOff
:0&#8594;Ymin
:0&#8594;Xmin
:62&#8594;Ymax
:94&#8594;Xmax
:ClrDraw
:
:Repeat A&#8804;10 and A
:	Input "Hauteur(1-10):",A
:	abs(int(A&#8594;A
:End
:Repeat B&#8804;15 and B
:	Input "Largeur(1-15):",B
:	abs(int(B&#8594;B
:End
:Repeat L>0 and L&#8804;max(A,B
:	Input "Longueur:",L
:	abs(int(L&#8594;L
:End
:
:min(int(62/A),int(94/B&#8594;C
:
:
:BC&#8594;D
:AC&#8594;E
:iPart(47-.5D&#8594;F
:iPart(31-.5E&#8594;G
:
:F+D
:For(X,G,G+E,C
:	Line(F,X,Ans,X
:End
:
:G+E
:For(X,F,F+D,C
:	Line(X,G,X,Ans
:End
:
:If fPart(.5E
:	G+1&#8594;G
:
:0&#8594;X
:0&#8594;Y
:
:G+YC&#8594;I
:F+XC&#8594;J
:
:Pxl-On(I+1,J+1
:Pxl-On(I+1,J+C-1
:Pxl-On(I+C-1,J+C-1
:Pxl-On(I+C-1,J+1
:{A,B&#8594;dim([A]
:Fill(2,[A]
:0&#8594;W
:0&#8594;&#920;
:0&#8594;Z
:Repeat Z or W&#8805;AB
:	Repeat max(Ans={21,24,25,26,34,45,105
:		getKey&#8594;K
:	End
:	If Ans=45
:	Then
:		ClrDraw
:		ClrHome
:		RecallGDB 1
:		DelVar GDB1DelVar [A]
:		Stop
:	End
:	If Ans&#8800;105 and Ans&#8800;21
:	Then
:		Pxl-Off(I+1,J+1
:		Pxl-Off(I+1,J+C-1
:		Pxl-Off(I+C-1,J+C-1
:		Pxl-Off(I+C-1,J+1
:		
:		X+(Ans=26)(X+1<B)-(Ans=24)(X>0&#8594;X
:		Y+(K=34)(Y+1<A)-(K=25)(Y>0&#8594;Y
:		G+YC&#8594;I
:		F+XC&#8594;J
:		
:		Pxl-On(I+1,J+1
:		Pxl-On(I+1,J+C-1
:		Pxl-On(I+C-1,J+C-1
:		Pxl-On(I+C-1,J+1
:	Else
:		X+1&#8594;X
:		Y+1&#8594;Y
:		If 2=[A](Ans,X
:		Then
:			&#920;&#8594;[A](Ans,X
:			
:			If Ans
:			Then
:				Circle(J+.5C,62-(I+.5C),&#8254;1.5+.5(C-1
:			Else
:				Line(J,62-I,J+C,62-I-C
:				Line(J,62-I-C,J+C,62-I
:			End
:			
:			1&#8594;S
:			1&#8594;V
:			1&#8594;T
:			While X+Ans&#8804;B and V
:				&#920;=[A](Y,X+Ans&#8594;V
:				S+Ans&#8594;S
:				T+1&#8594;T
:			End
:			S&#8594;U
:			
:			1&#8594;V
:			1&#8594;T
:			While X-Ans&#8805;1 and V
:				&#920;=[A](Y,X-Ans&#8594;V
:				S+Ans&#8594;S
:				T+1&#8594;T
:			End
:			
:			If S&#8805;L
:			Then
:				1&#8594;Z
:				Line(F+C(X-1+U),62-(G+CY-.5C),F+C(X-1+U-S),62-(G+CY-.5C
:			End
:			
:			1&#8594;S
:			1&#8594;V
:			1&#8594;T
:			While Y+Ans&#8804;A and V
:				&#920;=[A](Y+Ans,X&#8594;V
:				S+Ans&#8594;S
:				T+1&#8594;T
:			End
:			S&#8594;U
:			
:			1&#8594;V
:			1&#8594;T
:			While Y-Ans&#8805;1 and V
:				&#920;=[A](Y-Ans,X&#8594;V
:				S+Ans&#8594;S
:				T+1&#8594;T
:			End
:			
:			If S&#8805;L
:			Then
:				1&#8594;Z
:				Line(F+CX-.5C,62-(G+C(Y-1+U)),F+CX-.5C,62-(G+C(Y-1+U-S
:			End
:			
:			1&#8594;S
:			1&#8594;V
:			1&#8594;T
:			While X+Ans&#8804;B and Y+Ans&#8804;A and V
:				&#920;=[A](Y+Ans,X+Ans&#8594;V
:				S+Ans&#8594;S
:				T+1&#8594;T
:			End
:			S&#8594;U
:			
:			1&#8594;V
:			1&#8594;T
:			While X-Ans&#8805;1 and Y-Ans&#8805;1 and V
:				&#920;=[A](Y-Ans,X-Ans&#8594;V
:				S+Ans&#8594;S
:				T+1&#8594;T
:			End
:			
:			If S&#8805;L
:			Then
:				1&#8594;Z
:				Line(F+C(X-1+U),62-(G+C(Y-1+U)),F+C(X-1+U-S),62-(G+C(Y-1+U-S
:			End
:			
:			
:			1&#8594;S
:			1&#8594;V
:			1&#8594;T
:			While X+Ans&#8804;B and Y-Ans&#8805;1 and V
:				&#920;=[A](Y-Ans,X+Ans&#8594;V
:				S+Ans&#8594;S
:				T+1&#8594;T
:			End
:			S&#8594;U
:			
:			1&#8594;V
:			1&#8594;T
:			While X-Ans&#8805;1 and Y+Ans&#8804;A and V
:				&#920;=[A](Y+Ans,X-Ans&#8594;V
:				S+Ans&#8594;S
:				T+1&#8594;T
:			End
:			
:			If S&#8805;L
:			Then
:				1&#8594;Z
:				Line(F+C(X-1+U),62-(G+C(Y-U)),F+C(X-1+U-S),62-(G+C(Y-U+S
:			End
:			
:			1-&#920;&#8594;&#920;
:			1+W&#8594;W
:			getKey
:		End
:		X-1&#8594;X
:		Y-1&#8594;Y
:	End
:End
:RecallGDB 1
:DelVar GDB1DelVar [A]
:Repeat Ans
:	getKey
:End
:
:ClrHome
:ClrDraw

22

Ouah il est bien ! j'ose pas montrer ma version après ça... on dirait que j'ai fait un truc toupourri pour les conditions de victoire... et que mon style d'affichage n'est pas ergonomique.
xmorpion
avatar
- WikiSquare l'encyclopédie libre Square Enix !
- TI-Editor Éditez vos programmes TI-Basic !

23

Il utilise une scrollbar ton Xmorpion non?

24

En gros oui.
avatar
- WikiSquare l'encyclopédie libre Square Enix !
- TI-Editor Éditez vos programmes TI-Basic !

25

whaou.

Même pas la peine que je montre le mien XD (qui est de plus un de mes premier prog :P )
avatar
loclamor
Mondo Photo
Le voyage en photo et en 1 clic

26

gon, tu peux mettre {i en argument optionnel pour Circle non ?

et 0=A <=> not(A ?

27

Le i pour Circle a l'air pas mal, mais j'ai appris que ça existait qu'après l'avoir codé...

Sinon, je vois pas de 0=A dans mon code, c'est peut être théta à la place de 0, mais bon, y'a moyen de faire quelques légères optimisations...

Sinon Mystère, je l'avais testé ton morpion, j'avais eu du mal à le prendre en main. C'est assez original comme façon de voir le problème, j'ai bien aimé.

28

Ah oué c'est tétaintéta.