RÚglesdu jeu. Placez les pions des joueuses et joueurs sur la case numéro 1 pour débuter la partie. Chacun lance les deux dés à tour de rÎle et avance son pion selon le nombre de points indiqués. Début de la partie. Au premier lancer
!/usr/bin/env python -*- coding utf-8 -*- Copyright C 2013, Adrien TĂ©tar. All Rights Reserved. import random import sys import os def errNumber print"Nombre de joueurs incorrect." exit0 def jet d1 = 7 d2 = 7 if d1+d2 == 9 return d1+d2, d1 else return d1+d2, 0 def printfstring printstring input def argsortseq return [x for x,y in sortedenumerateseq, key = lambda x x[1]] def ordrenumber res = [0] * number for i in range0, number printf"Le joueur " + stri+1 + " lance les dĂ©s.." res[i] = jet[0] printfres[i] Check for duplicates if lensetres == lenres [-1] will reverse the array because we want it decreasingly sorted return argsortres[-1] else print"Il faut recommencer le tirage." return ordrenumber def infoJoueursordre for i in range0, lenordre if i == 0 print"\nLe joueur " + strordre[i]+1 + " commence", elif i == 1 print", suivi du joueur " + strordre[i]+1, else print", puis du joueur " + strordre[i]+1, print"." print" Jeu de l'oie " if len \n" print"> Arguments acceptĂ©s" print"'help' affiche cette fenĂȘtre d'aide" print"nombre nombre de joueurs, compris entre 2 et 4 inclus" print"> DĂ©pendances" print"Python 3" exit0 try int except ValueError errNumber if int 4 errNumber print"> Ordre de jeu" joueurs = ordreint infoJoueursjoueurs print"\n> DĂ©but du jeu" premierTour = True repos = [0] * int position = [0] * int puits = -1 prison = -1 while True if premierTour == False print"\n> Nouveau tour! " + strposition for i in range0, lenjoueurs if repos[i] > 0 printf"Le joueur " + strjoueurs[i]+1 + " se repose pour " + strrepos[i] + "tours." repos[i] -= 1 elif puits == i printf"Le joueur " + strjoueurs[i]+1 + " est coincĂ© dans le puits..." elif prison == i printf"Le joueur " + strjoueurs[i]+1 + " est coincĂ© en prison..." else printf"Le joueur " + strjoueurs[i]+1 + " lance les dĂ©s..." cur = jet printfstrcur[0] + " vous vous rendez Ă la case " + strposition[i]+cur[0] + ".\n" if premierTour and position[i]+cur[0] % 9 == 0 printf"Une oie vous empĂȘche de vous arrĂȘter!" printf"Vous avancez encore du nombre de cases indiquĂ© par les dĂ©s." position[i] += 2 * cur[0] elif position[i]+cur[0] == 9 print"Vous avez fait 9 au premier tour!" if cur[1] == 6 or cur[1] == 3 printf"6+3... vous passez directement Ă la case 26." position[i] = 26 else cur[1] == 4 or cur[1] == 5 printf"4+5... vous passez directement Ă la case 53." position[i] = 53 elif position[i]+cur[0] == 6 printf"Vous ĂȘtes sur la case 6... un pont vous fait passer Ă la case 12!" position[i] = 12 elif position[i]+cur[0] == 19 printf"Vous ĂȘtes sur la case 19... vous dĂ©cidez de sĂ©journer Ă l'hĂŽtel!" repos[i] = 2 elif position[i]+cur[0] == 31 if puits == 0 printf"Vous ĂȘtes tombĂ© dans un puits... vous attendez de l'aide des autres joueurs." puits = i else printf"Vous ĂȘtes tombĂ© dans un puits... mais vous avez sauvĂ© le joueur " + strpuits + " au passage!" puits = i elif position[i]+cur[0] == 42 printf"Vous ĂȘtes tombĂ© dans un labyrinthe... vous finissez par sortir Ă la case 30." position[i] = 30 elif position[i]+cur[0] == 52 if prison == 0 printf"Vous ĂȘtes en prison... vous attendez un quelconque signe des autres joueurs." prison = i else printf"Vous finissez en prison... mais vous avez libĂ©rĂ© le joueur " + strprison + " au passage!" prison = i elif position[i]+cur[0] == 58 printf"Vous avez rencontrĂ© la faucheuse... vous vous rĂ©veillez au dĂ©part du jeu." position[i] = 0 elif position[i]+cur[0] == 63 printf"Vous avez gagnĂ©... bravo!" printf"Le joueur " + strjoueurs[i]+1 + " remporte la partie." exit0 elif position[i]+cur[0] > 63 printf"Oups, vous avez manquĂ© le jardin de l'oie... vous tombez " + strposition[i]+cur[0] - 63 + " cases derriĂšre." position[i] = 63 - position[i]+cur[0] - 63 else printf"L'endroit a l'air sĂ»r." position[i] = position[i]+cur[0] premierTour = False