Brian Wisti has a very nice tutorial for Python beginners that uses Interactive Fiction as the basis of a tutorial:
http://coolnamehere.com/geekery/python/ifiction/index.html http://coolnamehere.com/geekery/python/ifiction/single-round.html http://coolnamehere.com/geekery/python/ifiction/multiple-scenes.html http://coolnamehere.com/geekery/python/ifiction/multiple-turns.html Paul McGuire made an example adventure game using pyparsing: http://wiki.python.org/moin/PyCon2006/Talks#4 http://www.geocities.com/ptmcg/python/pycon06/adventureEngine.py.txt (you'll need the pyparsing package for it to work) http://pyparsing.wikispaces.com/ Python Universe Builder (PUB) is an Interactive Fiction module for Python. It provides a programming environment similar to that of Inform or TADS but runs under any Python interpreter. http://py-universe.sourceforge.net/ Here's a link to the Interactive Fiction archive containing a huge array of text adventure games and other adventure development tools. http://www.ifarchive.org/ And finally, another link to TAGs based on Creating Adventure Games On Your Computer. http://www.geocities.com/ek.bhaaluu/python/index.html Happy Programming! -- b h a a l u u at g m a i l dot c o m Kid on Bus: What are you gonna do today, Napoleon? Napoleon Dynamite: Whatever I feel like I wanna do. Gosh! On Wed, Jun 25, 2008 at 9:39 AM, Jacqui <[EMAIL PROTECTED]> wrote: > LOL You rock! That's definitely better than my example. I can't wait to > get better at this! > > :-D > > On Wed, 2008-06-25 at 09:22 -0400, bob gailer wrote: >> > >> >> Even better is to define a Chapter class, with the various properties >> and methods pertinent thereto, then make each chapter an instance of >> that class. >> >> class Chapter: >> >> def __init__(self, desc, ques=None, **actions): >> self.desc = desc >> self.ques = ques >> self.actions = actions >> self.prompt = ", ".join(actions.keys()) >> >> def describe(self): >> print self.desc >> >> def ask(self): >> if self.ques: >> print self.ques >> for i in range(10): >> ans = raw_input(self.prompt).lower() >> next = self.actions.get(ans, None) >> if next: >> return next >> else: >> print "Invalid response" >> else: >> print "Too many failed attempts" >> >> def main(): >> chapters = [None]*11 # allow for 10 chapters starting with 1 >> chapters[1] = Chapter("Ahead of you, you see a chasm.", "Attempt to >> jump over it?", y=2, n=3) >> chapters[2] = Chapter("Oops - that anvil is heavy. You die.") >> chapters[3] = Chapter("Good choice.", "Pick a direction", n=4, s=5) >> chapters[4] = Chapter("It's cold in here.", "Pick a direction", e=1, w=2) >> chapters[5] = Chapter("It's hot in here.", "Pick a direction", u=6, d=3) >> chapters[6] = Chapter("Congratulations - you found the gold.") >> next = 1 >> while True: >> chapter = chapters[next] >> chapter.describe() >> next = chapter.ask() >> if not next: >> print "Game over" >> break >> >> main() >> > > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor