| 1045 | j -= 1 |
| 1046 | |
| 1047 | def placeCard(self, card=None): |
| 1048 | if card == None: |
| 1049 | ### Used At Beginning For First Card ### |
| 1050 | card = self.deck.draw() |
| 1051 | self.elements['DNum'] = len(self.deck) |
| 1052 | |
| 1053 | cardColor = card.getColorCode() |
| 1054 | cardBigNums = card.getBigNum(self.reverse) |
| 1055 | |
| 1056 | self.currentColor = card.getColor() |
| 1057 | self.currentValue = card.getValue() |
| 1058 | |
| 1059 | self.pile.insert(card) |
| 1060 | self.elements['oHeader'] = '{}\u2666\u2666\u2666=========\u2666\u2666\u2666\033[0m\t'.format(cardColor) |
| 1061 | self.elements['oMiddle'] = cardBigNums |
| 1062 | |
| 1063 | if len(self.pile) > 1: |
| 1064 | previousCard = self.pile[1] |
| 1065 | previousCardColor = previousCard.getColorCode() |
| 1066 | self.elements['uHeader'] = '{} \u2666\u2666\u2666=========\u2666\u2666\u2666\033[0m\t\t'.format(previousCardColor) |
| 1067 | self.elements['uMiddle'] = '{}| |\033[0m'.format(previousCardColor) |
| 1068 | self.elements['uLower'] = '{}\u2666\u2666\u2666\033[0m'.format(previousCardColor) |
| 1069 | |
| 1070 | if self.currentColor == 'wild': |
| 1071 | self.event = 'wild' |
| 1072 | |
| 1073 | if self.currentValue == 'X': |
| 1074 | self.event = 'skip' |
| 1075 | elif self.currentValue == 'R': |
| 1076 | if len(self.players) > 2: |
| 1077 | self.event = 'reverse' |
| 1078 | else: |
| 1079 | self.event = 'skip' |
| 1080 | elif self.currentValue == '+4': |
| 1081 | self.drawAmount = 4 |
| 1082 | elif self.currentValue == '+2': |
| 1083 | self.drawAmount = 2 |
| 1084 | self.passes = 0 |
| 1085 | |
| 1086 | def extractCard(self, playerID, index): |
| 1087 | card = self.players[playerID].removeCard(index) |