def __init__(self, bot): desc = u"""Un superbe jeu de pendu pendu init : lance une partie avec un mot aléatoire (to be coded...) pendu init [word] : lance une partie avec 'word' comme mot à trouver pendu reset : pour interrompre une partie en cours pendu try [letter] : propose la lettre 'letter' pendu played : affiche la liste des lettres déjà jouées""" SyncModule.__init__(self, bot, desc=desc, name="pendu") self.pendu = Pendu("")
class CmdPendu(SyncModule): def __init__(self, bot): desc = u"""Un superbe jeu de pendu pendu init : lance une partie avec un mot aléatoire (to be coded...) pendu init [word] : lance une partie avec 'word' comme mot à trouver pendu reset : pour interrompre une partie en cours pendu try [letter] : propose la lettre 'letter' pendu played : affiche la liste des lettres déjà jouées""" SyncModule.__init__(self, bot, desc=desc, name="pendu") self.pendu = Pendu("") @answercmd("init", "init (?P<word>\w+)") def init(self, sender, word=""): if self.pendu.word != "": return u"Il y a déjà une partie en cours… tu peux la finir, ou au pire 'reset' si tppt" if word == "": word_list = os.path.join(os.path.dirname(__file__), "wordlist.cfg") self.pendu.word = self.pendu.create_word(word_list) return u"Et c'est parti pour un pendu ! On cherche un mot de %s caractères" % len(self.pendu.word) else: word = word.strip().lower() if all([letter in VALID_CAR for letter in word]): self.pendu.word = word say = u"Et c'est parti pour un pendu ! On cherche un mot de %i caractères" self.bot.say(say % len(self.pendu.word)) else: return u"Le mot choisi n'est pas valide ! (caractères acceptés : %s)" % VALID_CAR @answercmd("reset") def reset(self, sender): self.pendu.word = "" return u"Reset effectué, plus qu'à utiliser init pour lancer une nouvelle partie" @answercmd("(try|guess) (?P<letter>\w)") def guess(self, sender, letter): if self.pendu.word == "": return "Euh, il faudrait lancer une partie…" if letter in VALID_CAR: return self.pendu.propose(letter) else: return "Il faut proposer une lettre !" @answercmd("(played|histo)") def played(self, sender): if self.pendu.word == "": return u"Euh, il faudrait lancer une partie…" return self.pendu.playedtostr()
class CmdPendu(SyncModule): def __init__(self, bot): desc = u"""Un superbe jeu de pendu pendu init : lance une partie avec un mot aléatoire (to be coded...) pendu init [word] : lance une partie avec 'word' comme mot à trouver pendu reset : pour interrompre une partie en cours pendu try [letter] : propose la lettre 'letter' pendu played : affiche la liste des lettres déjà jouées""" SyncModule.__init__(self, bot, desc=desc, name="pendu") self.pendu = Pendu("") @answercmd("init", "init (?P<word>\w+)") def init(self, sender, word=""): if self.pendu.word != "": return u"Il y a déjà une partie en cours… tu peux la finir, ou au pire 'reset' si tppt" if word == "": word_list = os.path.join(os.path.dirname(__file__), "wordlist.cfg") self.pendu.word = self.pendu.create_word(word_list) return u"Et c'est parti pour un pendu ! On cherche un mot de %s caractères" % len( self.pendu.word) else: word = word.strip().lower() if all([letter in VALID_CAR for letter in word]): self.pendu.word = word say = u"Et c'est parti pour un pendu ! On cherche un mot de %i caractères" self.bot.say(say % len(self.pendu.word)) else: return u"Le mot choisi n'est pas valide ! (caractères acceptés : %s)" % VALID_CAR @answercmd("reset") def reset(self, sender): self.pendu.word = "" return u"Reset effectué, plus qu'à utiliser init pour lancer une nouvelle partie" @answercmd("(try|guess) (?P<letter>\w)") def guess(self, sender, letter): if self.pendu.word == "": return "Euh, il faudrait lancer une partie…" if letter in VALID_CAR: return self.pendu.propose(letter) else: return "Il faut proposer une lettre !" @answercmd("(played|histo)") def played(self, sender): if self.pendu.word == "": return u"Euh, il faudrait lancer une partie…" return self.pendu.playedtostr()
def start_game(self, lr, score, difficulty, go=False): #Fonction lancer a chaque fin de jeux pour lancer le jeux suivant self.difficulty = difficulty self.destroy() self.setup() if go == False: #si on lance les jeux normalement self.UI_score(score, lr) elif len(lr) > 0 and go == True: if lr[0] == 1: #ShiFuMi lr.pop(0) shifumi(self.win, self.chemin, difficulty, lr, score) elif lr[0] == 2: #Pendu lr.pop(0) Pendu(self.win, self.chemin, difficulty, lr, score) elif lr[0] == 3: #Reflexe lr.pop(0) Reflexe(self.win, self.chemin, self.difficulty, lr, score) elif lr[0] == 4: #Question maths lr.pop(0) QCM_Math(self.win, self.chemin, self.difficulty, lr, score) elif lr[0] == 5: #Questions anglais lr.pop(0) QCM_Anglais(self.win, self.chemin, self.difficulty, lr, score) elif lr[0] == 6: #Juste prix lr.pop(0) JustePrix(self.win, self.chemin, self.difficulty, lr, score) elif lr[0] == 7: #Devine le prix lr.pop(0) DevinePrix(self.win, self.chemin, self.difficulty, lr, score) elif lr[0] == 8: #Tir lr.pop(0) Tir(self.win, self.chemin, difficulty, lr, score) else: self.rect_quit = self.main.create_rectangle(440, 500, 640, 550, fill='black') self.text_quit = self.main.create_text(540, 525, text='QUITTER', fill='white', font=('Helvetica', 18), state=DISABLED) self.main.tag_bind(self.rect_quit, '<Button-1>', lambda x: self.win.destroy())
def langage_handle(): while True: lg = input("Entrer 'fr' pour le français | Enter 'en' for english : " ).lower() if lg == 'fr' or lg == 'en': break else: print("il faut taper 'fr' ou 'en' | you have to type 'fr' or 'en'") return lg if __name__ == '__main__': lg = langage_handle() intro(lg) p = Pendu(Pendu.get_random_word(lg), lg) print('\n' + ('hidden word : ' if lg == 'en' else 'mot caché : ') + ''.join(p.hide_word)) while not p.is_wining(): if not p.is_alive(): print(("you lose :'(" if lg == 'en' else "tu as perdu :'(")) exit(0) cara = input(('\nEnter your charactere (-1 to exit) : ' if lg == 'en' else '\nEnter votre caractere (-1 pour quitter): ')) if cara == '-1': exit(0) print(p.check_charactere(cara.upper())) print(r"""
def __init__(self, taemin): plugin.TaeminPlugin.__init__(self, taemin) self.pendu = Pendu()
class TaeminPendu(plugin.TaeminPlugin): helper = {"pendu": "Joue au pendu"} def __init__(self, taemin): plugin.TaeminPlugin.__init__(self, taemin) self.pendu = Pendu() def on_pubmsg(self, msg): if msg.key != "pendu": return chan = msg.chan.name if msg.value == "": self.privmsg(chan, "%s" % self.pendu.print_word()) return try: test = self.pendu.test(msg.value) except NameError as err: test = False self.privmsg(chan, "Nope: %s" % err.message) if self.pendu.victory: self.privmsg(chan, "Yeah!!! Tu as gagné en seulement %d essais. Le mot était bien %s" % (len(self.pendu.attempt), self.pendu.word)) self.pendu.new_word() self.privmsg(chan, "Nouveau pendu: %s" % self.pendu.print_word()) return if test: self.privmsg(chan, "Yep ça marche \o/") self.privmsg(chan, "%s" % self.pendu.print_word()) return if self.pendu.victory is None: self.privmsg(chan, "Nope, pas de %s" % msg.value) return self.privmsg(chan, "Tu as perdu :(. Le mot était \"%s\"" % self.pendu.word) for line in self.pendu.pretty_print().split("\n"): self.privmsg(chan, "%s" % line) self.pendu.new_word() self.privmsg(chan, "Nouveau pendu: %s" % self.pendu.print_word()) def on_privmsg(self, msg): if msg.key != "pendu": return self.pendu.new_word(0, msg.value) for connection in msg.user.connections: self.privmsg(connection.chan.name, "Nouveau pendu: %s" % self.pendu.print_word())