def on_enter_CaravanSupply(self, event): logger.info('on_enter_CaravanSupply: self.random_number = {}'.format(self.random_number)) if self.random_number < 25: print('Заморский купец предлагает снарядить караван.\nВы согласны (y/n) ==> ') # TODO: добавить обработку print('В казне - {} руб, сколько на караван: '.format(self.money)) self.caravane_money = 0 # TDOD: сдклать запрос и проверку на деньги print('Караван отправился за три-девять земель...') self.money -= self.caravane_money
def isReasonWar(self, event): logger.info('isReasonWar: self.random_number = {}'.format(self.random_number)) # TODO: добавить условие, если Вы отказали жениться # print('Разозленный отказом жениться на его дочке, соседний король начал ВОЙНУ!') if self.guard < 100: if self.random_number > self.guard: print('Соседние короли, видя малочисленность Ваших войск, объявили Вам ВОЙНУ!') return True else: if self.random_number < 30: print('Есть возможность объявить войну одному из соседей.\nОбъявляете? (y/n) ==> ') return False # for test return True # for test
def on_enter_CaravanRob(self, event): logger.info('on_enter_CaravanRob: self.random_number = {}'.format(self.random_number)) if self.random_number < 20: logger.info('on_enter_CaravanRob: rob') self.update_random(event) if self.random_number < 5: printf('Произошло ЧП! Ваш караван полностью разграблен бандитами!!!') self.caravan_year = 0 self.caravane_money = 0 else: self.update_random(event) # TODO: номер должен быть от 0 до 40 robbed_money = int(self.caravane_money * self.random_number / 100) print('Внимание, ЧП! Ваш караван ограблен бандитами на сумму {} руб.!!!'.format(robbed_money)) self.caravane_money -= robbed_money
def on_enter_Inheritance(self, event): logger.info('on_enter_Inheritance: self.random_number = {}'.format(self.random_number)) if self.random_number < 10: # TODO: добавить обработку print('Умер Ваш дальний родственник. Вы получили наследство в размере:') print('╔═════════════════╤════════════╗') print('║ Название │ Запасы ║') print('╠═════════════════╪════════════╣') print('║ Наличность, руб │ {:>10} ║'.format(self.money)) print('║ Золото, кг. │ {:>10} ║'.format(self.gold)) print('║ Земля, га │ {:>10} ║'.format(self.land)) print('║ Зерно, тонн │ {:>10} ║'.format(self.grain)) print('║ Крестьяне, душ │ {:>10} ║'.format(self.peasant)) print('║ Гвардия, чел. │ {:>10} ║'.format(self.guard)) print('╚═════════════════╧════════════╝')
def answerIsThree(self, event): logger.info('answerIsTree: self.answer = {}'.format(self.answer)) if self.answer == 3: return True return False
def answerIsTwo(self, event): logger.info('answerIsTwo: self.answer = {}'.format(self.answer)) if self.answer == 2: return True return False
def answerIsOne(self, event): logger.info('answerIsOne: self.answer = {}'.format(self.answer)) if self.answer == 1: return True return False
def update_random(self, event): self.random_number = random.randint(0, 100) logger.info('update_random: self.random_number = {}'.format(self.random_number))
def isVizirCatch(self, event): logger.info('isVizirCatch: self.random_number = {}'.format(self.random_number)) if self.random_number < 15: return True return False
def isReceiveMetropolitan(self, event): logger.info('isReceiveMetropolitan: self.random_number = {}'.format(self.random_number)) if self.random_number < 20: return True return False
def isCrisis(self, event): logger.info('isCrisis: self.random_number = {}'.format(self.random_number)) self.is_crisis = False if self.random_number < 25: self.is_crisis = True return self.is_crisis
def is0YearCaravan(self, event): logger.info('is0YearCaravan: self.caravan_year = {}'.format(self.caravan_year)) if self.caravan_year == 0: return True return False
def isFirstYear(self, event): logger.info('isFirstYear: self.current_year = {}'.format(self.current_year)) if self.current_year == 1: return True return False
return True return False # утилитки def update_random(self, event): self.random_number = random.randint(0, 100) logger.info('update_random: self.random_number = {}'.format(self.random_number)) # ================================================================================================================================================================== if __name__ == "__main__": # ------------------------------------------------------- # parse ini file config = configparser.ConfigParser(allow_no_value=True) config.read('euphoria.ini') # ------------------------------------------------------- # logging __log_directory = Path('./logs') if not __log_directory.is_dir(): __log_directory.mkdir() __log_handler = logging.FileHandler('./logs/{}_euphoria.log'.format(time.strftime('%Y-%m-%d_%H:%M:%S'))) __log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') __log_handler.setFormatter(__log_formatter) logger.addHandler(__log_handler) logger.setLevel(logging.INFO) logger.info('-' * 80) # ------------------------------------------------------- # game euphoria = Euphoria() while euphoria.state != 'End': euphoria.step()