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
| #----------Jeux de cartes: Bataille----------#
from random import randrange
from time import sleep
#defintion des classes
class JeuxDeCarte(object):
"Definition d'un jeu de cartes"
couleur = ("Coeur", "Carreau", "Trefle", "Pique")
valeur = (2, 3, 4, 5, 6, 7, 8, 9, 10, "Valet", "Dame", "Roi", "As")
def __init__(self):
"construction de la liste des 52 cartes"
self.jeu = []
for coul in range(4):
for val in range(13):
self.jeu.append((val, coul))
def nom_carte(self, c):
"renvoi le nom de la carte"
return "%s de %s" (self.valeur[c[0]], self.couleur[c[1]])
def battre(self):
"permet de melanger les cartes"
a = 0
b = len(self.jeu)
while a < randrange(100, 200):
i = randrange(b)
n = randrange(b)
self.jeu[i], self.jeu[n] = self.jeu[n], self.jeu[i]
a = a + 1
def tirer(self):
"Tirage de la première carte de la pile"
t = len(self.jeu)
if t >0:
carte = self.jeu[0]
del(self.jeu[0])
return carte
class Jeux2(JeuxDeCarte):
"defintion des deux jeu"
def __init__(self):
self.jeuA = []
self.jeuB = []
JeuxDeCarte.__init__(self)
def tirerA(self):
"Tirage de la première carte de la pile"
t = len(self.jeuA)
if t >0:
carte = self.jeuA[0]
del(self.jeuA[0])
return carte
def tirerB(self):
"Tirage de la première carte de la pile"
t = len(self.jeuB)
if t >0:
carte = self.jeuB[0]
del(self.jeuB[0])
return carte
def creer_2jeux(self):
"creer les deux jeux"
self.battre()
for i in range(52):
if i%2 == 0:
self.jeuA.append(self.tirer())
else:
self.jeuB.append(self.tirer())
def match(self):
"compare les cartes et les remet au gagnant"
carteA = self.tirerA()
carteB = self.tirerB()
gain = []
gain.append(carteA)
gain.append(carteB)
print
carteA.nom_carte(carteA)
print
"vs"
print
carteB.nom_carte(carteB)
if carteA[0] > self.carteB[0]:
while i < len(gain):
self.jeuA.append(gain[i])
i = i + 1
for i in range(len(gain)):
del gain[0]
print
"Vous gagnez!"
elif self.carteB[0] > self.carteA[0]:
while i < len(gain):
self.jeuB.append(gain[i])
i = i + 1
for i in range(len(gain)):
del gain[0]
print
"L'ordinateur gagne!"
else:
print
"Bataille !"
print
"Il vous reste %s carte(s)" % (len(self.jeuA))
print
"Il reste %s carte(s) a l'ordinateur" % (len(self.jeuB))
def verif(self):
if len(self.jeuA) == 0 or len(self.jeuB) == 0:
return False
#programme principal
jeux = Jeux2()
print
"distribution des cartes..."
sleep(2)
jeux.creer_2jeux()
print
"les jeux sont creer!"
raw_input('appuyer sur Entree pour tirer une carte')
a = True
while a == True:
jeux.match()
a = jeux.verif()
raw_input('appuyer sur Entree pour tirer une carte')
if len(jeux.jeuA) == 0:
print
"Vous avez perdu..."
else:
print
"Vous avez gagner!!" |
Partager