Boujour tout le monde je suis nouveau ici^^! j'aurai aimé savoir si quelqu'un pourai m'aider pour un jeux de morpion. j'ai un peu des difficultées et sa m'interesse de savoir comment on peut en faire un tout banal rien que pour commencer, avec 2 joueur qui joue par le clavier ou par la souris. SI quelqu'un a déjà un programm écrit ou si sa ne le dérange pas de le faire puis de me l'envoyier a mon adresse de messagerie (Mail: speeb@hotmail.com), je lui srai reconnaisant. Sinon j'aurrai besoin d'aide mais j'ésite d'ouvrire un nouvel article ou de poser la question dirrectement ici.
- Si jamais quelqu'un qrrive a m'apporter un réponce à ce problème "fouineux" je lui en serai très reconnaicant. et merci d'avance
"on désire représenter un jeu de dames.
Pour jouer aux dames, on utilise un plateau carré de 10x10 cases. Seules les cases noires sont utilisée pour déposer les pièces.
Les pièce du jeu se composent de 20 pions blanc et de 20 pions noirs que chaque joueur dispose sur les quatre rangées devant lui (5 pions par rangée)
Lasqu'un pion arrive à traverser le jeu, il est ptomu dame le but du jeu est de manger toutes les pièces de l'adversaire.
Les autres régles du jeu ne sont pas tenue en vigeure
on nous demande de
- d'écrire les déclarations ada nécéssaire é la représentation du plateau de jeu.
je pense qu'il sagit ( de type énumératif, tableau, article,...)
- d'écrire une variante dans laquelle on représente les pièces du jeu et non le damier.
faire un (ou plusieur) tableau pour mémoriser les position des pièces et leurs caractéristiques
-d'écrire une procédure permettant de positionner les pirèce pour le début de la partie. il faut précisez si on utilise la première ou la deuxième variante du jeu.
- et pour finir il faut écrire une fonction permettant de compter le nombre de pièces blanches encore en jeu en précisant si on veu toujour utiliser la première ou la deuxième variante.
voila donc vous me comprenez maintenant si j'ai des problèmes!!! et merci encore d'avoir pris de l'attention a lire cette article et de me répondre sur mon mail... et bonne vacance a tous
__________________________
ADA 4 life^^
J'ai enfin réussit le jeux de morpion, merci a tout ceux qui on lu l'article, mais j'arrive toujour pas le problème qu'on ma posé. Quelqu'un arriverai a m'aider plz sa m'aiderai beaucoup! j'attend vos réponce les pros d'ada^^
__________________________
ADA 4 life^^
J'ai fait le tableau 10X10 mais j'arrive pas a utiliser que les cases noires. et je ne sais pas comment atribuer les fonctions pour les pièces.
__________________________
ADA 4 life^^
ah oui, exact et je me souvenais plus des règles donc j'étais m'instruire
Alors, j'ai pensé à plusieurs possibilités.
La première :
on suppose que les pièces se trouvent sur une case noire ( donc bien placé ) et on fait un tableau qui regroupe les position des cases noires
indice 0 : abscisse de la première case
indice 1 : ordonné de la première case
indice 2 : abscisse de la deuxième case
indice 3 : ordonné de la deuxième case
etc......
mais trop compliqué
La deuxième :
on suppose que les pièces se trouvent sur une case noire ( donc bien placé )
et pour chaque déplacement on teste :
je ne sais pas comment est représenté ton tableau, je vais supposé qu'il est de ce type :
joueur 1
abscisse 1 2 3 4 5 6 etc.....
ordonnee 1
2
3
etc
joueur 2
pour le joueur 1 :
si abscisse_depart +1 = abscisse_arrivee ET
( ordonne_depart +1 = ordonne_arrivee OU
ordonne_depart -1 = ordonne_arrivee ) alors le déplacement est bon
pour le joueur 2 :
si abscisse_depart -1 = abscisse_arrivee ET
( ordonne_depart +1 = ordonne_arrivee OU
ordonne_depart -1 = ordonne_arrivee ) alors le déplacement est bon
comme ceci, tu joueras obligatoirement sur les cases ou tu auras positionné tes pièces au départ.
Il faut juste rajouter les tests pour voir si on ne sort pas du plateau de jeu.
Bien sur, ces mouvements sont justes pour les pieces de départ, pour les dames il faut faire un mode de déplacement spécifique qui prend en compte les deux formules de déplacement que je t'ai mises plus haut ( elle peut se déplacer dans les deux sens ) et aussi le fait qu'elle se déplace de plusieurs cases !!!!
bref voila, si tu as besoin d'autres éclaircissement, n'hésite pas
__________________________
Merci je trouve très bonne ton idée, sa ma fait pas mal avancé mais sa se complique vachement après pour les tests et pour une dame encore plus. c'est simpa de te part de m'aider, t'est un boss merci. Mais comment on fait un test??? je sais trouve nul part ou il explique sa dans mon livre
__________________________
ADA 4 life^^
ohh non je ne suis pas un boss en ADA, je me débrouille un peu quand je peux programmer avec Adagide...mais quand faut programmer sous Linux avec Emacs, grosse galère !!!
Comment cela, tu n'as pas trouvé dans ton livre ? c'est quel livre ?
quand je dis tests, j'entends par là, utiliser une instruction conditionnelle à l'aide d'un if.
exemple :
if ( joueur = 1 ) then
if (abscisse_depart = abscisse_arrivee -1) and
((ordonne_depart = ordonne_arrivee -1) or (ordonne_depart = ordonne_arrivee +1)) then
--code pour bouger la pièce
else put("mouvement impossible");
end if;
else if (abscisse_depart = abscisse_arrivee+1) and (( ordonne_depart = ordonne_arrivee -1 )or (ordonne_depart = ordonne_arrivee+1) ) then
--code pour bouger la pièce
else put("mouvement impossible");
end if;
end if;
en effet, ce que je t'ai mis dans le message d'avant, à savoir :
pour le joueur 1 :
si abscisse_depart +1 = abscisse_arrivee ET
( ordonne_depart +1 = ordonne_arrivee OU
ordonne_depart -1 = ordonne_arrivee ) alors le déplacement est bon.
pour le joueur 2 :
si abscisse_depart -1 = abscisse_arrivee ET
( ordonne_depart +1 = ordonne_arrivee OU
ordonne_depart -1 = ordonne_arrivee ) alors le déplacement est bon
équivaut a :
pour le joueur 1 :
si abscisse_depart = abscisse_arrivee -1 ET
( ordonne_depart = ordonne_arrivee -1 OU
ordonne_depart = ordonne_arrivee+1 ) alors le déplacement est bon
pour le joueur 2 :
si abscisse_depart = abscisse_arrivee +1 ET
( ordonne_depart = ordonne_arrivee -1 OU
ordonne_depart = ordonne_arrivee +1) alors le déplacement est bon
attention : a respecter les parenthèses !!! et il ne faut pas oublier le cas du bord du plateau !!!
__________________________
je viens de voir, ca complique surement un peu le cas de la dame, mais pour y remédier c'est assez simple.
Si la pièce est un pion, tu fais un truc simple comme la solution que j'ai pensé
mais Si la pièce est une dame, tu fais un truc un peu compliqué, mais qui reprend le principe du déplacement des pions !! genre, si tu bouges ta dame, elle doit bouger d'autant de cases en abscisse qu'en ordonnée ( exemple : ta dame est en 3/5, si elle avance de 2 cases en abscisse, elle sera soit en 5/3 ou en 5/7 ) et en faisant cela elle sera obligatoirement sur une case de la même couleur que sa case de départ et hop problème résolu, il reste toujours à gérer le cas du bord du plateau !!
__________________________