<div dir="ltr"><div dir="ltr">Thanks Tomas!<br></div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
>>> % Define network for navigation<br>
>>> connected(salon,hallway)<br>
>>> connected(bedroom,hallway)<br>
>>> connected(X,Y) :- connected(Y,X)<br>
<br>
>This looks fine, except for the rule. Just duplicate the links.<br></blockquote><div><br></div><div>Is the rule approach actually wrong (won't work) or just slower (an extra step) ?<br></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
>>> % Assign character status<br>
>>> dead(dan)<br><br>
>Depends... but probably not like that. You could have a set of dead<br>
>people, or a map from people to status, or something else.<br></blockquote><div><br></div><div>Yes, I use a lot of dictionaries in Python. However, I thought the predicate approach was more native to Mercury/Prolog, no?<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
>>> % Define some past events (things that actually occurred, regardless if anyone saw them)<br>
>>> attack(bob,dan,bedroom)<br>
<br>
>No this needs to be some more complicated data structure. First of all<br>
>you probably need time points, and then a map from them to events, or<br>
>to sets of events.<br></blockquote><div><br></div><div>Ok, I'll add an integer for time (seconds or turn number). If I want to express both:</div><div><br></div><div>eventA = attack(bob,dan,bedroom,1)</div><div>eventB = heard(carl,eventA,1)<br></div><div><br></div><div>Would I want a graph data structure? This looks a bit like RDF.<br></div></div><div class="gmail_quote"><br></div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
>>> Parsing and Generating Dialogue<br>
>>> The GUI will offer the user a set of words that can be translated<br>
>>> into a Mercury query, for example "What did you hear" asked to bob,<br>
>>> would become "heard(bob,X)."<br>
<br>
>Would become, eh. Nice bit of hand-waving?<br></blockquote><div><br></div><div>Yup. You noticed.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
>| write_sentence(Data) :-<br>
>|   write_subject(Data),<br>
>|   write_predicate(Data).<br></blockquote><div><br></div><div>Thanks again!</div><div><br></div><div> -david</div></div></div>