π
<-

[W.I.P.] Puissance 4 pour CAS

Pour le TI-Basic sur Nspire

Re: [W.I.P.] Puissance 4 pour CAS

Unread postby charognard » 14 Dec 2008, 18:59

persiste !! :;):
User avatar
charognard
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 81.8%
 
Posts: 869
Joined: 18 Oct 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: sans

Re: [W.I.P.] Puissance 4 pour CAS

Unread postby Levak » 14 Dec 2008, 23:52

Up

Bon on va laisser de côter la partie esthétique :#fou2#:
J'ai a moitié finit la partie de contrôle des pièces, en fait il me reste à faire les contrôle des diagonales.
Il contrôle donc les horizontales et les verticales
:):

quelques shoots:
 
Show/Hide spoilerAfficher/Masquer le spoiler
Image
Image
Image
Image
Image

[[ Le Programme
hope you enjoy :#coucou#:
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: [W.I.P.] Puissance 4 pour CAS

Unread postby Adriweb » 15 Dec 2008, 06:47

vraiment bien :D

je telecharge :P



par ailleurs, le lien est "

http://levak.ifrance.com/prgm/files/puissance4_v2.tns

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [W.I.P.] Puissance 4 pour CAS

Unread postby Levak » 15 Dec 2008, 12:44

Merci ^^

Oui j'ai volontairement retiré l'extension, car j'ai déjà eu des problèmes avec les liens directs vers des fichiers avec Ifrance, venant d'un autre site....

Bref j'ai commencé le contrôle des diagonales et j'ai quelques peu de mal à m'organiser dans les for et while

Je m'explique:
Pour contrôler les horizontales et verticales j'opère en incrémentant une variable chaque fois qu'il trouve que m[i,x] et égale à la pièce que l'on vient de poser et sort lorsqu'il n'y a plus de correspondance. Le i s'incrémente avec un For i,y+1,5 etc... pour tous les cas..(en changenant les paramètres bien sur)

Le problème c'est qu'en diagonales, il faut incrémenter deux variables, i1 et i2 pour les X et Y de la matrice, or en PHP c'est facile, le For permet l'incrément et le contrôle de plusieurs variables, mais ça ne l'est pas pour les TI :(:
Je suis pose qu'il faut abandonner le For et passer au While ? :#roll#:
Ou alors une petite parade en mettant deux for l'un derrière l'autre ? un while et un for derrière ? :#gol#:

Quelqu'un a-t-il une idée de comment faire ceci dans le meilleur du monde? :D:

@+
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: [W.I.P.] Puissance 4 pour CAS

Unread postby charognard » 15 Dec 2008, 15:42

For i1=XX to YY
i2=i2+1
...
next i1
User avatar
charognard
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 81.8%
 
Posts: 869
Joined: 18 Oct 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: sans

Re: [W.I.P.] Puissance 4 pour CAS

Unread postby Bisam » 15 Dec 2008, 18:48

Quand tu parcours une diagonale, tu pars d'une origine (x0,y0) puis tu incrémentes en même temps x et y ou bien tu incrémentes x en décrémentant y. Dans les 2 cas, tu n'as besoin que d'un seul compteur pour cela... donc une seule boucle for !
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: [W.I.P.] Puissance 4 pour CAS

Unread postby Levak » 15 Dec 2008, 20:35

Bisam wrote:Quand tu parcours une diagonale, tu pars d'une origine (x0,y0) puis tu incrémentes en même temps x et y ou bien tu incrémentes x en décrémentant y. Dans les 2 cas, tu n'as besoin que d'un seul compteur pour cela... donc une seule boucle for !


J'effectue la vérification par rapport à la pièce posée, qui à pour coordonnées (x,y) avec le plus souvent x et y différents, donc je suis obligé d'incrémenter deux variables...

Charognard j'ai pas compris ta technique, il manque pas des instructions dans la fonction ?

Merci encore

Amicalement, Levak

@+
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: [W.I.P.] Puissance 4 pour CAS

Unread postby Bisam » 16 Dec 2008, 09:40

Mais, je ne comprends rien à ce que tu racontes !!

Si tu as un point de coordonnées (x0,y0) et que tu veux vérifier les diagonales incluant ce point, il suffit de parcourir les points (x0+1,y0+1) puis (x0+2,y0+2) etc... pour la diagonale dans un sens et (x0+1,y0-1) puis (x0+2,y0-2) etc... dans l'autre sens !
Tu n'as besoin que d'un seul compteur pour parcourir la diagonale.

En revanche, tu as probablement besoin d'un 2ème compteur pour tester les différentes origines possibles de ta diagonale (au maximum 7 origines possibles pour diagonales passant par (4,4) (4,5) et (4,6))
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: [W.I.P.] Puissance 4 pour CAS

Unread postby Levak » 16 Dec 2008, 20:17

Non ce n'est pas comme cela que je procède:

Je prends comme point de départ les coordonnées de la pièce qui vient d'être placée, x et y
voici comment est affiché la matrice sur la calto:
[tableborder=1]1234567" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""O"" "" "" "" "" "" ""H""O"" "" "" "" "" ""H""H""O""H"" "" "" ""H""O""O""O""H"[/table]
La pièce O en marron à pour coordonnées dans la matrice à n lignes et p colonnes M[n,p]; M[5,4]

Voilà la partie du code concernée: 
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all

....
(c) diagonale 1        (haut gauche vers bas droit)
xy1plus:=1             (indicateur, vous verrez après)
i2:=y-1                   (indice des ordonnés)
i:=x-1                     (indice des abscisses)

                     (on vérifie vers le haut)
While i21 and i0
 If m[i2,i]=m[y,x] Then
  xy1plus+1 - xy1plus
 Else
  i:=0:i2:=1 (on sort de la boucle)
 EndIf
 i2-1 - i2 : i-1 -i     (on décrémente manuellement)
EndWhile
          (on vérifie dans l'autre sens, vers le bas)
i2:=y+1
i:=x+1
While i28 and i8
 If m[i2,i]=m[y,x] Then
  xy1plus+1 - xy1plus
 Else
  i:=7:i2:=7   (on sort de la boucle)
 EndIf
 i2+1 - i2 : i+1 -i
EndWhile

If xy1plus=4 Then
 If m[y,x]=fix2 Then   (fix2 c'est la pièce du joueur 2 définie dans le prog parent)
  message:="Le joueur 2 à gagné !"
 Else
  message:="Le joueur 1 à gagné !"
 Endif
Else
(encore rien mis comme protection, d'ailleurs ça sert à rien ici)
EndIf

(c) diagonale 2        (bas gauche vers haut droit)
xy2plus:=1            
i2:=y+1                  
i:=x-1                   

                     (on vérifie vers le bas)
While i28 and i0
 If m[i2,i]=m[y,x] Then
  xy2plus+1 - xy1plus
 Else
  i:=0:i2:=7 (on sort de la boucle)
 EndIf
 i2+1 - i2 : i-1 -i    
EndWhile

          (on vérifie dans l'autre sens, vers le haut)
i2:=y-1
i:=x+1
While i21 and i8
 If m[i2,i]=m[y,x] Then
  xy2plus+1 - xy1plus
 Else
  i:=7:i2:=2   (on sort de la boucle)
 EndIf
 i2+1 - i2 : i+1 -i
EndWhile

If xy2plus=4 Then
 If m[y,x]=fix2 Then  
  message:="Le joueur 2 à gagné !"
 Else
  message:="Le joueur 1 à gagné !"
 Endif
Else
EndIf
....

De toutes façon j'ai réglé mon problème en prenant tout simplement une boucle While et en vérifiant les deux varaibles i et i2 pour pas sortir du tableau et pas provoquer d'erreurs.

Je ne post pas la nouvelle version car il y a quelques petits réglages à faire pour le rendre plus sécurisé et régler un p'tit problème que je sais résoudre.

@+ et merci pour vos réponses !
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: [W.I.P.] Puissance 4 pour CAS

Unread postby Levak » 17 Dec 2008, 00:31

Up
J'ai sécurisé la partie de contrôle, mais il reste juste à empêcher le joueur 2 de jouer lorsque le joueur 1 à gagné, et inversement, très facile mais je suis fatigué.
J'ai par ailleurs eu la surprise d'une chose que je ne connaissais pas avant sur l'OS 1.4 de la TI Nspire CAS, c'est qu'elle reboot de temps à autre, surement lorsque le cache est trop gros pour elle... bref j'ai du refaire toutes les modifs que j'ai apporté aujourd'hui xD

un ptit screen pour la route:
Image

[| TÉLÉCHARGER MOI !
Je n'ai toujours pas trouvé comment retirer le "Terminé" qui s'affiche à la fin, et est-il possible de créer ses propres erreurs, pour demander au joueur x de jouer ?

Autre question encore:
Est-il possible de vider l'écran par l'intermédiaire d'une fonction ? car je connais [menu] [Action] [Effacer l'historique], mais cela ne marche que en direct, j'ai pas trouvé l'équivalent pour un programme.

@+ !
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)

PreviousNext

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.
929 utilisateurs:
>894 invités
>28 membres
>7 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)