# coding: utf-8 # le programme principal # Type : # func ...() -> ... # Résultat : def ...(): return 0 #MISE EN PLACE joueur1 = joueur() joueur2 = joueur() joueur1.melangerPioche() joueur2.melangerPioche() # La Main contient 1 Roi + 3 unités tirées au hasard de la pioche joueur1.ajouterCarteMain(joueur1.TirerPiocheHasard()) joueur1.ajouterCarteMain(joueur1.TirerPiocheHasard()) joueur1.ajouterCarteMain(joueur1.TirerPiocheHasard()) joueur1.ajouterCarteMain(roi1)) joueur2.ajouterCarteMain(joueur2.TirerPiocheHasard()) joueur2.ajouterCarteMain(joueur2.TirerPiocheHasard()) joueur2.ajouterCarteMain(joueur2.TirerPiocheHasard()) joueur1.ajouterCarteMain(roi2)) # Une unité piochée est placée dans le royaume joueur1.ajouterCarteRoyaume(joueur1.tirerCartePioche()) joueur2.ajouterCarteRoyaume(joueur2.tirerCartePioche()) # Les joueurs Placent une carte de leur main sur la ligne de front print("Joueur 1 : choisissez une carte a mettre sur le champ de bataille") cartesMain[] = joueur1.retournerCartesMain() #retourne les infos des cartes dans la main dans une chaine de caractère (tableau de string) for i in range(0,lenght(cartesMain)-1): print(i+1," : ",cartesMain[i]) CarteAPoser = input("Quelle carte de votre main voulez vous poser ? (votre choix sera 1,2,3 ou 4") casesActives[] = joueur1.retournerCasesChamp() #retourne les infos des cases du champ de bataille dans une chaine de caractère (tableau de string) for i in range(0,lenght(casesActives)-1): print(i+1," : ",casesActives[i]) CaseOuPoser = input("Ou voulez vous la poser (votre choix sera F1, F2, F3, A1, A2, A3") joueurActif.ajouterCarteChamp(CarteAPoser,CaseOuPoser) print("Joueur 2 :choisissez une carte a mettre sur le champ de bataille") cartesMain[] = joueur2.retournerCartesMain() #retourne les infos des cartes dans la main dans une chaine de caractère (tableau de string) for i in range(0,lenght(cartesMain)-1): print(i+1," : ",cartesMain[i]) CarteAPoser = input("Quelle carte de votre main voulez vous poser ? (votre choix sera 1,2,3 ou 4") casesActives[] = joueur2.retournerCasesChamp() #retourne les infos des cases du champ de bataille dans une chaine de caractère (tableau de string) for i in range(0,lenght(casesActives)-1): print(i+1," : ",casesActives[i]) CaseOuPoser = input("Ou voulez vous la poser (votre choix sera F1, F2, F3, A1, A2, A3") joueurActif.ajouterCarteChamp(CarteAPoser,CaseOuPoser) # Les joueurs Placent une carte de leur main dans la réserve print("Joueur 1, choisissez la carte à mettre en réserve") cartesMain[] = joueur1.retournerCartesMain() #retourne les infos des cartes dans la main dans une chaine de caractère (tableau de string) for i in range(0,lenght(cartesMain)-1): print(i+1," : ",cartesMain[i]) CarteAPoser = input("Quelle carte de votre main voulez vous poser ? (votre choix sera 1,2 ou 3") joueur1.ajouterCarteReserve(CarteAPoser) print("Joueur 2, choisissez la carte à mettre en réserve") cartesMain[] = joueur2.retournerCartesMain() #retourne les infos des cartes dans la main dans une chaine de caractère (tableau de string) for i in range(0,lenght(cartesMain)-1): print(i+1," : ",cartesMain[i]) CarteAPoser = input("Quelle carte de votre main voulez vous poser ? (votre choix sera 1,2 ou 3") joueur2.ajouterCarteReserve(CarteAPoser) # TOUR DE JEU joueurActif = joueur1 joueurPassif = joueur2 tour = 0 while(joueur1.aPerdu()!=False or joueur2.aPerdu()!=False): # PHASE DE PREPARATION # Placer toute les unités sur le champ de bataille en position défensive joueurActif.mettreChampDefense() joueurActif.remettrePointDeVie() # Piocher une nouvelle carte dans sa main if joueurActif.getNbrCartePioche() > 0: joueurActif.ajouterCarteMain(joueurActif.tirerCartePioche()) else : print("Vous n'avez plus de carte, vous ne pouvez pas piocher") # PHASE D’ACTION # Choisir une de ces actions : # 1-Ne rien faire # Le joueur passe son tour # # 2-Mettre en réserve # Envoyer une unité de la main vers la pioche # # 3-Déployer une unité # Envoyer une unité de la Réserve sur le champs de bataille, Si aucune unité en réserve : # Envoyer une unité de la Main sur la ligne de front # La carte doit être sur la ligne de front ou derrière une carte sur la ligne de front # La carte peut remplacer une carte sur le champs de bataille, qui est alors mise en Réserve en fin de file. print("Choisissez une actions en choisissant un numero :/n") print("1 : Ne rien faire/n") print("2 : Mettre une carte de la main en réserve/n") print("3 : Déployer une unité sur au Front/n") print("4 : Attaquer une unité ennemie/n") choix = input(int("Votre choix :/n")) while choix<1 or choix>4 : choix = input(int("Votre choix :/n")) else if choix == 2: print("Vous passez votre tour/n") else if choix == 2: print("Joueur actif, choisissez la carte à mettre en réserve") cartesMain[] = joueurActif.retournerCartesMain() #retourne les infos des cartes dans la main dans une chaine de caractère (tableau de string) for i in range(0,lenght(cartesMain)-1): print(i+1," : ",cartesMain[i]) CarteAPoser = input("Quelle carte de votre main voulez vous poser ? (votre choix sera 1,2,3,4,5 ou 6") joueurActif.ajouterCarteReserve(CarteAPoser) else if choix == 3: if joueurActif.getNbrCarteReserve > 0: joueurActif.ajouterCarteChamp(joueurActif.tirerCarteReserve()) else: print("Joueur actif, choisissez la carte à mettre sur le champ de bataille") cartesMain[] = joueurActif.retournerCartesMain() #retourne les infos des cartes dans la main dans une chaine de caractère (tableau de string) for i in range(0,lenght(cartesMain)-1): print(i+1," : ",cartesMain[i]) CarteAPoser = input("Quelle carte de votre main voulez vous poser ? (votre choix sera 1,2,3,4,5 ou 6") casesActives[] = joueurActif.retournerCasesChamp() #retourne les infos des cases du champ de bataille dans une chaine de caractère (tableau de string) for i in range(0,lenght(casesActives)-1): print(i+1," : ",casesActives[i]) CaseOuPoser = input("Ou voulez vous la poser (votre choix sera F1, F2, F3, A1, A2, A3") joueurActif.ajouterCarteChamp(CarteAPoser,CaseOuPoser) # 4-Attaquer else if choix == 4: continuer = "o" while(continuer=="o"): print("Vos cartes :") casesActives[] = joueurActif.retournerCasesChamp() #retourne les infos d'une case dans une chaine de caractère (tableau de string) for i in range(0,lenght(casesActives)-1): print(casesActives[i]) print("Cartes adversaire :") cartesPassives[] = joueurPassif.retournerCasesChamp() #retourne les infos d'une case dans une chaine de caractère (tableau de string) for i in range(0,lenght(cartesPassives)-1): print(cartesPassives[i]) CarteAttaquant = input("Avec quelle carte voulez vous attaquer ?") CarteAttaque = input("Quelle carte voulez vous attaquer ?") joueurActif.attaquer(CarteAttaquant,CarteAttaque) print("Voulez vous continuer ?") continuer = input("o: oui/n n:non") while(continuer!="o" or continuer!="n") continuer = input("o: oui/n n:non") # CONSCRIPTION # Si un joueur se retrouve à un moment sans armée sur le champs de bataille : # Recruter 2 unités de la réserve et la placer sur le champs de bataille, Si il n’y a pas 2 unités dans la réserve : # Recruter 2 unités du Royaume et la placer sur le champs de bataille if (joueurPassif.getNbrCarteChamp() == 0): if (joueurPassif.getNbrCarteReserve() >= 2): CarteAPoser = joueurPassif.tirerCarteReserve() casesActives[] = joueurPassif.retournerCasesChamp() #retourne les infos des cases du champ de bataille dans une chaine de caractère (tableau de string) for i in range(0,lenght(casesActives)-1): print(i+1," : ",casesActives[i]) CaseOuPoser = input("Ou voulez vous la poser (votre choix sera F1, F2, F3, A1, A2, A3") joueurActif.ajouterCarteChampSansRemplacer(CarteAPoser,CaseOuPoser) CarteAPoser = joueurPassif.tirerCarteReserve() casesActives[] = joueurPassif.retournerCasesChamp() #retourne les infos des cases du champ de bataille dans une chaine de caractère (tableau de string) for i in range(0,lenght(casesActives)-1): print(i+1," : ",casesActives[i]) CaseOuPoser = input("Ou voulez vous la poser (votre choix sera F1, F2, F3, A1, A2, A3") joueurPassif.ajouterCarteChampSansRemplacer(CarteAPoser,CaseOuPoser) else if (joueurPassif.getNbrCarteReserve() == 1): CarteAPoser = joueurPassif.tirerCarteReserve() casesActives[] = joueurPassif.retournerCasesChamp() #retourne les infos des cases du champ de bataille dans une chaine de caractère (tableau de string) for i in range(0,lenght(casesActives)-1): print(i+1," : ",casesActives[i]) CaseOuPoser = input("Ou voulez vous la poser (votre choix sera F1, F2, F3, A1, A2, A3") joueurActif.ajouterCarteChampSansRemplacer(CarteAPoser,CaseOuPoser) carteAMobiliser = input("Rentrez 1 pour mobiliser un soldat, 2 pour mobiliser un garde, 3 pour mobiliser un archer") CarteAPoser = joueurPassif.tirerCarteRoyaume(carteAMobiliser) while CarteAPoser==0: print("Il n'y a pas de cartes du type demandé dans le royaume, essayer de mobiliser un autre type de carte") carteAMobiliser = input("Rentrez 1 pour obiliser un soldat, 2 pour mobiliser un garde, 3 pour mobiliser un archer") CarteAPoser = joueurPassif.tirerCarteRoyaume(carteAMobiliser) casesActives[] = joueurPassif.retournerCasesChamp() #retourne les infos des cases du champ de bataille dans une chaine de caractère (tableau de string) for i in range(0,lenght(casesActives)-1): print(i+1," : ",casesActives[i]) CaseOuPoser = input("Ou voulez vous la poser (votre choix sera F1, F2, F3, A1, A2, A3") joueurPassif.ajouterCarteChampSansRemplacer(CarteAPoser,CaseOuPoser) else if (joueurPassif.getNbrCarteReserve() == 0): if (joueurPassif.getNbrCarteRoyaume >= 2): carteAMobiliser = input("Rentrez 1 pour mobiliser un soldat, 2 pour mobiliser un garde, 3 pour mobiliser un archer") CarteAPoser = joueurPassif.tirerCarteRoyaume(carteAMobiliser) while CarteAPoser==0: print("Il n'y a pas de cartes du type demandé dans le royaume, essayer de mobiliser un autre type de carte") carteAMobiliser = input("Rentrez 1 pour obiliser un soldat, 2 pour mobiliser un garde, 3 pour mobiliser un archer") CarteAPoser = joueurPassif.tirerCarteRoyaume(carteAMobiliser) casesActives[] = joueurPassif.retournerCasesChamp() #retourne les infos des cases du champ dans une chaine de caractère (tableau de string) for i in range(0,lenght(casesActives)-1): print(i+1," : ",casesActives[i]) CaseOuPoser = input("Ou voulez vous la poser (votre choix sera F1, F2, F3, A1, A2, A3") joueurPassif.ajouterCarteChampSansRemplacer(CarteAPoser,CaseOuPoser) carteAMobiliser = input("Rentrez 1 pour mobiliser un soldat, 2 pour mobiliser un garde, 3 pour mobiliser un archer") CarteAPoser = joueurPassif.tirerCarteRoyaume(carteAMobiliser) while CarteAPoser==0: print("Il n'y a pas de cartes du type demandé dans le royaume, essayer de mobiliser un autre type de carte") carteAMobiliser = input("Rentrez 1 pour obiliser un soldat, 2 pour mobiliser un garde, 3 pour mobiliser un archer") CarteAPoser = joueurPassif.tirerCarteRoyaume(carteAMobiliser) casesActives[] = joueurPassif.retournerCasesChamp() #retourne les infos des cases du champ dans une chaine de caractère (tableau de string) for i in range(0,lenght(casesActives)-1): print(i+1," : ",casesActives[i]) CaseOuPoser = input("Ou voulez vous la poser (votre choix sera F1, F2, F3, A1, A2, A3") joueurPassif.ajouterCarteChampSansRemplacer(CarteAPoser,CaseOuPoser) else: joueurPassif.perd() # Placer la carte qui va attaquer en mode offensif # Attaquer # Si unité morte, placer l’unité derrière en ligne de front # Recommencer tant qu’il y a des carte en mode défensif # Si a n’importe quel moment, une unité de Front est morte ou capturée; et qu’une unité est présenté derrière elle, cette dernière doit avancer sur le Front # PHASE DE DEVELOPPEMENT # # Peut démobiliser une unité de sa Main vers le Royaume, Si la Main contient 6 cartes, cela est obligatoire. if (joueurActif.getNombreCarteMain < 6): print("Voulez vous mettre une carte de votre MAIN vers votre Royaume/n") choix = input(int("1. Oui/n2. non/n")) while (choix != 1,2): choix = input(int("1. Oui/n2. non/n")) if (choix == 1): cartesMain[] = joueurActif.retournerCartesMain() #retourne les infos des cartes dans la main dans une chaine de caractère (tableau de string) for i in range(0,lenght(cartesMain)-1): print(i+1," : ",cartesMain[i]) CarteAPoser = input("Quelle carte de votre main voulez vous poser ? (votre choix sera 1,2,3,4,5 ou 6") joueurActif.ajouterCarteRoyaume(CarteAPoser) else if (choix ==2): print("Vous ne déposez aucune carte dans le Royaume/n") else if (joueurActif.getNombreCarteMain >= 6): cartesMain[] = joueurActif.retournerCartesMain() #retourne les infos des cartes dans la main dans une chaine de caractère (tableau de string) for i in range(0,lenght(cartesMain)-1): print(i+1," : ",cartesMain[i]) CarteAPoser = input("Quelle carte de votre main voulez vous poser ? (votre choix sera 1,2,3,4,5 ou 6") joueurActif.ajouterCarteRoyaume(CarteAPoser) # Execution # Si un joueur capture ou tue le roi adverse if joueurPassif.roiEnVie()==false: joueurPassif.Perd() # Fin de la guerre # Si un joueur n’a plus de troupe dans sa pioche, et doit en mobiliser une lors de la phase de préparation : # Le joueur qui a le plus de citoyen gagne if joueurActif.getNbrCartePioche()==0 and joueurPassif.getNbrCartePioche()==0: if joueurActif.getNbrCarteRoyaume() > joueurPassif.getNbrCarteRoyaume(): joueurPassif.Perd() else if joueurActif.getNbrCarteRoyaume() < joueurPassif.getNbrCarteRoyaume(): joueurActif.Perd() else: egalite = True if tour == 0: joueur1 = joueurActif joueur2=joueurPassif else if tour ==1: joueur1=joueurPassif joueur2=joueurActif if (joueur1.aPerdu()!=False or joueur2.aPerdu()!=False): if tour == 0: joueurActif = joueur2 joueurPassif = joueur1 tour = 1 else if tour ==1: joueurPassif=joueur2 joueurActif=joueur1 tour=0 if joueur1.aPerdu(): print("Le joueur 2 gagne la partie") else : print("Le joueur 1 gagne la partie")
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question