Bonjour, étudiant en Sciences de l'ingénieur j'ai pour projet de programme le jeu en garde :
Les Régles:
Le jeu est constitué de plusieurs éléments :
une pioche de 25 cartes (mélangées, face cachée) : 5 cartes pour chaque valeur entre 1 et 5 ;
une allée de 23 cases (de 1 à 23) ;
deux joueurs avec chacun une main d'au plus 5 cartes.
En début de manche, les adversaires se placent aux deux extrémités de l'allée (case 1 et 23), la pioche est mélangée et chaque joueur reçoit sa main de 5 cartes.
Un des deux joueurs est désigné au hasard pour commencer la première manche puis changera à chaque nouvelle manche.
Lors d'une manche, les joueurs jouent chacun leur tour, il n'y a pas de gestion temps-réel dans ce projet.
Pendant son tour, un joueur peut jouer une ou plusieurs cartes pour effectuer une et une seule action :
se déplacer (avancer ou reculer) : utilise une seule carte et déplace le joueur de la valeur de la carte. Si, en reculant, on sort du terrain alors l'action n'est pas autorisée ; il en va de même si, en avançant, on atteint ou dépasse la position adverse.
porter une attaque : il utilise une carte dont la hauteur correspond au nombre exact de cases séparant les deux adversaires. Dans ce cas, le joueur ne se déplace pas.
porter une attaque indirecte : il utilise une carte et une seule pour avancer (pas pour reculer) et une carte pour attaquer (du nombre de cases après déplacement). Il y a donc un vrai mouvement et une attaque (la position du joueur est modifiée).
A la fin de son tour, le joueur complète sa main à 5 cartes.
Toutes les cartes jouées sont défaussées en une pile dont la dernière carte est visible (sommet de la pile).
Les cartes de la pioche sont face cachée mais le nombre de cartes restant dans la pioche est connu à chaque instant.
Une manche se termine lorsque :
un joueur réussit à toucher son adversaire ;
un joueur ne peut plus effectuer d'action (mouvement ou attaque), il perd la manche ;
si aucun joueur n'a réussi à gagner la manche et que la dernière carte de la pioche est prise, il y a manche nulle, aucun des joueurs ne marque de point.
La partie se termine quand un des joueurs a remporté 5 manches.
Mon problème est que j'ai déjà réussi a programmer le terrain avec les fonctions avance recule etc... Mais je n'arrive pas a programme les carte j'ai les fonctions mais je ne comprend pas comment faire la pioche et la défausse voici les fonctions:
Fonction initialise(ppioche=None, pdefausse=None) : initialiser les différentes éléments (pioche, défausse),
Fonction melange(), pioche_carte(), longueur_pioche() : gérer la pioche (mélanger, piocher une carte, connaître la longueur de la pioche),
Fonction defausse_carte(pcarte), derniere_defausse() : gérer la défausse (défausser une carte, connaître la dernière carte défaussée),
Fonction affiche() : affiche des informations sur l'état des cartes, par exemple "lg pioche: 10, lg defausse: 4, derniere defausse: 3"
Fonction serialise() et deserialise(pchaine) : transforme les données du module en une chaîne de caractères pour la sauvegarde de partie.
Merci de votre aide
Partager