From 99f418a54ea2816559c23569fc880812d669644d Mon Sep 17 00:00:00 2001 From: Harishankar Date: Wed, 5 Oct 2011 18:49:09 +0530 Subject: [PATCH] Added the Conversation Interaction Added conversation for NPC code --- maingame.py | 5 ++- portraits/bulisa.png | Bin 6217 -> 13859 bytes portraits/butaba.png | Bin 0 -> 15925 bytes utility.py | 98 ++++++++++++++++++++++++++++++++++--------- 4 files changed, 81 insertions(+), 22 deletions(-) create mode 100644 portraits/butaba.png diff --git a/maingame.py b/maingame.py index 32df4cc..687db49 100644 --- a/maingame.py +++ b/maingame.py @@ -64,7 +64,8 @@ class MainGame: self.img_bulisa = pygame.image.load (os.path.join ("sprite", "bulisa.png")).convert () self.img_bulisa.set_colorkey (pygame.Color (0, 255, 0)) - # initialize NPC portraits + # initialize portraits + self.img_butaba_portrait = pygame.image.load (os.path.join ("portraits", "butaba.png")).convert () self.img_bulisa_portrait = pygame.image.load (os.path.join ("portraits", "bulisa.png")).convert () # set level data @@ -255,7 +256,7 @@ class MainGame: # interaction with npcs def interact_npc (self, npc): # interact with NPC and get the response ID - resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.butaba, 0, 90) + resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.img_butaba_portrait, 0, 90) # if none if resp_id is None: diff --git a/portraits/bulisa.png b/portraits/bulisa.png index f8f7a977c0bf831e699f3284fd0d175f19f4fd79..2563f9e94f8b58caba8681a498edcfd13eb565d8 100644 GIT binary patch literal 13859 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 diff --git a/portraits/butaba.png b/portraits/butaba.png new file mode 100644 index 0000000000000000000000000000000000000000..02355ad2f17bee0036b8a5a58a295d0e289f1b45 GIT binary patch literal 15925 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 XF&= len (convtree[dlg_id][1]): + sel = len(convtree[dlg_id][1]) - 1 + current_resp = convtree[dlg_id][1][sel][1] + + elif event.key == pygame.K_RETURN or event.key == pygame.K_SPACE: + dlg_id = convtree[dlg_id][1][sel][2] + reply_mode = False # function to parse a conversation XML into a python dictionary def xml_to_dict (file): @@ -56,10 +111,13 @@ def xml_to_dict (file): convtree = dict () for dlg in conversation.findall ("dialogue"): id = dlg.get ("id") - convtree[id] = [] - convtree[id].append (dlg.find ("speech").text) + speech = dlg.find ("speech").text + responses = [] for resp in dlg.findall ("response"): - convtree[id].append ((resp.text, resp.get ("id"), resp.get ("nextdialogue"))) + responses.append ((resp.text, resp.get ("id"), resp.get ("nextdialogue"))) + + convtree[id] = (speech, responses) + return convtree -- 2.20.1