Home
PROJET Puissance 4
Contents
1. compte rendu son principe de fonctionnement teste si la fin de partie est atteinte en utilisant les expressions regulieres define p4 end lambda plateau let p chaine plateau plateau cond or regexp match regexp XXXX p regexp match regexp X Keit KAL REES X p regexp match regexp X R iya Nine es X p regexp match regexp X gt OERE gt OE X p X or regexp match regexp OOOO p regexp match regexp O 0 PRE Oise O p regexp match regexp O Or Os O p regexp match regexp O Orne Os o p O and 6 first liste pieces plateau apply liste pieces plateau nul 21 4 6 Joueur humain et ordinateur Programmer une fonction joueur humain qui demande au joueur une colonne qui v rifie que la colonne rentr e est valide et qui appelle la fonction joue jeton De m me crire une fonction joueur ordi qui jouera l ordinateur partir des listes de coups potentiels rendues par la fonction p4 enfants Pour une premi re tentative vous pouvez faire jouer l ordinateur au hasard mais il est tr s simple d am liorer cette fonction
2. Universit du Littoral Master 1 PROJET Puissance 4 Le but de ce projet est de r aliser un programme permettant l utilisateur de jouer au Puissance 4 contre l ordinateur 1 Travail Rendre Le travail peut tre effectu en bin me Vous devez rendre le code source de votre programme Pour chacune des fonctions vous indiquerez dans l ent te une description rapide de l action de la fonction le type du r sultat qu elle retourne ainsi que le type et le r le des arguments En plus de cela vous joindrez un rapide mode d emploi pr sentant votre programme et pr cisant comment il fonctionne Une bonne d composition de la programmation sera prise en compte 2 Introduction Tir de De http fr wikipedia org wiki Puissance 4 Puissance 4 est un jeu de strat gie combinatoire abstrait commercialis pour la premi re fois en 1974 par la Milton Bradley Company plus connue sous le nom de MB et d tenue depuis 1984 par la soci t Hasbro Le but du jeu est d aligner 4 pions sur une grille comptant 6 rang es et 7 colonnes Chaque joueur dispose de 21 pions d une couleur par convention en g n ral jaune ou rouge Tour tour les deux joueurs placent un pion dans la colonne de leur choix le pion coulisse alors jusqu la position la plus basse possible dans ladite colonne et c est ensuite l adversaire de jouer Le vainqueur est le joueur qui r alise le premier un alignement horizontal vertica
3. e m me crire une fonction liste pieces retournant la seconde partie d un plateau gt liste piece p4 start 0000000 3 crire une fonction liste ref permettant d acc der au i l ment d une liste pass e en param tre 4 2 Gestion du plateau Nous allons avoir besoin d acc der aux diff rents l ments du plateau Dans cette partie vous aurez besoin de la fonction pr d finie string ref retournant le ifcaract re d une cha ne Attention en Racket les cha nes commencent l indice 0 gt string ref abcde 2 c 1 La premi re fonction dont nous aurons besoin est une fonction retournant la position dans la cha ne de caract res de la variable plateau d un l ment connaissant sa ligne et sa colonne crire une fonction position piece chaine retournant la position dans la cha ne de caract res d un l ment connaissant sa ligne et sa colonne gt position piece chaine 1 1 40 gt position piece chaine 6 1 0 Ceci indique que le jeton la 6 ligne 1 colonne est la position 0 dans la cha ne de caract res du plateau 2 crire une fonction plateau caractere fonction 3 param tres retournant le caract re situ la ligne et la colonne pass es en param tre gt plateau caractere p4 start 2 3 space Cette fonction retourne donc soit le caract re espace soit X soit O 3 en utilisant la fonction pr c dente crire une fonction piece a fonction 3 param t
4. l ou diagonal d au moins quatre pions de sa couleur Si alors que toutes les cases de la grille de jeu sont remplies aucun des deux joueurs n a r alis un tel alignement la partie est d clar e nulle Depuis 1988 il est tabli suite l analyse informatique exhaustive du jeu que le joueur qui commence la partie gagnera toujours s il joue les coups ad quats De nos jours un certain nombre de programmes informatiques sont capables de jouer parfaitement Puissance 4 et donc de gagner syst matiquement d s lors qu ils entament la partie Les plus connus sont Mustrum 4 in a row lorsqu il est r gl au niveau infini Four or more Velena Vianiato ConnectFour3D TitOT ou encore Conny Hormis Vianiato et Conny ils sont tous t l chargeables gratuitement partir d internet Le jeu peut sembler simpliste au premier abord car il est possible de pr voir sans l aide d un ordinateur un grand nombre de coups pour ainsi gagner la partie Cependant il faut compter avec les d cisions de l adversaire Le principe de base est de placer les jetons de pr f rence dans la colonne centrale Tout jeton dans celle ci peut former un grand nombre de lignes dans diverses directions en longueur et aussi retirer du m me coup cette possibilit l adversaire Je vous conseille galement pour bien vous impr gner du principe du jeu si vous n y avez jamais jou de faire quelques parties en lignes l adresse suivante http jeu
5. odifier le i me l ment d une liste gt modif 1 2 3 4 5 2 8 1 8 3 4 5 et la fonction symbol gt chaine qui permet de transformer respectivement le symbole X ou O en la cha ne X ou O gt symbol gt chaine X yn gt symbol gt chaine 0 o 11 16 4 3 Validit d un coup Ecrire une fonction mouvement valide qui pour un plateau pass en param tre retourne l ensemble des mouvements valides c est dire l ensemble des colonnes o on peut d poser un jeton gt mouvement valide p4 start 234567 Ceci indique que l on peut d poser un jeton dans les colonnes 1 7 4 4 Calcul des coups potentiels crire une fonction p4 enfants qui retourne une liste de tous les plateaux enfants qui peuvent r sulter d un mouvement valide Vous avez tout int r t utiliser la fonction map pour cette fonction Cette liste de coups nous permettra de d cider de la strat gie de l ordinateur gt p4 enfants p4 start X CC l l l l IX 1 0 0 0 O O 0 G l l l l X 010000 0 G l l l l X 001000 0 c l l l l xXx 000100 0 G l l l l l x 0 0 0 0 1 O 0 c l l l l l x 00000 1 0 c l l l l l x 000000 1 Ceci indique qu l tat initial le joueur X peut jouer dans toutes les colonnes 1 7 4 5 Tests de fin de partie La fonction suivante p4 end teste si la fin de partie est atteinte pour un plateau donn Etudier la et expliquer sur votre
6. res qui retourne la pi ce situ e aux rang et colonne pass s en param tre Cette fonction retourne soit X soit O ou vide gt piece a p4 start 2 3 vide 4 la fonction suivante est le c ur de la gestion du plateau Elle retourne le plateau modifi apr s l ajout d un jeton une colonne donn e Vous aurez galement besoin des fonctions interm diaires suivantes substring qui retourne une portion d une cha ne de caract res entre 2 indices gt substring abcde 0 2 ab gt substring abcde 1 3 bc string length qui retourne la taille globale d une cha ne gt string length abcde 5 et string append qui concat ne plusieurs cha nes de caract res gt string append il fait beau il fait beau En utilisant toutes ces fonctions et en d finissant ventuellement d autres fonctions si n cessaires crire la fonction joue jeton prenant en param tre un plateau un joueur et une colonne qui retourne le plateau apr s modification gt joue jeton p4 start X 2 l l l l X 0 10000 0 gt joue jeton p4 start 0 5 c l l l l l 0o 0 0 0 0 1 O 0 On supposera pour le moment que les param tres pass s cette fonction sont correctes Vous aurez certainement besoin d crire un certain nombre de fonctions annexes pour crite la fonction joue jeton Je vous conseille d crire les deux fonctions outils suivantes qui vous seront utiles modif qui permet de m
7. s cha nes de caract res Les espaces indiqueront l absence de jeton un X ou un O un des jetons d un des joueurs Cette partie de la structure sera appel e chaine plateau A l tat initial cette cha ne a la valeur suivante Si le joueur X pose un jeton dans la colonne 2 le r sultat sera le suivant X Note un caract re en Racket est not de la mani re suivant c pour le caract re c La deuxi me partie de la liste g rant le plateau est une simple liste de 7 entiers correspondant au nombre de jetons dans les colonnes 1 7 la colonne 1 tant gauche Cette deuxi me partie de la structure sera appel e liste pieces En r sum le plateau a la structure suivante plateau chaine plateau liste pieces A l tat initial le plateau est d fini par la variable globale suivante define p4 start list l l l l l 00000 0 0 Cr er des plateaux diff rents et donner la structure du plateau correspondante 4 Travail r aliser Donnez la repr sentation de la variable plateau pour le jeu correspondant la figure 1 4 1 Fonctions outils Nous aurons besoin d un certain nombre de fonctions outils pour r aliser ce projet En voici quelques unes r aliser vous en aurez sans doute d autres crire 1 crire une fonction chaine plateau qui retourne un partie d un plateau la partie cha ne de caract res du plateau gt chaine plateau p4 start i l l l l n 2 d
8. x prise2tete fr puissance 4 puissance 4 php FIGURE 1 3 Puissance 4 et Racket Dans le projet que nous allons r aliser nous aurons g rer une structure de donn es corres pondant au plateau de jeu ainsi que les mouvements corrects des joueurs humain et ordinateur Dans la premi re version de ce petit projet nous nous occuperons galement de programmer le comportement de l ordinateur qui sera tr s simple il choisira ses coups de mani re al atoire Vous pourrez ais ment modifier ce comportement pour l am liorer 3 1 Structure de donn es pour la plateau de jeu Je vous propose la structure de donn es suivante pour g rer le plateau de jeu Vous n tes bien videmment absolument pas oblig d utiliser cette structure et vous pouvez d finir la v tre Le premier joueur jouera avec des X le second joueur jouera avec des O Le plateau est repr sent par une liste comprenant deux l ments Le premier l ment de la liste est une cha ne de caract res qui contient la totalit du plateau de jeu sous forme textuelle Cette cha ne de caract res contient successivement la rang e sup rieure rang e 6 puis la rang e 5 et ainsi de suite jusqu la rang e 1 Les rang es sont s par es par un il y a donc exactement 47 caract res dans cette cha ne Les colonnes sont num rot es de 1 7 de gauche droite Le choix d utiliser des caract res permet d utiliser de nombreuses fonctions Racket manipulant le
Download Pdf Manuals
Related Search
Related Contents
Connect to a remote Windows target(s) disk using F Electrolux B 99852G User's Manual callahans-manual - Museum of Computer Adventure Game History PC SOLUTIONS PC SOLUTIONS 無限に続く音階(シェパードトーン) LED LENSER®˚ M17R Nedis CSEMSTYL100SI stylus pen Versione - Nuova Simonelli USER`S MANUAL PGH Single Package Rooftop Epson Semigloss Paper Heavyweight - A1 - 24" x 82' Copyright © All rights reserved.
Failed to retrieve file