def ShowUserInterface(ClearTheConsole = True): """ This function draws the railroad on the screen """ # show title and rules Initialization.ShowTitleAndRules(ClearTheConsole) # show railroad data print("\nTableau de bord") print("---------------\n") print(f"Longueur de la voie ferrée : {len(Variables.Railroad)}") print(f"Nombre de stations d'énergie : {Variables.EnergyPodNumber}, énergie consommée par déplacement à vide ({Variables.EnergyConsumptionByMovement}) puis par caisse chargée ({Variables.EnergyConsumptionByMovementByLoadedCrate}), et par caisse (dé)chargée ({Variables.EnergyConsumptionByCrate})") print(f"Nombre de caisses : à charger ({Variables.NumberOfCratesToLoad}) - livrées ({Variables.NumberOfCratesDelivered})") print(f"Train - Position : {Variables.TrainPosition} (sur {Utilities.GetSymbolName(Variables.SymbolUnderTrain)} - {Variables.SymbolUnderTrain}) - Énergie : {Variables.TrainCurrentEnergy}/{Variables.TrainMaxEnergy} - Charge : {Variables.TrainCurrentLoad}/{Variables.TrainMaxLoad}") print(f"Activités du train : {Variables.TrainMovements} déplacements et {Variables.TrainActions} actions") # show history (only the 10 last) with a slicing print(f"Historique des 10 dernières actions : {', '.join(Variables.InstructionsHistory[:-11:-1])}") print() # draw railroad # print(f"\nVoie ferrée {len(Railroad)}\n{''.join(Railroad)}\n") print(''.join(Variables.Railroad)) # check victory or defeat CheckVictoryOrDefeat()
def Main(): """ Main function """ # Initialize game Initialization.ShowTitleAndRules() Initialization.GameInitialization() Train.ShowUserInterface() # Main game loop while Variables.GameInProgress: Train.AskUserAction() print("\nAu revoir.\n")