Jocul de șeptică in Python
python septica
E vorba de o încercare mai veche de a coda jocul de șeptică în Python. Am lucrat câteva zile la el, dar apoi - luându-mă cu altele - l-am lăsat baltă. O să-l reiau sper... Aici este ultima variantă în formă brută. Jocul nu are grafică: cărțile sunt reprezentate prin string-uri formate din cifre (numărul carții) și litere (tipul cărții). Sper să-i fac și o interfață grafică (asta în caz că îl termin ...).
#! usr/bin/python3.2
import random
SEPTARI = ['7r', '7n', '7t', '7i']
#Crearea deck-ului in doi pasi
proto_deck = [[str(i)+'r', str(i)+'i', str(i)+'n',str(i)+'t'] for i in range(7, 15)]
deck = []
for i in proto_deck:
for l in i:
deck.append(l)
print(deck)
#Functia care distribuie cartile
def da_carti(lista, a):
l = []
for i in range(4 - a):
z = random.choice(lista)
l.append(z)
lista.remove(z)
print(len(lista))
return l
#Functia care stabileste daca calculatorul are o
#carte de aceeasi valoare cu cea pe care a dat-o omul
#si da o singura carte
def calc_da(c, carti_calculator):
y = 0
x = 0
if x ==0:
for b in carti_calculator:
if len(b) == len(c) ==2 and x < 1:
if b[0:1] == c[0:1]:
print(b)
print('Te-am taiat!')
carti_calculator.remove(b)
x += 1
elif len(b) == len(c) == 3 and x < 1:
if b[0:2] == c[0:2]:
print(b)
print('Te-am taiat')
carti_calculator.remove(b)
x += 1
return x
#Distribuirea primei maini
carti_om = []
carti_calculator = []
carti_om = da_carti(deck, len(carti_om))
carti_calculator = da_carti(deck, len(carti_calculator))
#jocul propriu zis
while len(deck) + len(carti_om) + len(carti_calculator) != 0:
print('Tu ai urmatoarele carti: ', carti_om)
print('Iar eu am: ', carti_calculator)
omul_da = input('Esti primul, da o carte: ')
if omul_da in carti_om:
print(omul_da)
calculatorul_da = calc_da(omul_da, carti_calculator)
carti_om.remove(omul_da)
print('calculatorul da random', calculatorul_da)
if calculatorul_da < 1:
o_carte = random.choice(carti_calculator)
print(o_carte)
carti_calculator.remove(o_carte)
print('omul mai are: ', len(carti_om), 'carti')
print('calculatorul mai are', len(carti_calculator), 'carti')
if len(deck) > 0:
for i in da_carti(deck, len(carti_om)):
carti_om.append(i)
for j in da_carti(deck, len(carti_calculator)):
carti_calculator.append(j)
else:
pass
else:
print('Nu ai cartea asta in mana')De asemenea o să încerc să-l codez urmând principiile POO (programarea orientată pe obiect).