| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 
 | import random
 
class Menu:
    def __init__(self, choix, texte = "" , histoire = "" , question = "" , invalidChoice = "Réponse invalide. Recommencez :" , choixCaches = {}):
        self.texte = texte
        self.question = question
        self.choix = choix
        self.histoire = histoire
        self.invalidChoice = invalidChoice
        self.choixCaches = choixCaches
        self.repeatChoice = False
 
    def propose(self, defaut = 0):
        print(self.texte)
        print ("---------")
        for k, v in self.choix.items():
            print(k, "-", v)
        print ("---------")
        result = input(self.question)
        while not (result in self.choix.keys() or result  in self.choixCaches.keys()):
            if self.repeatChoice:
                print(self.invalidChoice)
                print ("---------")
                for k, v in self.choix.items():
                    print(k, "-", v)
                print ("---------")
                result = input(self.question)
            else :
                result = input(self.invalidChoice)
        return result
 
    def suite_histoire (self,histoire):
        print("---------")
        self.histoire = histoire
        print(self.histoire)
        print("---------")
 
money = 0
attaque = 10
pv = 100
inventaire = []
 
 
choix = {}
choix['garçon'] = "Choisi d'être un homme."
choix['fille'] = "Choisi de ne pas savoir conduire."
choix['non-binaire'] = "Choisi au moins d'éxister"
choix_caches = {}
choix_caches['42'] = "Easter_egg_H2GS"
code_debut = {}
code_debut['13'] = "triche_premier_choix"
b = "Tu veux déjà tricher alors que tu ne connais pas le jeu ? Respecte le jeu quand même"
 
menu = Menu(choix, \
    "choisissez entre les choix suivants :",\
    "Quel est votre choix ?",\
    choixCaches = choix_caches)
 
menu.repeatChoice = True # Permet de dire les propositions
 
#-------------------------------------
reponse = menu.propose()
if reponse == 'fille':
    print("tu choisis donc d'être déstiné à rayer tes jantes.")
    genre = "femme"
elif reponse == 'garçon':
    print("Tu as choisi le sexe masculin.")                               #choix genre + code triche dispo
    genre = "homme"
elif reponse == 'non-binaire':
    print("Tu as choisi d'être... on ne sais pas trop")
    genre = "non-binaire"
elif reponse == '42':
    print(b,"\nTu possèdes maintenant les fonds nescessaire pour acheter 100 000 bouteilles de piquette. ")
    print("tu as",money,"pièces")
    money += 10000000
    b = " "
#---------------------------------------
menu.repeatChoice = False
menu.suite_histoire("blablabla")
 
choix = {}
choix["explorer"] = "rester passif mais revenir plus fort plus tard"
choix["attaquer"] = "vous n'avez qu'une envie, c'est d'en finir"
 
menu = Menu(choix, \
    "choisissez entre les choix suivants :",\
    "Quel est votre choix ?",\
    choixCaches = choix_caches)
 
menu.repeatChoice = True
 
reponse = menu.propose()                                                 #intro + choix attaquer ou explorer
 
if reponse == "explorer" :
    print("tu peux chercher à trois endroits")
 
    choix = {}
    choix["tonneau"] = "fouille l'intérieur dun tonneau"
    choix["renfoncement"] = "dirige toi dans un coin sombre"
    choix["homme"] = "choisis de faire les poches d'un homme contre son gré"
 
    menu = Menu(choix, \
    "choisissez entre les choix suivants :",\
    "Quel est votre choix ?",\
    choixCaches = choix_caches)
 
    menu.repeatChoice = True
    reponse = menu.propose()
 
    if reponse == "tonneau" :
        print("tu fouille le tonneau et trouves un bout de bois robuste, il améliore ton attaque")
        print("ton attaque augmente de 5, elle est maintenant de",attaque+5)
        attaque += 5
        inventaire += ["bois robuste"]
        menu.repeatChoice = True
 
    elif reponse == "renfoncement" :
        print("tu avances dans un renfoncement et tombes sur un vieille homme qui essaie de te draguer")
        menu.repeatChoice = True
 
    elif reponse == "homme" :
        print("tu fouilles les poches de cet homme mais il te remarque evidemment il te rend la monnaie de ta pièce")
        print("tu perds 5 points de vie")
        pv -= 5
        menu.repeatChoice = True
 
elif reponse == "attaquer" :
 
    pv_E = 30
    continu = 1
    print("tu décides de te confronter au méchant")
    choix = {}
    choix["tete"] = "attaque la tête"
    choix["corps"] = "attaque le corps"
    choix["jambes"] = "attaque les jambes"
 
    menu = Menu(choix, \
    "choisissez entre les choix suivants :",\
    "Quel est votre choix ?",\
    choixCaches = choix_caches)
 
    menu.repeatChoice = False
    reponse = menu.propose()
 
    while continu != 0 :
 
        if reponse == "tete" :
            print("tu attaques la tête et le touche")
            coup_critique = random.randint(1,10)
 
            if coup_critique == 5 :
                pv_E -= 2*attaque
                if pv_E <= 0 :
                    print("l'ennemi est vaincu")
                    continu = 0
                print("coup critique")
                print("l'ennemie perd",2*attaque,"pv")
                print("il a maintenant",pv_E,"pv")
 
            else :
                a = random.randint(attaque,attaque+4)
                pv_E -= a
                if pv_E <= 0 :
                    print("l'ennemi est vaincu")
                    continu = 0
                print("l'ennemie perd",a,"pv")
                print("les pv de l'ennemie sont maintenant a",pv_E)
            reponse = menu.propose()
 
        if reponse == "corps" :
            bloquage = random.randint(1,2)
 
            if bloquage == 1 :
                print("tu attaque mais il bloque le coup et t'attaque en retour")
                pv_P = random.randint(2,5)
                pv -= pv_P
                if pv <= 0 :
                    print("tu est vaincu")
                    continu = 0
                print("tu perds",pv_P,"points de vie")
                print("tu as maintenant", pv, "pv")
 
            elif bloquage == 2 :
                print("ton attaque le touche")
                coup_critique = random.randint(1,10)
                if coup_critique == 5 :
                    pv_E -= 2*attaque
                    if pv_E <= 0 :
                        print("l'ennemi est vaincu")
                        continu = 0
                    print("il perd",2*attaque,"pv, grace a une attaque critique")
                else :
                    a = random.randint(attaque,attaque+4)
                    pv_E -= a
                    if pv_E <= 0 :
                        print("l'ennemi est vaincu")
                        continu = 0
                    print ("il perd",a,"pv")
                    print("il a maintenant",pv_E,"pv")
            reponse = menu.propose()
 
        if reponse == "jambes" :
            print("tu le touches mais cela n'a aucun effet, sur lui cette attaque n'est pas efficasse")
            reponse = menu.propose()
 
#--------------------------------------- | 
Partager