1 2 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
| import random
from pygame import *
font.init()
intro = """
LE PENDU:
Le but de ce jeu est de tenter de trouver un mot selectionner par l'ordinateur.
Afin de trouver ce mot, tu peux proposer des lettres et l'ordinateur te dira
si elles sont ou non dans ce mot.
Attention, tu n'as le droit qu'a un certain nombres d'erreurs,
en fonction de la longueur du mot a trouver.
Et surtout n'oublies pas, a tout moment de la partie, si tu penses avoir
trouve le mot, n'hesite pas a le proposer, si tu le devines avant d'avoir
trouve toutes les lettres, tu auras un bonus.
Alors c'est parti ! Et bonne chance
Essaye de deviner ! Tapes une lettre ;)
"""
screen = display.set_mode((1000,500))
police = font.Font(font.get_default_font(),17)
for e,string in enumerate(intro.split('\n')):
screen.blit(police.render(string,1,(255,255,255)),(20,e*20))
display.flip()
fichier = open("dico1.txt", "r")
mots= []
for ligne in fichier:
if ligne[-1] == '\n':
m = ligne[:-1]
else:
m = ligne
mots.append(m)
#print "LE PENDU: Le but de ce jeu est de tenter de trouver un mot selectionner par l'ordinateur. Afin de trouver ce mot, tu peux proposer des lettres que l'ordinateur te dira si elles sont ou non dans ce mot. Attention, tu n'as le droit qu'a un certain nombres d'erreurs, en fonction de la longueur du mot a trouver. Et surtout n'oublies pas, a tout moment de la partie, si tu penses avoir trouve le mot, n'hesite pas a le proposer, si tu le devines avant d'avoir trouve toutes les lettres, tu auras un bonus. Alors c'est parti ! Et bonne chance"
#print "Essaye de deviner ! Tapes une lettre ;)"
caisse=50
while True:
m = mots[random.randrange(len(mots))]
Nombretentative= len(m)+ 4
lettrestrouvees=""
lettresfausses=""
motatrouver= "_ "*len(m)
while True:
#lettre=raw_input()
while True:
ev = event.wait()
if ev.type == KEYDOWN:
lettre = ev.unicode
screen.fill(0,(0,20,1000,480))
break
pourcentage=100-(len(lettrestrouvees)*100/len(m))
difference=len(m)-len(lettrestrouvees)
if not lettre.isalpha():
#print "Fais pas l'enfant voyons, tapes une LETTRE je t'ai dit."
screen.blit(police.render("Fais pas l'enfant voyons, tapes une LETTRE je t'ai dit.",1,(255,255,255)),(20,200))
display.flip()
continue
if len(lettre) > 1:
if lettre == m:
if difference > 1:
caisse=caisse+40+difference*10
#print "Felicitations, tu as trouve le mot alors qu'il restait " +str(pourcentage) +"% des lettre(s) du mot a trouver ! Tu gagnes donc un bonus de " +str(difference*10)+"$ en plus du gain normal d'une partie."
screen.blit(police.render("Felicitations, tu as trouve le mot alors qu'il restait " +str(pourcentage) +"% des lettre(s) du mot a trouver ! Tu gagnes donc un bonus de " +str(difference*10)+"$ en plus du gain normal d'une partie.",1,(255,255,255)),(20,200))
break
else:
caisse=caisse+40
#print "Felicitations, tu as decouvert la derniere lettre manquante. Tu remporte donc la somme de 40$."
screen.blit(police.render("Felicitations, tu as decouvert la derniere lettre manquante. Tu remporte donc la somme de 40$.",1,(255,255,255)),(20,200))
break
else:
#print "Quel dommage,le mot etait " +str (m)+ ". La prochaine fois je te conseille de trouver plus de lettres avant de tenter ta chance !"
screen.blit(police.render("Quel dommage,le mot etait " +str (m)+ ". La prochaine fois je te conseille de trouver plus de lettres avant de tenter ta chance !",1,(255,255,255)),(20,200))
break
else:
if lettre in m:
if lettre in lettrestrouvees:
#print "Bah alors ducon, t'as pas remarque que t'as deja trouve cette lettre ?"
screen.blit(police.render("Bah alors ducon, t'as pas remarque que t'as deja trouve cette lettre ?",1,(255,255,255)),(20,200))
else:
n=m.count(lettre)
lettrestrouvees = lettrestrouvees + lettre*n
output = ''
for c in m:
if c in lettrestrouvees:
#print c,
output += c
elif not c.isalpha():
#print c,
output += c
else:
#print "_",
output += "_"
screen.blit(police.render(output,1,(255,255,255)),(20,20))
#print ""
#print "BIEN ! Tu as trouve une lettre !"
screen.blit(police.render("BIEN ! Tu as trouve une lettre !",1,(255,255,255)),(20,200))
#print "Tu as trouve au total " +str (len(lettrestrouvees))+ " lettre(s) sur "+str(len(m))+": "+ str(lettrestrouvees)
screen.blit(police.render("Tu as trouve au total " +str (len(lettrestrouvees))+ " lettre(s) sur "+str(len(m))+": "+ str(lettrestrouvees),1,(255,255,255)),(20,220))
#print "Les lettres fausses que tu as tape pour le moment sont: "+ str(lettresfausses)
screen.blit(police.render("Les lettres fausses que tu as tape pour le moment sont: "+ str(lettresfausses),1,(255,255,255)),(20,240))
if len(lettrestrouvees)== len(m):
caisse=caisse+40
#print "Bravo tu as trouvee toutes les lettres. Le mot etait "+str (m)+"."
screen.blit(police.render("Bravo tu as trouvee toutes les lettres. Le mot etait "+str (m)+"."+ str(lettresfausses),1,(255,255,255)),(20,280))
break
else:
if lettre in lettresfausses:
#print "Bah t'es un peu bebete toi ! Tu fais deux fois la meme erreur ? T'as deja tape cette lettre ;)"
screen.blit(police.render("Bah t'es un peu bebete toi ! Tu fais deux fois la meme erreur ? T'as deja tape cette lettre ;)",1,(255,255,255)),(20,200))
else:
Nombretentative = Nombretentative - 1
lettresfausses=lettresfausses+lettre
output = ''
for c in m:
if c in lettrestrouvees:
#print c,
output += c
else:
#print "_",
output += "_"
#print ""
screen.blit(police.render(output,1,(255,255,255)),(20,20))
if Nombretentative>0:
#print "DOMMAGE !! Cherche toujours, tu ne peux te tromper encore que " + str(Nombretentative) + " fois et il te reste encore " +str(difference)+" lettre(s) a trouver"
screen.blit(police.render("DOMMAGE !! Cherche toujours, tu ne peux te tromper encore que " + str(Nombretentative) + " fois et il te reste encore " +str(difference)+" lettre(s) a trouver",1,(255,255,255)),(20,200))
#print "Les lettres que tu as deja trouvees sont: " +str (lettrestrouvees)
screen.blit(police.render("Les lettres que tu as deja trouvees sont: " +str (lettrestrouvees),1,(255,255,255)),(20,220))
#print "Les lettres fausses que tu as tape pour le moment sont: " +str (lettresfausses)
screen.blit(police.render("Les lettres fausses que tu as tape pour le moment sont: " +str (lettresfausses),1,(255,255,255)),(20,240))
else:
#print "C'est l'echec critique. Tu viens de perdre. Le mot etait " +str(m)+ "."
screen.blit(police.render("C'est l'echec critique. Tu viens de perdre. Le mot etait " +str(m)+ ".",1,(255,255,255)),(20,200))
break
display.flip()
print "Suite a votre derniere partie, vous possedez maintenant la somme de " + str(caisse)+ "$."
if caisse-20<0:
print "Quelle tristesse, tu as PERDU. En effet, tu n'as plus assez d'argent pour lancer une nouvelle partie. Redemare le jeu si tu veux rejouer, a bientot !"
break
print "Lancer une partie vous coutera 20$. Voulez-vous rejouer ? OUI/NON"
reponse = raw_input ()
while reponse not in ["OUI", "oui", "OUAI", "ouai","ok","OK","oke","NON", "nan", "Nan", "Naan"]:
print "Reponds OUI ou NON c'est pas complique hein ? Allez cesses tes enfantillages ! Alors ?"
reponse = raw_input()
if reponse in ["NON", "nan", "Nan", "Naan"]:
print " A bientot !"
break
else:
caisse=caisse-20
print "Tu pomes 20 boules c'est un peu dur pour toi HAHA. Tu possedes maintenant " +str(caisse)+"$ ! C'est reparti mon kiki ! Tapes une lettre :)" |
Partager