thetrap.py
上传用户:ghyvgy
上传日期:2009-05-26
资源大小:547k
文件大小:2k
源码类别:

其他游戏

开发平台:

Python

  1. # thetrap.py
  2. #
  3. # A SafeSandbox that represents a region that contains 
  4. # a deadly trap, where one wrong step can kill you.
  5. #
  6. # ... if there were any code here!
  7. #
  8. # Instead, we demonstrate some of the things you can't
  9. # do in a safesandbox.
  10. #
  11. class TheTrap:
  12.   """A very dangerous place, where one wrong step can kill you."""
  13.   def Init(self):
  14.     print 'TheTrap.Init()'
  15.   def OnPlayerEnter(self, key):
  16.     print 'OnPlayerEnter( %s )' % (key,)    
  17.     self.ClientMessage(key.subj, 'This is a test of the SafeSandbox system!')
  18.     player = self.GetGameObject(key.subj)
  19.     # try to access the deferred module
  20.     try:
  21.       import deferred
  22.       self.ClientMessage(key.subj, 'You succeeded in importing the deferred module - this is bad.')
  23.     except:
  24.       self.ClientMessage(key.subj, 'You failed to import the deferred module - this is good.')
  25.     # try to access the health attribute of a player
  26.     try:
  27.       print 'player.health = ', player.health
  28.       self.ClientMessage(key.subj, 'You succeeded in accessing the health attribute - this is bad.')
  29.     except:
  30.       self.ClientMessage(key.subj, 'You failed to access the health attribute - this is good.')
  31.     # try to access a protected method on a player
  32.     try:
  33.       player._GetWeapon()
  34.       self.ClientMessage(key.subj, 'You succeeded in calling the _GetWeapon() method - this is bad.')
  35.     except:
  36.       self.ClientMessage(key.subj, 'You failed to call the _GetWeapon() method - this is good.')
  37.     # try to open a file for writing 
  38.     try:
  39.       f = open('junk.txt', 'w')
  40.       self.ClientMessage(key.subj, 'You succeeded opening a file - this is bad.')
  41.     except:
  42.       self.ClientMessage(key.subj, 'You failed to open a file - this is good.')