コード例 #1
0
 def test_serialize(self):
     self.assertEqual(self.kb.serialize(), KnowledgeBase.deserialize(self.kb.serialize(), FACTS).serialize())
     self.assertEqual(
         self.kb.serialize(short=True), KnowledgeBase.deserialize(self.kb.serialize(short=True), FACTS).serialize()
     )
     self.assertNotEqual(
         self.kb.serialize(), KnowledgeBase.deserialize(self.kb.serialize(short=True), FACTS).serialize()
     )
コード例 #2
0
 def test_serialize(self):
     self.assertEqual(
         self.kb.serialize(),
         KnowledgeBase.deserialize(self.kb.serialize(), FACTS).serialize())
     self.assertEqual(
         self.kb.serialize(short=True),
         KnowledgeBase.deserialize(self.kb.serialize(short=True),
                                   FACTS).serialize())
     self.assertNotEqual(
         self.kb.serialize(),
         KnowledgeBase.deserialize(self.kb.serialize(short=True),
                                   FACTS).serialize())
コード例 #3
0
ファイル: prototypes.py プロジェクト: Tiendil/the-tale
 def deserialize(cls, data):
     return cls(
         knowledge_base=KnowledgeBase.deserialize(data["knowledge_base"], fact_classes=facts.FACTS),
         quests_stack=[QuestInfo.deserialize(info_data) for info_data in data["quests_stack"]],
         created_at=datetime.datetime.fromtimestamp(data["created_at"]),
         states_to_percents=data["states_to_percents"],
     )
コード例 #4
0
ファイル: prototypes.py プロジェクト: serhii73/the-tale
 def deserialize(cls, data):
     return cls(
         knowledge_base=KnowledgeBase.deserialize(data['knowledge_base'],
                                                  fact_classes=facts.FACTS),
         quests_stack=[
             QuestInfo.deserialize(info_data)
             for info_data in data['quests_stack']
         ],
         created_at=datetime.datetime.fromtimestamp(data['created_at']),
         states_to_percents=data['states_to_percents'])
コード例 #5
0
ファイル: logic.py プロジェクト: Alkalit/the-tale
def setup_quest_for_hero(hero, knowledge_base_data):

    # do nothing if hero has already had quest
    if not hero.actions.current_action.searching_quest:
        return

    knowledge_base = KnowledgeBase.deserialize(knowledge_base_data, fact_classes=facts.FACTS)

    states_to_percents = analysers.percents_collector(knowledge_base)

    quest = QuestPrototype(hero=hero, knowledge_base=knowledge_base, states_to_percents=states_to_percents)

    if quest.machine.can_do_step():
        quest.machine.step() # do first step to setup pointer

    hero.actions.current_action.setup_quest(quest)
コード例 #6
0
ファイル: logic.py プロジェクト: serhii73/the-tale
def setup_quest_for_hero(hero, knowledge_base_data):

    # do nothing if hero has already had quest
    if not hero.actions.current_action.searching_quest:
        return

    knowledge_base = KnowledgeBase.deserialize(knowledge_base_data,
                                               fact_classes=facts.FACTS)

    states_to_percents = analysers.percents_collector(knowledge_base)

    quest = QuestPrototype(hero=hero,
                           knowledge_base=knowledge_base,
                           states_to_percents=states_to_percents)

    if quest.machine.can_do_step():
        quest.machine.step()  # do first step to setup pointer

    hero.actions.current_action.setup_quest(quest)
コード例 #7
0
ファイル: prototypes.py プロジェクト: alexudracul/the-tale
 def deserialize(cls, hero, data):
     return cls(knowledge_base=KnowledgeBase.deserialize(data['knowledge_base'], fact_classes=facts.FACTS),
                quests_stack=[QuestInfo.deserialize(info_data) for info_data in data['quests_stack']],
                created_at=datetime.datetime.fromtimestamp(data['created_at']),
                states_to_percents=data['states_to_percents'],
                hero=hero)