Ejemplo n.º 1
0
Archivo: main.py Proyecto: halexus/Uno
       colorama.Fore.BLACK)  #Background white, textcolor black
 clear_screen()  #To make background white
 printCopyright()
 discardPile = Discardpile()  #Build the initial (empty) discard pile
 deck = Deck(discardPile)  #Build a deck with 108 cards
 players = makePlayers(deck)  #Initialize players with deck
 noOfPlayers = len(players)
 idCurrentPlayer = randint(0, noOfPlayers -
                           1)  #ID of first player in first round
 discardPile.putCard(
     deck.drawCard()[0],
     players[idCurrentPlayer])  #Put first card at discard pile
 isClockwise = True  #Direction of play. Can be changed by reverse card
 while True:  #Game loop
     clear_screen()
     topCard = discardPile.getCardOnTop()
     currentPlayer = players[idCurrentPlayer]
     showNoOfCardsInHand(
         players,
         idCurrentPlayer)  #Print how many cards the other players have
     print('Pile: %s\n' % topCard)  #Show top card on discard pile
     cardToPlay = currentPlayer.takeTurn(deck, topCard, noOfPlayers)
     if cardToPlay == None:  #It's None if a card was drawn
         print('%s draws a card.' % currentPlayer.getName())
     elif cardToPlay == 'skip':  #It's 'skip' if player's turn is skipped
         print("%s's turn is skipped." % currentPlayer.getName())
     else:  #A card was chosen to play
         discardPile.putCard(cardToPlay,
                             currentPlayer)  #Put played card on pile
         if cardToPlay.isReverse():  #Did player play a reverse card?
             isClockwise = not isClockwise  #Order of play reversed
Ejemplo n.º 2
0
Archivo: main.py Proyecto: halexus/Uno
if __name__ == '__main__':
    colorama.init() #Initialize color output
    print(colorama.Back.WHITE + colorama.Fore.BLACK) #Background white, textcolor black
    clear_screen() #To make background white
    printCopyright()
    discardPile = Discardpile() #Build the initial (empty) discard pile
    deck = Deck(discardPile) #Build a deck with 108 cards   
    players = makePlayers(deck) #Initialize players with deck
    noOfPlayers = len(players)
    idCurrentPlayer = randint(0, noOfPlayers-1) #ID of first player in first round  
    discardPile.putCard(deck.drawCard()[0], players[idCurrentPlayer]) #Put first card at discard pile
    isClockwise = True #Direction of play. Can be changed by reverse card
    while True: #Game loop
        clear_screen()
        topCard = discardPile.getCardOnTop()
        currentPlayer = players[idCurrentPlayer]
        showNoOfCardsInHand(players, idCurrentPlayer) #Print how many cards the other players have
        print('Pile: %s\n' % topCard) #Show top card on discard pile
        cardToPlay = currentPlayer.takeTurn(deck, topCard, noOfPlayers)          
        if cardToPlay == None: #It's None if a card was drawn
            print('%s draws a card.' % currentPlayer.getName())
        elif cardToPlay == 'skip': #It's 'skip' if player's turn is skipped
            print("%s's turn is skipped." % currentPlayer.getName())
        else: #A card was chosen to play
            discardPile.putCard(cardToPlay, currentPlayer) #Put played card on pile
            if cardToPlay.isReverse(): #Did player play a reverse card?
                isClockwise = not isClockwise #Order of play reversed
        if currentPlayer.isWinner():
            print('%s wins the game!' % currentPlayer.getName())
            break