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('Team 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).