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 
 
Google_AdSense



Publicité    



 
coc5
Avatar

Autorisation : Membre
Nb de messages : 891
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

----------------------
Ne cliquez pas ici !
 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 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 891
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 ?

----------------------
Ne cliquez pas ici !
 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 : 891
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

----------------------
Ne cliquez pas ici !
 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 : 768
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 : 768
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 : 768
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 : 768
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 : 891
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...

----------------------
Ne cliquez pas ici !
 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
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 
 
Google_AdSense



Publicité    



 
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 : 3370
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 
 
Poster un nouveau sujet Poster une réponse Page: 1, , , ,      >>





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink