Add Game printStatus method which display already defined elements
This commit is contained in:
parent
fa2cde4c44
commit
1e3b96e689
@ -27,6 +27,12 @@ class Circus:
|
|||||||
remaining[color] = remaining[color] - 1
|
remaining[color] = remaining[color] - 1
|
||||||
self.state = 0 # 0 means Circus is not used in game yet, 1 means next wagon in list is #1, and so on
|
self.state = 0 # 0 means Circus is not used in game yet, 1 means next wagon in list is #1, and so on
|
||||||
|
|
||||||
|
def enable(self):
|
||||||
|
self.state = 1
|
||||||
|
|
||||||
|
def getNextColor(self):
|
||||||
|
return self.wagons[self.state - 1]
|
||||||
|
|
||||||
def getWagon(self):
|
def getWagon(self):
|
||||||
if self.state == 0:
|
if self.state == 0:
|
||||||
print("Circus is not or no longer in game.")
|
print("Circus is not or no longer in game.")
|
||||||
@ -35,7 +41,7 @@ class Circus:
|
|||||||
self.state = self.state + 1
|
self.state = self.state + 1
|
||||||
if self.state == len(self.wagons) - 1:
|
if self.state == len(self.wagons) - 1:
|
||||||
print("Circus stickers are now depleted.")
|
print("Circus stickers are now depleted.")
|
||||||
self.state = 0
|
self.state = 0 # effectively disable circus
|
||||||
|
|
||||||
|
|
||||||
class ConcessionCard: # name may be different in English
|
class ConcessionCard: # name may be different in English
|
||||||
@ -52,13 +58,16 @@ class ConcessionCard: # name may be different in English
|
|||||||
choice = random.randint(0, pepitesNb - n)
|
choice = random.randint(0, pepitesNb - n)
|
||||||
self.pepites.append(availableValues[choice])
|
self.pepites.append(availableValues[choice])
|
||||||
availableValues.pop(choice)
|
availableValues.pop(choice)
|
||||||
self.taken = []
|
self.taken = set()
|
||||||
|
|
||||||
|
def getRemainingPepites(self):
|
||||||
|
return {1, 2, 3, 4, 5, 6, 7} - self.taken
|
||||||
|
|
||||||
def getReward(self, choice):
|
def getReward(self, choice):
|
||||||
if choice in self.taken:
|
if choice in self.taken:
|
||||||
print(str(choice) + " has already been obtained.")
|
print(str(choice) + " has already been obtained.")
|
||||||
return False
|
return False
|
||||||
self.taken.append(choice)
|
self.taken.add(choice)
|
||||||
print("Congrats! You obtained $" + str(self.pepites[choice]))
|
print("Congrats! You obtained $" + str(self.pepites[choice]))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -73,6 +82,7 @@ class Game:
|
|||||||
def initGame(self, playersNb):
|
def initGame(self, playersNb):
|
||||||
# Game status
|
# Game status
|
||||||
self.year = 1858
|
self.year = 1858
|
||||||
|
self.concession = False
|
||||||
|
|
||||||
# General data to generate
|
# General data to generate
|
||||||
self.circus = Circus(playersNb)
|
self.circus = Circus(playersNb)
|
||||||
@ -82,11 +92,24 @@ class Game:
|
|||||||
# Players
|
# Players
|
||||||
self.players = []
|
self.players = []
|
||||||
for n in range(0, playersNb):
|
for n in range(0, playersNb):
|
||||||
color = input("Enter the player's color: ")
|
color = input("Enter player " + str(n + 1) + "'s color: ")
|
||||||
self.players.append(Player(color))
|
self.players.append(Player(color))
|
||||||
|
|
||||||
# TODO: print status of the game (year, players (color, concession pepites), circus next wagon, treasures remaining to find)
|
def printStatus(self):
|
||||||
#def printStatus(self):
|
print("Ticket to Ride Legacy: Legends of the West")
|
||||||
|
print("")
|
||||||
|
print("Campaign - Year: " + str(self.year))
|
||||||
|
print("")
|
||||||
|
print("Players:")
|
||||||
|
for player in self.players:
|
||||||
|
print(" " + player.color)
|
||||||
|
if self.concession:
|
||||||
|
print(" Concession card remaining pepites: " + str(player.concession.getRemainingPepites()))
|
||||||
|
print("")
|
||||||
|
if self.circus.state > 0:
|
||||||
|
print("Circus next sticker color: " + self.circus.getNextColor())
|
||||||
|
# TODO: treasures remaining to find)
|
||||||
|
|
||||||
|
|
||||||
def saveData(self):
|
def saveData(self):
|
||||||
savefile = open('./savefile.json', 'w+')
|
savefile = open('./savefile.json', 'w+')
|
||||||
@ -101,7 +124,7 @@ def loadData():
|
|||||||
|
|
||||||
|
|
||||||
# TESTS
|
# TESTS
|
||||||
playersNb = 3
|
playersNb = 2
|
||||||
|
|
||||||
# Test of data generation
|
# Test of data generation
|
||||||
# myGame = Game()
|
# myGame = Game()
|
||||||
@ -114,18 +137,24 @@ playersNb = 3
|
|||||||
# print(myGame.circus.wagons)
|
# print(myGame.circus.wagons)
|
||||||
|
|
||||||
# Test of ConcessionCard
|
# Test of ConcessionCard
|
||||||
cc = ConcessionCard()
|
# cc = ConcessionCard()
|
||||||
userChoice = 3
|
# userChoice = 3
|
||||||
print(cc.pepites)
|
# print(cc.pepites)
|
||||||
cc.getReward(userChoice - 1)
|
# cc.getReward(userChoice - 1)
|
||||||
print(cc.pepites)
|
# print(cc.pepites)
|
||||||
print(cc.taken)
|
# print(cc.taken)
|
||||||
cc.getReward(userChoice - 1)
|
# print("Remaining: " + str(cc.getRemainingPepites()))
|
||||||
print(cc.pepites)
|
# cc.getReward(userChoice - 1)
|
||||||
print(cc.taken)
|
# print(cc.pepites)
|
||||||
|
# print(cc.taken)
|
||||||
|
# print("Remaining: " + str(cc.getRemainingPepites()))
|
||||||
|
|
||||||
# Test of Player
|
# Test of Player
|
||||||
# myGame = Game()
|
myGame = Game()
|
||||||
# myGame.initGame(playersNb)
|
myGame.initGame(playersNb)
|
||||||
# print(myGame.players[1].color)
|
myGame.printStatus()
|
||||||
# print(myGame.players[1].concession.pepites)
|
myGame.concession = True
|
||||||
|
myGame.printStatus()
|
||||||
|
myGame.circus.enable()
|
||||||
|
myGame.printStatus()
|
||||||
|
print(myGame.circus.wagons)
|
||||||
|
Loading…
Reference in New Issue
Block a user