Poster un nouveau sujet Poster une réponse Page: 1,      >>
Reversi
Auteur Message
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Jeu 21 Jui 2007, 13:35   Citer 

Bonjour la communauté, je me demandais si quelqu'un serai capable de faire un reversi!
Je vois deja comment on peut le faire en rentrant les coordonnées dans une matrice !
Puis apres je ne sais pas comment faire pour maitre un pion au bon endroit c'est a dire en face de l'un de ces pions pour continuer!
Oué je sais je suis pas clair crazy.gif crazy.gif

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Jeu 21 Jui 2007, 13:55   Citer 

(On dit "mettre un pion" et pas "maître un pion")

C'est faisable.

Par exemple on peut construire un terrain (de la même manière dont j'ai fais mon démnieur d'ailleurs). On choisis la case ou on met le point etc...

Pour ta question, je pense qu'on peut faire qu'après la validation du posage de pion une identification des alentoures. Avec la position du piont en (B,A), 1 la présence d'un point à soi et 2 la présence d'un pion adverse.


Code
Getkey->K
If K=105:Then
For(I,-1,1
For(J,-1,1
J->H:I->L
Lbl 5
If (I or J) and [A](B+J,A+I)=2:Then
2I->I:2J->J
Goto 5
End
If[A](B+J,A+I)=1:Then
For(V,H,J
For(W,L,I
1->[A](V,W
End:End:End
End:End



Ou quelque chose comme ça glasses.gif crazy.gif

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Jeu 21 Jui 2007, 14:27   Citer 

Hum a vrai dire j'ai pas trop compris mais je pense que sa va !
[ oué je sais je suis toujours pas clair ] crazy.gif crazy.gif

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Jeu 21 Jui 2007, 14:43   Citer 

Tu t'y connais en programmation ?

Explication:

Getkey->K
i]Mettre dans K la valeur de la touche appuyé (O si aucun signal)[/i]

If K=105:Then
Si tu appuies sur [Enter]For(I,-1,1 Pour I de -1 à 1

For(J,-1,1
Pour J de -1 à 1J->H:I->L H prend la
valeur de J et L prend la valeur de I

Lbl 5
Debut de boucle n°5

If (I or J) and [A](B+J,A+I)=2:Then
Si I ou J existe (n'est pas égal à O quoi, pour éviter qu'il fasse le travail sur l'endoirt ou tu pose le pion) et la case où tu as poser le pion -décalé de J cases en hauteur et I cases de coté- comprend un pion adverse.

2I->I:2J->J
Alors le décalage est doublé par rapport à la position de départ.

Goto 5
Et on revient Au début de la boucle avec le nouveau décalage.

End
Fin de la condition If

If[A](B+J,A+I)=1:Then
Si quand il n'y a plus de point adverse on tombe sur un point à soi.


For(V,H,J
For(W,L,I

Alors pour [A](V,W) de la position du premier pion adverse identifié
autour du pion posé jusqu'au dernier pion adverse identifié,

1->[A](V,W
leur donner la valeur d'un pion à soi.


End:End:End
End:End
Fin de tout^^


Tu comprends mieux maintenant ?

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Jeu 21 Jui 2007, 14:56   Citer 

nan nan c'etait bon mais je savais pas comment l'integrer dans mon programme, c'est pour sa !

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Jeu 21 Jui 2007, 18:15   Citer 

Faut l'intégrer au moment où tu appuies sur enter pour mettre ton pion happy.gif

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Jeu 21 Jui 2007, 19:13   Citer 

Ok mais il est complet ?

Code
Getkey->K
If K=105:Then
For(I,-1,1
For(J,-1,1
J->H:I->L
Lbl 5
If (I or J) and [A](B+J,A+I)=2:Then
2I->I:2J->J
Goto 5
End
If[A](B+J,A+I)=1:Then
For(V,H,J
For(W,L,I
1->[A](V,W
End:End:End
End:End


Il fait aussi les diagonales ? Vers la droite puis vers la gauche ? Vers le haut puis vers le bas ?

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
Stupid



Autorisation : Membre
Nb de messages : 765
Inscrit le : Jeu 28 Sep 2006, 18:42
Posté le : Jeu 21 Jui 2007, 19:16   Citer 

il fait les diagonales mais n'affiche pas le pion ne gere pas le fait que tu pourrais etre au bout de l'écran et j'ai pas l'impression qu'il retourne tout les pions sur toute une ligne

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Jeu 21 Jui 2007, 19:19   Citer 

Enfet il verifi juste sur les lignes s'il y a deux fois le meme numero ?

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
Stupid



Autorisation : Membre
Nb de messages : 765
Inscrit le : Jeu 28 Sep 2006, 18:42
Posté le : Jeu 21 Jui 2007, 19:21   Citer 

je crois que ça transforme que le piuon d'a coté

en fait il faut que tu geres

-la verification d'un pion sur la meme ligne ou colonne
-donc il faut gerer la position des pions par rapport au minimum et au maximum de la matrice
-qu'en consequence ça retourne tout les pions et ça change leurs valeurs

c'est faisable mais c'est chaud et j'ai la flemme de faire un truc complet

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Jeu 21 Jui 2007, 19:25   Citer 

Mdr je te comprends, sa fait plus d'une heure que je suis sur la conversion des pions ! crazy.gif

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
Stupid



Autorisation : Membre
Nb de messages : 765
Inscrit le : Jeu 28 Sep 2006, 18:42
Posté le : Jeu 21 Jui 2007, 19:27   Citer 

si tu dit que le reversi fait 10 de longueur alors faut que tu fasses des boucles qui testent si sur 10-la position du pion y'ait un pion de la meme couleur et que sur la position du pion jusqu'à un ça fasse pareil.

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Jeu 21 Jui 2007, 19:31   Citer 

Le mien ne fait pas 10 sur 10 car 10/10 fait un rectangle sur l'ecran normal, alors j'ai pris 8/11 et ça a la forme d'un carré !

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
Stupid



Autorisation : Membre
Nb de messages : 765
Inscrit le : Jeu 28 Sep 2006, 18:42
Posté le : Jeu 21 Jui 2007, 19:33   Citer 

c'est que t'as pas les bonnes dimensions de la fenetre

et dans ce cas tu geres une fois le max c'est 11 et apre sle max c'est 8

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Jeu 21 Jui 2007, 19:43   Citer 

Oué c'est ce que je fais mais y'a une seul case qui marche correctement, tandis que les autres quand je veux mettre mon pion ça me met des pions un peu partout ! angry.gif

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Jeu 21 Jui 2007, 21:57   Citer 

y'a un truc que je comprends pas :

Code
For(S,X,7)
B+1->B
If [A](A,B)=1
Goto D
End
Goto 2
Lbl D
For(T,X,B)
1->[A](T,A)
End
Lbl 2


Sa devrai me mettre le pion au endroit indiqué mais nan sa m'en fou un de comme sa sur l'ecran et pas a l'endroit attendu !
Y'a un truc de faux dans la parti du programme ?

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Ven 22 Jui 2007, 10:01   Citer 

> Par rapport à ce que je écris ça gère l'identification dans tous les sens tant qu'il en y a et le retournement des pions. Vous auriez lu mon explication (on dirait qu'elle est pas claire^^) vous auriez compris. La seule choses non prise en compte c'est si le pion est sur le coté du plateau. Mais dans ces genres de jeu je met toujours une colonne en plus et une ligne de chaque coté.
Mais sinon c'est facile tu met d'abord la condition

Code

If A and B and A=/=11 and B=/=11:Then
[...]
End



Donc pas besoin de ton truc au dessus il est trop compliqué pour un truc simple et ne remplit pas les conditions( Contrairement à ce que vous avez dis ce que j'ai écris gère tout (en dehors des limites mais bon ) même les diagonales...

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Ven 22 Jui 2007, 14:42   Citer 

Pour retourner une ligne, il faut à chaque pion placé regarder sur la ligne, sur la colonne, en diagonal et puis, selon l'emplacement du pion de la même ligne, on enlève un à sa coordonnée si c'est en horizontal ou en vertical et on fait une boucle qui change les nombres de la matrice pour que ça devienne la même couleur.

Il n'y as pas forcément besoin de matrice pour faire ce prog, une liste peut faire le même effet.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Ven 22 Jui 2007, 15:43   Citer 

Oui mais avec une matrice c'est plus simple crazy.gif clown.gif

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Ven 22 Jui 2007, 17:50   Citer 

Plus simple? Je trouve pas.
Moi j'adore les liste et elle me le rendent bien.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Ven 22 Jui 2007, 17:51   Citer 

Oué mais comme c'est la premiere fois que j'utilise une Matrice [ la premiere fois que j'en voie l'utilité ! ] je la grade clown.gif

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
mad67



Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
Posté le : Lun 25 Jui 2007, 8:12   Citer 

en tout cas il faut faire un reversi
qui veut jouer le pigeon et le faire.

 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Lun 25 Jui 2007, 16:48   Citer 

J'aurais le temps je dirais oui mais là je pars^^
Pendant les vacnaces peut-être bigmouth.gif

mais si personne ne le fait alors happy.gif

 Adresse email Haut de page Bas de page 
 
Stupid



Autorisation : Membre
Nb de messages : 765
Inscrit le : Jeu 28 Sep 2006, 18:42
Posté le : Lun 25 Jui 2007, 17:10   Citer 

je vais essayer mais si j'y arrive je le posterais en exclu sur mon fofo

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Lun 25 Jui 2007, 17:53   Citer 

Bon je crois que je vais être obligé de le faire.

Sangohan38

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Lun 25 Jui 2007, 18:01   Citer 

A 2 ou contre la calculette ?

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Lun 25 Jui 2007, 18:03   Citer 

Ce sera un jeux à deux joueurs.
Cependant si l'envie me prend, je ferais une IA.

Sangohan38

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Lun 25 Jui 2007, 18:04   Citer 

Nan merci.

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
mad67



Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
Posté le : Mar 26 Jui 2007, 9:47   Citer 

non categorique je fais autre chose qui sera plus interressant

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Mar 26 Jui 2007, 11:29   Citer 

Bon, je vous le fait si j'ai le temps. C'est pas bien compliqué.

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
mad67



Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
Posté le : Mar 26 Jui 2007, 12:00   Citer 

oui mais il ne faut pas jouer les pigeons.

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Mar 26 Jui 2007, 12:04   Citer 

C'est à dire ?

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
mad67



Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
Posté le : Mar 26 Jui 2007, 12:05   Citer 

il demande un prog et tu le lui fait sa s'appelle se faire pigeonner.

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mar 26 Jui 2007, 13:42   Citer 

Pour ceux qui sont en manque d'inspiration, ce n'est pas se faire pigeonner.
Et puis cette expression veut dire que tu le fait sans le vouloir ce qui n'est pas le cas ici.

Sangohan38

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Mar 26 Jui 2007, 14:22   Citer 

Pourquoi t'as effacé mon "Glou Glou" ? C'était pas du flood !!

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mar 26 Jui 2007, 16:06   Citer 

Marquer seulement glouglou est du flood.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Mar 26 Jui 2007, 20:59   Citer 

Salut la compagnie, j'espere que ce n'est pas moi qui est demandé de faire un reversi, j'ai juste demandé conseil !

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mer 27 Jui 2007, 9:58   Citer 

On avait mal compris.
Dis tes problèmes pour que t'on aide.

Sangohan38

 Adresse email Haut de page Bas de page 
 
mad67



Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
Posté le : Mer 27 Jui 2007, 10:10   Citer 

je me disait bien que tu n'etais pas comme pmdej qui demande des prog a tord ou a travers

 Adresse email Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Mer 27 Jui 2007, 20:37   Citer 

Je voulais savoir comment faire pour detecter les pions et les retourner facillement, un ami a utilisé " Cos " dans sa formule je ne sais pas si vous connaissez !

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
Stupid



Autorisation : Membre
Nb de messages : 765
Inscrit le : Jeu 28 Sep 2006, 18:42
Posté le : Mer 27 Jui 2007, 21:00   Citer 

crazy.gif cosinus crazy.gif

il doit utiliser le graph et la fenetre de base, parce que je vosi vraiment pas l'utilité

 Adresse email Haut de page Bas de page 
 
ratuss



Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Jeu 28 Jui 2007, 2:02   Citer 


Citer
je vosi vraiment pas l'utilité



oui moi non plus extraterre.gif ...

----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Jeu 28 Jui 2007, 7:20   Citer 

Cosinus pour retourner un pion?
Envois son code pour voir.

Sangohan38

 Adresse email Haut de page Bas de page 
 
mad67



Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
Posté le : Jeu 28 Jui 2007, 9:35   Citer 

oui sa me parait bizzare.

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Jeu 28 Jui 2007, 11:19   Citer 

Pour savoir de quel couleur est un pion, tu utilise Pxl-Test.

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Jeu 28 Jui 2007, 15:31   Citer 

Pas forcément, si tu utilise des listes ou matrices, tu teste le nombre.

Sangohan38

 Adresse email Haut de page Bas de page 
 
CaRLiTo
Invité
Posté le : Jeu 28 Jui 2007, 16:40   Citer 

Bonjour à tous, je suis "l'ami de gui958 qui a utilisé cosinus" (et sinus). Je ne sais pas si c'est la meilleure façon mais voilà la partie de mon code où j'utilise cosinus et sinus...
La variable A représente la position verticale du pion que l'on pose, sur un damier de 8 sur 8 et B la position horizontale. La matrice [J] de 8 sur 8 représente le damier, 0 correspond à une case vide, 1 à un pion noir et -1 à un pion blanc. J est la variable qui correspond au joueur qui joue (noir : 1 ou blanc : -1).

Code

Radian

[...]

0->dim(LREVER)
9->dim(LREVER)   [inutile dans cette fraction de code, mais utile plus loin]
0->dim(LREVE2)
9->dim(LREVE2)   [idem]
For(E,0,7)
-arrondi(sin(E(pi)/4),0)->C
arrondi(cos(E(pi)/4),0)->D
0->F
Lbl 3
F+1->F
If abs(A+CF-4.5)=4.5 ou abs(B+DF-4.5)=4.5   [afin d'être sûr de ne pas être en-dehors des limites de la matrice, auquel cas le prochain IF produirait une erreur "DIM INVALIDE"]
Goto 4
If [J](A+CF,B+DF)=-J
Goto 3
If [J](A+CF,B+DF)=J et F><1
Then
E->LREVER(G)
F-1->LREVE2(G)
G+1->G
End
Lbl 4
End

[...]



A la fin de cette fraction de code, si G = 1, cela signifie que le joueur ne peut pas jouer cette case. Sinon, les positions des pions qui doivent être retournés sont déterminées grâce aux listes LREVER et LREVE2. La suite de mon code consiste à les retourner, toujours à l'aide de cosinus, sinus et ces deux listes.

  Haut de page Bas de page 
 
Gui958



Autorisation : Membre
Nb de messages : 31
Inscrit le : Sam 26 Mai 2007, 23:15
Posté le : Jeu 28 Jui 2007, 16:49   Citer 

Le programme marche tres bien car je l'ai utilisé hier, j'ai perdu contre Carlito ! cry.gif crazy.gif

----------------------
Longue vie a la Programmation !!
 Adresse email Haut de page Bas de page 
 
Stupid



Autorisation : Membre
Nb de messages : 765
Inscrit le : Jeu 28 Sep 2006, 18:42
Posté le : Jeu 28 Jui 2007, 18:37   Citer 

ok il utilise le cercle trigonométriaque

1pi/4=45° 2pi/4=90° etc...

astucieux

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Jeu 28 Jui 2007, 22:20   Citer 

Fallais y penser.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse Page: 1,      >>





  Page générée en 6 requêtes