Home | Trees | Indices | Help |
|
---|
|
1 2 """ 3 __version__ = "$Revision: 1.10 $" 4 __date__ = "$Date: 2004/04/24 22:13:31 $" 5 """ 6 7 from PythonCard import model 8 9 from ThespianShell import ThespianShell 10 11 import string 12 import sys 13 14 1517 ratInTeam = [] 18 19 #actionitems = ['request-match', 'request-exercise', 'accept', 'reject', 'eshock', 'feedV','buyLR', 'catchSR'] 20 actionitems = ['request-match', 'request-exercise', 'eshock', 'feedV'] 21 actionitems1 = ['request-match', 'request-exercise', 'eshock'] 22 object = ['labrat1', 'labrat2', 'streetrat'] 23 terminal = None 24113 114 115 if __name__ == '__main__': 116 117 app = model.Application(MinimalGui) 118 119 app.MainLoop() 12026 self.terminal = ThespianShell(scene='6') 27 nextturn = self.terminal.entities.next() 28 actor = nextturn[0]['name'] 29 while not actor == 'usr': 30 self.terminal._step(1) 31 nextturn = self.terminal.entities.next() 32 actor = nextturn[0]['name']33 3436 self.update_action_choice()3739 object = self.components.object.stringSelection 40 41 if self.terminal.entities[object].getState('ThespianType').expectation() < .5: 42 if (object == 'labrat1' or object == 'labrat2'): 43 if self.terminal.entities['usr'].getState('money').expectation() > .99: 44 self.components.actionchoice.items=['buyLR'] 45 else: 46 self.components.actionchoice.items=[] 47 else: 48 self.components.actionchoice.items=['catchSR'] 49 elif self.terminal.entities[object].getState('requested-to-match').expectation() > .5: 50 self.components.actionchoice.items=['accept', 'reject'] 51 elif self.terminal.entities['usr'].getState('money').expectation() > .05: 52 self.components.actionchoice.items = self.actionitems 53 else: 54 self.components.actionchoice.items = self.actionitems1 55 56 self.components.actionchoice.stringSelection = self.components.actionchoice.items[0]57 5860 61 ratInTeam = [] 62 if self.terminal.entities['labrat1'].getState('ThespianType').expectation() >= .5: 63 ratInTeam.append(self.components.labrat1) 64 if self.terminal.entities['labrat2'].getState('ThespianType').expectation() >= .5: 65 ratInTeam.append(self.components.labrat2) 66 if self.terminal.entities['streetrat'].getState('ThespianType').expectation() >= .5: 67 ratInTeam.append(self.components.streetrat) 68 69 70 for rat in ratInTeam: 71 rat.DeleteAllItems() 72 root = rat.addRoot(rat.name) 73 rat.setItemHasChildren(root, 1) 74 rat.appendItem(root, "health "+str(self.terminal.entities[rat.name].getState('health').expectation())) 75 rat.appendItem(root, "raport "+str(self.terminal.entities[rat.name].getState('SD').expectation())) 76 rat.selectItem(root) 77 78 self.components.money.text = 'Your Money left: '+str(int(max(0,self.terminal.entities['usr'].getState('money').expectation()*1000))) 79 self.components.day.text = 'Day '+str(int(self.terminal.entities['timer'].getState('day').expectation()+1))80 8183 object = self.components.object.stringSelection 84 act = self.components.actionchoice.stringSelection 85 self.terminal.execute('act usr '+act+' '+object) 86 87 i = 0 88 nextturn = self.terminal.entities.next() 89 actor = nextturn[0]['name'] 90 while not actor == 'usr': 91 sequence, res = self.terminal._step(1) 92 if actor in ['labrat1', 'labrat2', 'streetrat'] : 93 self.components.conversation.AppendText(`res`+'\n') 94 i = i+1 95 nextturn = self.terminal.entities.next() 96 actor = nextturn[0]['name'] 97 98 if i<4 : 99 self.terminal.execute('act usr wait') 100 i = i+1 101 nextturn = self.terminal.entities.next() 102 actor = nextturn[0]['name'] 103 while (not actor == 'usr') and i<4: 104 sequence, res = self.terminal._step(1) 105 if actor in ['labrat1', 'labrat2', 'streetrat'] : 106 self.components.conversation.AppendText(`res`+'\n') 107 i = i+1 108 nextturn = self.terminal.entities.next() 109 actor = nextturn[0]['name'] 110 111 self.update_agent_state() 112 self.update_action_choice()
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Wed Aug 19 16:48:44 2009 | http://epydoc.sourceforge.net |