Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.39 KB | None | 0 0
  1. #created by Daniel Azulay
  2. import random
  3.  
  4.  
  5. # creating a class warGame
  6. class WarGame:
  7.  
  8.     def __init__(self):
  9.         # this will give the both players numbers bettwwen 1-14, 4 times.
  10.         self.player_1_deck = list(range(1, 14)) * 4
  11.         self.player_2_deck = list(range(1, 14)) * 4
  12.  
  13.         # This will shuffle the the numbers so they wont have the same cards in the same order.
  14.         random.shuffle(self.player_1_deck)
  15.         random.shuffle(self.player_2_deck)
  16.  
  17.         # Lists for the players.
  18.         self.player_1_side_deck = []
  19.         self.player_2_side_deck = []
  20.  
  21.     # This func will start a round of a war game.
  22.     def round(self):
  23.  
  24.         # if the len of both will be bigger than 0.
  25.         while len(self.player_1_deck) > 0 and len(self.player_2_deck) > 0:
  26.             # For checking only:
  27.             print("player 1 side deck", self.player_1_side_deck)
  28.             print("player 2 side deck", self.player_2_side_deck)
  29.  
  30.             print("---------------------------------------------------------------")
  31.  
  32.             print("player 1 not side", self.player_1_deck)
  33.             print("player 2 not side", self.player_2_deck)
  34.  
  35.             # take out the last num of the list.
  36.             p1 = self.player_1_deck.pop()
  37.             p2 = self.player_2_deck.pop()
  38.  
  39.             # if the last card of p1 is bigger than the card of p2 then add the card of p2 also.
  40.             if p1 > p2:
  41.                 self.player_1_side_deck.append(p1)
  42.                 self.player_1_side_deck.append(p2)
  43.  
  44.             # if the last card of p2 is bigger than the card of p1 then add the card of p1 also.
  45.             elif p2 > p1:
  46.                 self.player_2_side_deck.append(p1)
  47.                 self.player_2_side_deck.append(p2)
  48.  
  49.             # if its tie then war!
  50.             # If its tie then every player puts 3 cards "opposite",
  51.             # and one card not opposite, if the card the is not opposite,
  52.             # (the 4 card) is bigger then the one that got it bigger takes the
  53.             # whole cards, if its equals then do it again.
  54.  
  55.             elif p1 == p2:
  56.                 print("War!")
  57.  
  58.                 take_it_all_p1 = []
  59.                 take_it_all_p2 = []
  60.                 take_it_all_p1.append(p1)
  61.                 take_it_all_p1.append(p2)
  62.  
  63.                 if len(self.player_1_deck) < 5:
  64.                         self.player_1_deck += self.player_1_side_deck
  65.                         self.player_1_side_deck = []
  66.                 if len(self.player_1_deck) < 5:
  67.                         self.player_2_deck += self.player_2_side_deck
  68.                         self.player_2_side_deck = []
  69.  
  70.                 for i in range(3):
  71.                         p1 = self.player_1_deck.pop()
  72.                         take_it_all_p1.append(p1)
  73.                         p2 = self.player_2_deck.pop()
  74.                         take_it_all_p2.append(p2)
  75.  
  76.                 p1 = self.player_1_deck.pop()
  77.                 p2 = self.player_2_deck.pop()
  78.  
  79.                 take_it_all_p1.append(p1)
  80.                 take_it_all_p1.append(p2)
  81.                 print("side deck of 1",self.player_1_side_deck)
  82.                 print("side deck of 2",self.player_2_side_deck)
  83.  
  84.  
  85.  
  86.  
  87.                 print("the winner is going to win these cards:",take_it_all_p1 + take_it_all_p2)
  88.                 if p1 > p2:
  89.                         self.player_1_side_deck += take_it_all_p1 + take_it_all_p2
  90.  
  91.  
  92.                 elif p2 > p1:
  93.                         self.player_2_side_deck += take_it_all_p1 + take_it_all_p2
  94.                         print(self.player_2_side_deck)
  95.  
  96.             if len(self.player_1_deck) == 0:
  97.                 self.player_1_deck = self.player_1_side_deck
  98.             if len(self.player_2_deck) == 0:
  99.                 self.player_2_deck = self.player_2_side_deck
  100.  
  101.         print("Round Ended,final results:")
  102.  
  103.         print(f"Player 1 has {len(self.player_1_side_deck)},")
  104.         print(f"Player 2 has {len(self.player_2_side_deck)}")
  105.  
  106.         print(f"Player 1 has {len(self.player_1_deck)}")
  107.         print(f"Player 2 has {len(self.player_2_deck)}")
  108.  
  109.         print('----------------------------------------------------------------')
  110.  
  111.         if len(self.player_2_side_deck) > len(self.player_1_side_deck):
  112.             print("Player 2 won!")
  113.  
  114.         else:
  115.             print("Player 1 won!")
  116.  
  117.     def game(self):
  118.  
  119.             self.round()
  120.  
  121. # Starting the game.
  122. game = WarGame()
  123. game.game()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement