Demande programmation d'un jeu échec aux règles spéciales - Divers - Programmation
Marsh Posté le 11-12-2015 à 16:04:14
> écrire un programme pour permettre à deux joueurs de s’affronter selon ces règles, en local, ça me parait de l’ordre du possible, non
Il n'y a rien de compliqué dans ce que tu demandes, c'est juste que c'est quelque chose qui demandera du temps (a vue de nez, une semaine pour un développeur spécialisé jeux, qui a déjà tous les morceaux (code pour gérer l'affichage d'un jeu d'échec, idem pour un jeu de carte, idem pour la communication réseau), un mois ou plus à un développeur expérimenté non spécialisé jeux qui part de zéro et trois mois ou plus à des débutants) donc ça gratos, ça me semble croire au père noël (bon d'accord, c'est la saison)
Vaudrait mieux trouver un prof d'info qui le propose a ses étudiants comme projet de fin d'année.
A+,
Marsh Posté le 11-12-2015 à 15:20:49
Bonjour,
Moi même je n'y connais rien en programmation, je n'ai jamais appris les langages etc. Je serais donc incapable de réaliser le projet que j'ai en tête ; mais peut être l'un d'entre vous, programmeurs en herbe, pourriez me programmer le jeu que j'ai imaginé ? Je sais que ça prends du temps, mais ça ne me semble pas infaisable.
Il s'agit d'un mix entre un jeu d'échec et un jeu de cartes à jouer. En voici les règles :
1) Préparation du jeu
On installe les pièces d’échecs comme sur un échiquier normal.
On bat un jeu de 34 cartes. 4 cartes sont distribuées à chaque joueur, et le reste forme un paquet que l’on place à côté de l’emplacement de la défausse.
Les blancs commencent.
2) But du jeu et déplacement des pièces.
Les pièces se déplacent comme aux échecs traditionnelles.
La différence majeure avec les échecs est que la victoire s’obtient lorsque le Roi est mangé. Un joueur peut, s’il le désire, effectuer un déplacement qui met son propre Roi en position d’échec.
Les coups spéciaux, du genre la Roque, ne sont pas autorisés.
Lorsqu’un pion arrive sur la dernière ligne de l’échiquier, il se transforme en une pièce du choix du joueur.
3) Les cartes
Jouer une carte est nécessaire pour pouvoir faire un déplacement. Lorsqu’on joue une carte, on la place dans la pile de défausse, puis on effectue son tour de jeu et on finit son tour par piocher une carte pour remplacer celle que l’on vient de poser. Les possibilités offertes par les cartes sont les suivantes :
Le 7 : déplacement d’un pion.
Le 8 : déplacement d’un cavalier
Le 9 : déplacement d’un fou
Le 10 : déplacement de deux pions. ( Donc deux pièces sont autorisées à se déplacer en un tour )
Le valet : déplacement d’une tour.
La Reine : déplacement de la Dame
Le Roi : déplacement du Roi
L’As : déplacement d’une pièce de son choix + un autre déplacement d’une pièce de son choix, à condition que celle-ci ne mange aucune pièce adverse.
Le Joker : déplacement de deux pièces de son choix. A la fin du tour, le joueur pioche deux cartes, conserve celle qu’il désire et défausse l’autre.
4) Possibilités lors d’un tour.
Le joueur peut soit :
1) Jouer une carte, effectuer son ( ou ses ) déplacement(s), piocher une carte : le nombre de cartes dans la main ne varie donc pas.
2) Se défausser de deux cartes de son choix, piocher un carte, jouer une carte, effectuer son ( ou ses ) déplacement(s) et piocher une carte à la fin de son tour : le nombre de carte dans la main diminue de 1.
NB : cette action est utile lorsque le joueur n’a rien d’intéressant à jouer en main, ou bien qu’il veut se débarrasser de cartes qui ne lui servent plus, par exemple se débarrasser de ses valets si toutes ses tours ont été mangées. Si, malgré la carte piochée en début de tour, le joueur ne peut rien jouer, il passe son tour.
3) Passer son tour et piocher une carte : le nombre de cartes dans la main augmente de 1.
Le nombre maximal de cartes que l’on peut avoir dans la main est de 7. Un joueur ne peut pas piocher si cela lui fait dépasser cette limite.
5) Épuisement du paquet
Lorsque le paquet est épuisé, on mélange la défausse et elle constitue le nouveau paquet de carte.
A chaque fois que le paquet est renouvelé, chacun des deux joueurs reçoit « gratuitement » une carte en plus, augmentant le nombre de cartes dans la main de 1.
NB : cette règle est faite car plus la partie avance, plus des pièces sont mangées, et donc plus il y a de chance de piocher des cartes « qui ne servent à rien », d’où l’intérêt d’avoir un plus grand nombre de cartes pour avoir plus de choix, ou bien pour pouvoir faire l’échange des deux cartes VS une piochée en début de tour.
6) Fin du jeu
Le jeu se termine lorsqu’un Roi est mangé, ou bien qu’un des joueurs déclare forfait.
Voilà j’ai testé ce jeu, c’est vraiment très drôle, ça rajoute de l’aléatoire et ça rend chaque partie « unique », on sort carrément des stratégies pré-conçues, genre le coup du berger etc.
Bien sûr,pour un tel jeu je ne demande que des graphismes simples, et sans génération d’IA, je sais bien que programmer une IA c’est un travail titanesque, mais écrire un programme pour permettre à deux joueurs de s’affronter selon ces règles, en local, ça me parait de l’ordre du possible, non ? Moi je ne m’y connais clairement pas assez...
Et ensuite, le nec+ultra, ça serait de pouvoir faire en sorte de pouvoir jouer en ligne avec son adversaire.
J’ai pensé à un truc, ça serait de créer un document Excel en ligne, avec un truc genre « google docs » ou autre. Ce document, qui serait réinitialisé à chaque partie, contiendrai l’ordre des cartes dans le paquet de cartes, et l’historique de tous les coups joué. Ainsi, quand un joueur jouerai un coup, cela mettrai à jour le doc, et l’autre joueur, sur son logiciel, recevrait les nouvelles données ( quelle carte a été jouée, quelle pièce a été déplacée , sur quelle case etc. ) et ainsi de suite jusqu’à la fin de la partie.
Alors l'un d'entre vous serait capable de me programmer ce petit Software ?
Et, si je me suis trompé de forum, pourriez vous m'indiquer sur quel forum il vaudrait mieux que j'adresse ma requête ?
Merci