def simulateAGame(): P1Hand = Deck() P2Hand = Deck() community = buildCommunityDeck() for i in range(0,8): P1Hand.insertCard(community['mainDeck'].cards.pop()) P2Hand.insertCard(community['mainDeck'].cards.pop()) # print "player 2 cards" # P2Hand.revealSorted() print "Remaining:" # mainDeck.revealAll() b = Card(Color.RED.value,10) computer = ai.DumbAI() computer2=ai.AlwaysDraw() while True: if len(P2Hand)<8: raise Exception("P2 doesn't have 8 cards") if len(P1Hand)<8: raise Exception("P1 doesn't have 8 cards") print "Cards remaining: {}".format(len(community['mainDeck'])) print "Player 1 cards" P1Hand.revealSorted() printGameBoard(community) # getMove("P1",P1Hand,community) computer.computerMakeMove("P1",P1Hand,community) if gameOver(community['mainDeck']): break print "Cards remaining: {}".format(len(community['mainDeck'])) # P2Hand.revealSorted() printGameBoard(community) # getMove("P2",P2Hand,community) computer2.computerMakeMove("P2",P2Hand,community) if gameOver(community['mainDeck']): break return printGameSummary(community)
def main(): P1 = Deck() for x in range(1,10): card = Card(2,x) P1.insertCard(card) for x in range(1,8): P1.insertCard(Card(3,x)) for x in range(7,10): P1.insertCard(Card(4,x)) print getColorDict(P1) return P1Wins = 0 P2Wins = 0 P1CumulativeScore = 0 P2CumulativeScore = 0 for i in range(0,100): P1Score,P2Score = simulateAGame() P1CumulativeScore+=P1Score P2CumulativeScore+=P2Score if P1Score>P2Score: P1Wins+=1 elif P2Score>P1Score: P2Wins+=1 print "P1 is dumb P2 is always draw!" print "After 100 rounds, P1Wins: {} P2Wins: {}\nP1 Total:{}, P2 Total: {}".format(P1Wins,P2Wins,P1CumulativeScore,P2CumulativeScore)