Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- # creating a class warGame
- class WarGame:
- def __init__(self):
- # this will give the both players numbers bettwwen 1-14, 4 times.
- self.player_1_deck = list(range(1, 14)) * 4
- self.player_2_deck = list(range(1, 14)) * 4
- # This will shuffle the the numbers so they wont have the same cards in the same order.
- random.shuffle(self.player_1_deck)
- random.shuffle(self.player_2_deck)
- # Lists for the palyers.
- self.player_1_side_deck = []
- self.player_2_side_deck = []
- # This func will start a round of a war game.
- def round(self):
- # if the len of both will be bigger than 0.
- while len(self.player_1_deck) > 0 and len(self.player_2_deck) > 0:
- # For checking only:
- print("player 1 side deck", self.player_1_side_deck)
- print("player 2 side deck", self.player_2_side_deck)
- print("---------------------------------------------------------------")
- print("player 1 not side", self.player_1_deck)
- print("player 2 not side", self.player_2_deck)
- # take out the last num of the list.
- p1 = self.player_1_deck.pop()
- p2 = self.player_2_deck.pop()
- # if the last card of p1 is bigger than the card of p2 then add the card of p2 also.
- if p1 > p2:
- self.player_1_side_deck.append(p1)
- self.player_1_side_deck.append(p2)
- # if the last card of p2 is bigger than the card of p1 then add the card of p1 also.
- elif p2 > p1:
- self.player_2_side_deck.append(p1)
- self.player_2_side_deck.append(p2)
- # if its tie then war!
- # If its tie then every player puts 3 cards "opposite",
- # and one card not opposite, if the card the is not opposite,
- # (the 4 card) is bigger then the one that got it bigger takes the
- # whole cards, if its equals then do it again.
- elif p1 == p2:
- print("War!")
- take_it_all_p1 = []
- take_it_all_p2 = []
- take_it_all_p1.append(p1)
- take_it_all_p1.append(p2)
- if len(self.player_1_deck) < 4:
- self.player_1_deck += self.player_1_side_deck
- self.player_1_side_deck = []
- elif len(self.player_1_deck) < 4:
- self.player_2_deck += self.player_2_side_deck
- self.player_2_side_deck = []
- for i in range(3):
- p1 = self.player_1_deck.pop()
- take_it_all_p1.append(p1)
- p2 = self.player_2_deck.pop()
- take_it_all_p2.append(p2)
- p1 = self.player_1_deck.pop()
- p2 = self.player_2_deck.pop()
- take_it_all_p1.append(p1)
- take_it_all_p1.append(p2)
- print("side deck of 1",self.player_1_side_deck)
- print("side deck of 2",self.player_2_side_deck)
- print("the winner is going to win these cards:",take_it_all_p1 + take_it_all_p2)
- if p1 > p2:
- self.player_1_side_deck += take_it_all_p1 + take_it_all_p2
- elif p2 > p1:
- self.player_2_side_deck += take_it_all_p1 + take_it_all_p2
- print(self.player_2_side_deck)
- print("Round Ended")
- print(f"Player 1 has {len(self.player_1_side_deck)},")
- print(f"Player 2 has {len(self.player_2_side_deck)}")
- print(f"Player 1 has {len(self.player_1_deck)}")
- print(f"Player 2 has {len(self.player_2_deck)}")
- if len(self.player_1_deck) == 0:
- self.player_1_deck = self.player_1_side_deck
- if len(self.player_2_deck) == 0:
- self.player_2_deck = self.player_2_side_deck
- def game(self):
- self.round()
- # Starting the game.
- game = WarGame()
- game.game()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement