Example #1
0
 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
Example #2
0
 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
Example #3
0
 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
Example #4
0
 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('╚═════════════════╧════════════╝')
Example #5
0
 def answerIsThree(self, event):
     logger.info('answerIsTree: self.answer = {}'.format(self.answer))
     if self.answer == 3:
         return True
     return False
Example #6
0
 def answerIsTwo(self, event):
     logger.info('answerIsTwo: self.answer = {}'.format(self.answer))
     if self.answer == 2:
         return True
     return False
Example #7
0
 def answerIsOne(self, event):
     logger.info('answerIsOne: self.answer = {}'.format(self.answer))
     if self.answer == 1:
         return True
     return False
Example #8
0
 def update_random(self, event):
     self.random_number = random.randint(0, 100)
     logger.info('update_random: self.random_number = {}'.format(self.random_number))
Example #9
0
 def isVizirCatch(self, event):
     logger.info('isVizirCatch: self.random_number = {}'.format(self.random_number))
     if self.random_number < 15:
         return True
     return False
Example #10
0
 def isReceiveMetropolitan(self, event):
     logger.info('isReceiveMetropolitan: self.random_number = {}'.format(self.random_number))
     if self.random_number < 20:
         return True
     return False
Example #11
0
 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
Example #12
0
 def is0YearCaravan(self, event):
     logger.info('is0YearCaravan: self.caravan_year = {}'.format(self.caravan_year))
     if self.caravan_year == 0:
         return True
     return False
Example #13
0
 def isFirstYear(self, event):
     logger.info('isFirstYear: self.current_year = {}'.format(self.current_year))
     if self.current_year == 1:
         return True
     return False
Example #14
0
            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()