Guest User

Untitled

a guest
Apr 7th, 2022
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.83 KB | None | 0 0
  1. def blackjackv2():
  2.    
  3.     talia = utworz_talie() #zwraca talię 52 kart na podstawie classy Karta
  4.     potasowana_talia = tasuj(talia) #zwraca tę samą talię
  5.    
  6.     gracze = imie_gracza() #input imienia, zwraca dwuelementową listę, pierwszy to imię gracza, druga imię dealera computera
  7.     kwota_startowa = starting_bankroll(gracze[0],gracze[1]) #input kwoty startowej, zwraca int, ograniczyć do intów dodatnich
  8.    
  9.     #zdefiniowanie gracza i dealera na podstawie klas z atrybutami z powyższych inputów
  10.     gracz = Gracz(gracze[0],kwota_startowa,[])
  11.     komputer = Gracz("Bernard",kwota_startowa,[])
  12.    
  13.     runda = 1
  14.    
  15.     #start pętli, która zamknie się dopiero wtedy kiedy komputer lub gracz będzie miał zero lub - na koncie
  16.     while gracz.bankrut() == False and komputer.bankrut() == False:
  17.        
  18.         print(f"Runda {runda}")
  19.        
  20.         #zeruje talie gracza i komputera
  21.         gracz.karty = []
  22.         komputer.karty = []
  23.        
  24.        
  25.         #komunikat o aktualnym stanie depozytów
  26.         print(f"Depozyt gracza {gracz.imie} wynosi {gracz.bankroll}$.")
  27.         print(f"Depozyt gracza {komputer.imie} wynosi {komputer.bankroll}$.")
  28.        
  29.         #rozdanie kart z potasowanej talii graczowi i komputerowi
  30.         gracz.karty.append(potasowana_talia.pop(0))
  31.         gracz.karty.append(potasowana_talia.pop(0))
  32.         komputer.karty.append(potasowana_talia.pop(0))
  33.         komputer.karty.append(potasowana_talia.pop(0))
  34.        
  35.         #wyswietlenie kart i podsumowanie punktów graczowi
  36.         print(f"Karty gracza {komputer.imie}: {komputer.karty[0].figura} {komputer.karty[0].kolor}, X")
  37.         print(f"Twoje karty: {gracz.karty[0].figura} {gracz.karty[0].kolor}, {gracz.karty[1].figura} {gracz.karty[1].kolor}. Suma punktów wynosi {gracz.karty[0].ranga + gracz.karty[1].ranga}.")
  38.        
  39.         #zapytanie o stawkę zakładu, tutaj trzeba nałożyć limity, niewięcej niż kwota, którą posiada najbiedniejszy gracz
  40.         stawka = input("Jaką kwotę chciałbyś postawić?")
  41.        
  42.        
  43.         #kolejna petla robiąca wszelkie rzeczy do momentu zakończenia partii wygraną jednego z graczy
  44.         won = False
  45.         while won == False:
  46.            
  47.             #kolejna pętla pytająca gracza o to czy chce dodać karty, aż do momentu aż wpiszę "N" lub wyrzuci go z poprzedniej pętli
  48.             decision = "Default decision"
  49.             while decision != "N":
  50.                 decision = input(f"Suma twoich kart daje {gracz.punkty_gracza()}. Czy chcesz dołożyć kartę? Wpisz 'T' lub 'N'.")
  51.                 if decision == "T":
  52.                     gracz.karty.append(potasowana_talia.pop(0))
  53.                     print(f"Wyciągnięto kartę {gracz.karty[-1].kolor} {gracz.karty[-1].figura}.")
  54.                     #co jesli wyciagając nową kartę, gracz przekroczy 21 pkt:komunikato wygranej komputera, dzialania na bankrollu, karty zwracane do talii
  55.                     if gracz.punkty_gracza() > 21:
  56.                         print(f"Suma twoich kart daje {gracz.punkty_gracza()}. Przegrywasz tę partię!")
  57.                         gracz.bankroll = gracz.bankroll - int(stawka)
  58.                         komputer.bankroll = komputer.bankroll + int(stawka)
  59.                         potasowana_talia += gracz.karty
  60.                         potasowana_talia += komputer.karty
  61.                         runda += 1
  62.                         won = True
  63.                         break
  64.                 elif decision == "N":
  65.                     break
  66.                 else:
  67.                     print("Wprowadziłeś niepoprawne dane! Wpisz 'T' lub 'N'")
  68.                      
  69.        
  70.  
  71.             if komputer.punkty_gracza() > 21:
  72.                     print(f" Karty gracza Bernard: {komputer.pokaz_karty()}. Suma punktów przekroczyła 21 i wynosi {komputer.punkty_gracza()}.{gracz.imie} wygrywa tę partię!")
  73.                     gracz.bankroll = gracz.bankroll + int(stawka)
  74.                     komputer.bankroll = komputer.bankroll - int(stawka)
  75.                     potasowana_talia += gracz.karty
  76.                     potasowana_talia += komputer.karty
  77.                     runda += 1
  78.                     won = True
  79.             elif gracz.punkty_gracza() < komputer.punkty_gracza():
  80.                     print(f"Twoje karty: {gracz.pokaz_karty()}. Suma punktów wynosi {gracz.punkty_gracza()}.")
  81.                     print(f"Karty Bernarda: {komputer.pokaz_karty()}. Suma punktów wynosi {komputer.punkty_gracza()}.")
  82.                     print(f"{komputer.imie} wygrywa i zgarnia {int(stawka)*2}.")
  83.                     gracz.bankroll = gracz.bankroll - int(stawka)
  84.                     komputer.bankroll = komputer.bankroll + int(stawka)
  85.                     potasowana_talia += gracz.karty
  86.                     potasowana_talia += komputer.karty
  87.                     runda += 1
  88.                     won = True
  89.             elif gracz.punkty_gracza() == 21 and komputer.punkty_gracza() == 21:
  90.                     print(f"Twoje karty: {gracz.pokaz_karty()}. Suma punktów wynosi {gracz.punkty_gracza()}.")
  91.                     print(f"Karty Bernarda: {komputer.pokaz_karty()}. Suma punktów wynosi {komputer.punkty_gracza()}.")
  92.                     print("REMIS! Obydwaj gracze uzyskali sumę punktów równą 21.")
  93.                     potasowana_talia += gracz.karty
  94.                     potasowana_talia += komputer.karty
  95.                     runda += 1
  96.                     won = True
  97.             else:
  98.                     komputer.karty.append(potasowana_talia.pop)
  99.  
  100.            
  101.     #koniec gry, wyjście z pierwszej pętli
  102.     if gracz.bankrut() == True:
  103.         print(f"{gracz.imie} ma 0 $ na koncie i jest bankrutem! {komputer.imie}) wygrywa!")
  104.     else:
  105.         print(f"{komputer.imie} ma 0 $ na koncie i jest bankrutem! {gracz.imie}) wygrywa! Gratulacje!")
  106.        
  107.    
  108.    
  109.    
  110.    
  111.    
  112.    
Advertisement
Add Comment
Please, Sign In to add comment