예제 #1
0
파일: WarRules.py 프로젝트: snturner/plm18
def winner(gameResources):
    p1 = gameResources["players"][0]
    p2 = gameResources["players"][1]
    p1card = gameResources["cardsinplay"][0]
    p2card = gameResources["cardsinplay"][1]
    print('Player 1 plays card ' + p1card.string())
    print('Player 2 plays card ' + p2card.string())
    #compare the two cards
    try:
        if Card.compare(p1card.value, p2card.value) == 1:
            print('Player 1 wins the round!')
            print('-----------------------------------------------------')
            for c in gameResources["cardsinplay"]:
                p1.hand.append(gameResources["cardsinplay"].pop())
            gameResources["isTie"] = False
        elif Card.compare(p1card.value, p2card.value) == 2:
            print('Player 2 wins the round!')
            print('-----------------------------------------------------')
            for c in gameResources["cardsinplay"]:
                p2.hand.append(gameResources["cardsinplay"].pop())
            gameResources["isTie"] = False
        else:
            print('Both players tied!')
            gameResources["cardsinplay"].append(p1.hand[0])
            gameResources["cardsinplay"].append(p1.hand[1])
            gameResources["cardsinplay"].append(p2.hand[0])
            gameResources["cardsinplay"].append(p2.hand[1])
            p1.hand = p1.hand[2:]
            p2.hand = p2.hand[2:]
            gameResources["isTie"] = True

        gameResources["hasCards"]  = (len(p1.hand) != 0) and (len(p2.hand) != 0)
        gameResources["emptyHand"] = not gameResources["hasCards"]
        #print(len(p1.hand))
        #print(len(p2.hand))
        #print(gameResources["hasCards"])
        #print(gameResources["emptyHand"])
        
    except IndexError:
        if len(p1.hand) == 0 or len(p2.hand) == 0 :
            gameResources["emptyHand"] = True
            gameResources["hasCards"] = False
            gameResources["isTie"] = False
예제 #2
0
def checkHand(gameResources):
    playerNum = gameResources["currentPlayer"]
    player = gameResources["players"][playerNum]
    cardCount = gameResources["cardCount"]
    gameResources["hasSuit"] = True
    for i in range(1, cardCount):
        if Card.compare(player.hand[i].suit, player.hand[i - 1].suit) != 0:
            gameResources["hasSuit"] = False
    if gameResources["hasSuit"]:
        gameResources["gameOver"] = True
예제 #3
0
def playCard(gameResources):
    d = gameResources["dealer"]
    playerNum = gameResources["currentPlayer"]
    player = gameResources["players"][playerNum]
    cardnum = gameResources["cardnum"] 
    if cardnum != -1:
        cardToPlay = gameResources["cardpicked"]
        if Card.compare(cardToPlay.value, gameResources["discardList"][0].value) == 0 or Card.compare(cardToPlay.suit, gameResources["discardList"][0].suit) == 0:
            gameResources["discardList"].insert(0, cardToPlay)
            del player.hand[(cardnum - 1)]
        else:
            print("Invalid card, Player %(num)d draws a card"% {"num": (playerNum + 1)})
            player.hand.append(d.dealCard())