Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Player:
- def __init__(self, deck):
- self.deck = deck
- self.battlefieldl = []
- def can_play(self):
- return len(self.deck)
- def battlefield(self, playvalue):
- self.battlefieldl = [self.deck.pop(0) for i in range(min(playvalue, 4))]
- return(self.battlefieldl)
- def add_cards(self, battlefield):
- self.deck.extend(battlefield)
- def main():
- deck1 = input("Insert the first half of the deck: ")
- deck2 = input("Insert the second half of the deck: ")
- player1 = Player(list(map(int, deck1.split())))
- player2 = Player(list(map(int, deck2.split())))
- isLoser = False
- while not isLoser:
- if player1.can_play() == 0 and player2.can_play() == 0:
- return 0
- elif player1.can_play() == 0:
- return 1
- elif player2.can_play() == 0:
- return 2
- x = min(player1.can_play(), player2.can_play())
- battlefield1 = player1.battlefield(x)
- battlefield2 = player2.battlefield(x)
- while battlefield1[-1] == battlefield2[-1] and player1.can_play() !=0 and player2.can_play() != 0:
- x = min(player1.can_play(), player2.can_play())
- battlefield1.extend(player1.battlefield(x))
- battlefield2.extend(player2.battlefield(x))
- if battlefield1[-1] > battlefield2[-1]:
- player1.add_cards(battlefield1)
- player1.add_cards(battlefield2)
- elif battlefield2[-1] > battlefield1[-1]:
- player2.add_cards(battlefield2)
- player2.add_cards(battlefield1)
- else:
- if player1.can_play() == 0 and player2.can_play() == 0:
- return 0
- elif player1.can_play() == 0:
- return 1
- else:
- return 2
- if __name__ == "__main__":
- print(main())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement