Advertisement
Guest User

Untitled

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