(FILECREATED "23-JUN-83 11:18:41" ("compiled on " {INDIGO}TRUCKIN>PLAYERS>HOUSEPLAYER.;5) "14-JUN-83 04:34:18" recompiled exprs: MaxPurchaseHousePlayerRules RateSpotsNearAlicesHousePlayerRules in LOOPSDEMO.SYSOUT dated "14-JUN-83 19:10:02") (FILECREATED "23-JUN-83 11:12:46" {INDIGO}TRUCKIN>PLAYERS>HOUSEPLAYER.;5 68675 changes to: ( CLASSES HousePlayer) (INSTANCES MaxPurchaseHousePlayerRules RateSpotsNearAlicesHousePlayerRules) (VARS HOUSEPLAYERCOMS) (FNS MaxPurchaseHousePlayerRules RateSpotsNearAlicesHousePlayerRules) previous date: "16-JUN-83 18:55:52" {INDIGO}TRUCKIN>PLAYERS>HOUSEPLAYER.;4) FindStoppingPlaceHousePlayerRules D1 (P 3 gasStation P 2 wStation P 1 ^value P 0 ^auditRecord I 0 self) ,@g g @g 4g ]g MkLXgo @g@g H @g g +g @_g OkN@g g Zg@g @_g _OkO@g {g _g _OkOXgo @g@g H  @g g _g _OkOXgo @gJH @g gQ@g g @g g o.g @_g _OkO@g g [hg _&g _$O&kO$Xgo @g@_*g _(O*kO(@g _,dO,O,@g hg H g jg _"g _ O"kO Xgo @gKH (1051Q PutAuditRec 1037Q PutValue 1034Q GetObjFromUID 1007Q FetchMethodOrHelp 777Q GetObjectRec 765Q GetValue 756Q PutAuditRec 752Q NthRoadStop 743Q GetValue 721Q Distance 716Q GetValue 675Q FetchMethodOrHelp 657Q PutValue 654Q GetObjFromUID 627Q FetchMethodOrHelp 617Q GetObjectRec 606Q FurthestRoadStop 603Q RoadStops 575Q GetValue 554Q FetchMethodOrHelp 543Q GetObjectRec 524Q GetClassValue 516Q GetValue 507Q GetValue 501Q GetValue 464Q GetValue 454Q PutAuditRec 442Q PutValue 437Q GetObjFromUID 412Q FetchMethodOrHelp 402Q GetObjectRec 370Q Distance 365Q GetValue 356Q Distance 352Q PutAuditRec 346Q GetValue 332Q PutValue 327Q GetObjFromUID 302Q FetchMethodOrHelp 272Q GetObjectRec 262Q RoomToParkP 257Q GetValue 231Q FetchMethodOrHelp 220Q Distance 215Q GetValue 203Q NearestRoadStop 200Q RoadStops 172Q GetValue 154Q FetchMethodOrHelp 143Q GetObjectRec 133Q GetValue 125Q GetValue 115Q PutAuditRec 111Q GetValue 75Q PutValue 72Q GetObjFromUID 51Q FetchMethodOrHelp 42Q GetObjectRec 31Q GetValue 22Q GetValue 14Q GetValue) (1044Q stoppingPlace 1025Q rule 1004Q NewTemp 774Q StandardAuditRecord 762Q qty 747Q Room 740Q direction 713Q destination 672Q Range1 664Q stoppingPlace 645Q rule 624Q NewTemp 614Q StandardAuditRecord 600Q Room 572Q direction 551Q Range1 540Q GasStation 521Q MaxFuel 513Q truck 504Q fuel 476Q truck 467Q GoToAlices 461Q goal 447Q stoppingPlace 430Q rule 407Q NewTemp 377Q StandardAuditRecord 362Q destination 343Q destination 337Q stoppingPlace 320Q rule 277Q NewTemp 267Q StandardAuditRecord 254Q destination 226Q Range1 212Q destination 175Q Room 167Q direction 151Q Range1 140Q WeighStation 130Q cargo 122Q truck 106Q destination 102Q stoppingPlace 63Q rule 46Q NewTemp 37Q StandardAuditRecord 26Q destination 17Q location 11Q truck) (1031Q "UPSC@ELq" 651Q "UPSC@ELr" 530Q .6 434Q "UPSC@ELo" 324Q "UPSC@ELp" 67Q "UPSC@ELn") GoToStoppingPlaceHousePlayerRules D1 (P 3 numBuy P 2 realLocation P 1 ^value P 0 ^auditRecord I 0 self F 30Q gameMaster) g ]g MkLXgo @g@g H @g g Z@_g OkNa@g @g g J@g _g _OkO/W0_g _O@g lO@g g ZYJ@g o@g o Jg jJg j_g _g _OkOXgo @_g _OkO@ggH @ghH ghg IJg N@g gAJ@g 6@_"g _ O"JlO [kKW0_&g _$O&KlO$Jg %@g g @_*g _(O*kO(J@g mg _.g _,O.kO,Xgo @ghH (1020Q PutAuditRec 1006Q PutValue 1003Q GetObjFromUID 756Q FetchMethodOrHelp 746Q GetObjectRec 733Q GetValue 710Q FetchMethodOrHelp 675Q GetValue 667Q GetValue 656Q ISA 653Q GetObjectRec 627Q FetchMethodOrHelp 571Q FetchMethodOrHelp 555Q GetValue 537Q GetValue 526Q ISA 523Q GetObjectRec 512Q RuleSetStop 477Q PutAuditRec 465Q PutAuditRec 437Q FetchMethodOrHelp 425Q PutValue 422Q GetObjFromUID 375Q FetchMethodOrHelp 365Q GetObjectRec 353Q GetValue 342Q ISA 337Q GetObjectRec 327Q WriteGameStatus 320Q GetValue 302Q GetValue 267Q GetValue 261Q GetValue 243Q GetValue 227Q FetchMethodOrHelp 201Q FetchMethodOrHelp 171Q GetValue 157Q GetValue 151Q GetValue 142Q GetValue 122Q FetchMethodOrHelp 107Q GetValue 101Q GetValue 71Q PutAuditRec 65Q DirectionOf 62Q GetValue 46Q PutValue 43Q GetObjFromUID 22Q FetchMethodOrHelp 13Q GetObjectRec) (1013Q destination 774Q rule 753Q NewTemp 743Q StandardAuditRecord 730Q destination 705Q SellGoods 672Q cargo 664Q truck 650Q Consumer 624Q Buy 566Q MaxPurchase 552Q destination 542Q Peddle 534Q goal 520Q Producer 507Q BoughtGas 503Q Peddle 472Q destination 461Q Peddle 456Q goal 434Q BuyGas 413Q rule 372Q NewTemp 362Q StandardAuditRecord 350Q qty 334Q GasStation 315Q driver 277Q stoppingPlace 264Q location 256Q truck 240Q stoppingPlace 224Q Move 176Q BanditP 166Q stoppingPlace 154Q location 146Q truck 137Q stoppingPlace 117Q FindStoppingPlace 104Q location 76Q truck 57Q destination 53Q direction 34Q rule 17Q NewTemp 10Q StandardAuditRecord) (1000Q "UPSC@EMk" 417Q "UPSC@EMj" 324Q " intercepted!" 311Q "Oh!! " 40Q "UPSC@EMi") HPRateConsumers D1 (P 3 cargo P 2 rating P 1 ^value P 0 ^auditRecord I 1 rs I 0 self) `@g g jZKg Ag ngg Kg hgg KAg n' hg okAg n' hg VA JlZA]g MkLJn'ZYJAg ldZY@g g A@g g lYI(316Q Distance 313Q GetValue 305Q GetValue 275Q GetClassValue 267Q GetValue 252Q GetValue 223Q FetchMethodOrHelp 204Q RoomToParkP 176Q RuleSetStop 167Q MINUS 157Q GetValue 145Q RuleSetStop 136Q MINUS 127Q ISA 124Q GetClassValue 111Q RuleSetStop 76Q GetValue 64Q RuleSetStop 47Q ISA 44Q GetObjectRec 33Q GetValue 17Q GetValue 11Q GetValue) (310Q location 302Q truck 272Q Gpm 264Q truck 247Q pr 220Q BanditP 173Q CannotSellHere 154Q qty 142Q CannotSellHere 121Q Commodity 106Q CannotSell 103Q SpoiltGoods 73Q status 61Q LookNoMore 56Q CityDump 41Q CityDump 30Q status 14Q cargo 6 truck) NIL HPRateGasStations D1 (P 2 rating P 1 ^value P 0 ^auditRecord I 1 rs I 0 self) o`jZAg jn ZA JlZA\g LkKJlZYJA@g g l ZYAg @g g dMM(144Q GetClassValue 136Q GetValue 127Q GetValue 112Q Distance 107Q GetValue 101Q GetValue 52Q FetchMethodOrHelp 33Q RoomToParkP 25Q MINUS 14Q GetValue) (141Q MaxFuel 133Q truck 124Q qty 104Q location 76Q truck 47Q BanditP 11Q qty) NIL HPRateProducers D1 (P 2 maxBuy P 1 rating P 0 ^value I 1 rs I 0 self) ;pjYAg o hg kAg o hg @\g LAlKZkJo hg A n YA^g NkMIn'YAg g InAg g ldYAg g IAg g ldYAg g InYAg g InYXIJlYX@g g A@g g l XH(461Q Distance 456Q GetValue 450Q GetValue 440Q GetClassValue 432Q GetValue 402Q SUBCLASS 377Q GetObjectRec 371Q GetClassValue 352Q SUBCLASS 347Q GetObjectRec 341Q GetClassValue 324Q GetClassValue 316Q GetClassValue 304Q SUBCLASS 301Q GetObjectRec 273Q GetClassValue 256Q GetClassValue 250Q GetClassValue 232Q SUBCLASS 227Q GetObjectRec 221Q GetClassValue 174Q FetchMethodOrHelp 162Q MINUS 153Q RoomToParkP 144Q RuleSetStop 135Q MINUS 106Q FetchMethodOrHelp 73Q RuleSetStop 64Q MINUS 52Q GetValue 37Q RuleSetStop 30Q MINUS 17Q ISA 14Q GetObjectRec) (453Q location 445Q truck 435Q Gpm 427Q truck 374Q Xerox1100 366Q Commodity 344Q LuxuryGoods 336Q Commodity 321Q FragilityLevel 313Q Commodity 276Q FragileCommodity 270Q Commodity 253Q MinLifetime 245Q Commodity 224Q PerishableCommodity 216Q Commodity 171Q BanditP 141Q CannotBuy 103Q MaxPurchase 70Q CannotBuy 47Q qty 34Q GasStation 11Q GasStation) (132Q 303240Q 61Q 303240Q 25Q 303240Q) MaxPurchaseHousePlayerRules D1 (P 11Q cashCapacity P 10Q numBuy P 7 producerLimit P 6 cashLimit P 5 weightLimit P 4 volumeLimit P 3 weightCapacity P 2 volumeCapacity P 1 ^value P 0 ^auditRecord I 1 roadStop I 0 self)  @g g @g g պ@g g @g g ջj@g g @g _JAg g ׼KAg g ׽OA ׾Ag _LMNO (220Q MIN 205Q GetValue 174Q PricePerUnit 164Q GetClassValue 156Q GetClassValue 144Q GetClassValue 136Q GetClassValue 123Q MAX 117Q GetValue 110Q GetValue 102Q GetValue 70Q GetValue 62Q GetValue 53Q GetClassValue 45Q GetValue 34Q GetValue 26Q GetValue 17Q GetClassValue 11Q GetValue) (202Q qty 161Q WtPerQty 153Q Commodity 141Q VolPerQty 133Q Commodity 114Q cashReserve 105Q cashBox 77Q truck 65Q weight 57Q truck 50Q MaxWeight 42Q truck 31Q volume 23Q truck 14Q MaxVolume 6 truck) NIL RateSpotsNearAlicesHousePlayerRules D1 (P 2 cargo P 1 rating P 0 ^value I 1 roadStop I 0 self) 0@g g ZldA@g lYA n YAg n YAg n YJ4Ag (JAg Ag jAg kIlH(205Q GetValue 173Q GetValue 162Q ISA 157Q GetClassValue 145Q ISA 142Q GetObjectRec 126Q MINUS 117Q ISA 114Q GetObjectRec 103Q MINUS 74Q ISA 71Q GetObjectRec 60Q MINUS 51Q RoomToParkP 37Q Distance 34Q GetValue 17Q GetValue 11Q GetValue) (202Q pr 170Q qty 154Q Commodity 137Q Consumer 111Q AlicesRestaurant 66Q UnionHall 31Q alices 14Q cargo 6 truck) NIL SellGoodsHousePlayerRules D1 (P 3 sellQty P 2 cargo P 1 ^value P 0 ^auditRecord I 0 self F 12Q gameMaster) D  @g g ZY@g g g hggJg T@g g g <@g g g Jg W]g MJKlLigg&@g g g Jg hgg IJg @g g g Jg [kKg _g OkNXgo W_g _OJKlO@gn@g g o H (501Q PutAuditRec 475Q MIN 465Q GetValue 457Q GetValue 423Q FetchMethodOrHelp 410Q PutValue 405Q GetObjFromUID 363Q FetchMethodOrHelp 353Q GetObjectRec 335Q MIN 332Q GetValue 323Q GetValue 315Q GetValue 307Q GetValue 276Q GetValue 265Q RuleSetStop 250Q GetValue 241Q GetValue 233Q GetValue 225Q GetValue 173Q FetchMethodOrHelp 161Q MIN 156Q GetValue 147Q GetValue 141Q GetValue 133Q GetValue 122Q ISA 117Q GetObjectRec 111Q GetValue 103Q GetValue 72Q GetValue 50Q ISA 45Q GetClassValue 37Q GetValue 31Q GetValue 17Q GetValue 11Q GetValue) (462Q cashBox 454Q truck 445Q cashReserve 420Q Sell 376Q rule 360Q NewTemp 350Q StandardAuditRecord 327Q qty 320Q qty 312Q location 304Q truck 273Q status 262Q AvoidLoss 257Q NoSale 245Q pr 236Q pr 230Q location 222Q truck 214Q AtCityDump 211Q Sold 170Q Sell 153Q qty 144Q qty 136Q location 130Q truck 114Q CityDump 106Q location 100Q truck 67Q status 60Q WrongKindOfBuyer 55Q NoSale 42Q Commodity 34Q location 26Q truck 14Q cargo 6 truck) (471Q .1 402Q "UOSC@ELn") TakeTurnHousePlayerRules D1 (P 3 gasStation P 2 possibleStops P 1 ^value P 0 ^auditRecord I 0 self F 32Q gameMaster) @g g j\@g g oHn,W4g :g ]g MkLXgo @ghH @ggH @g gJ@g g g 2g _g OkNXgo @ggH @g gz@g g g bl@_g _OkOJg _g _OkOXgo @gg H @g gl`") (perspectiveNode #&(RuleSetNode "YSSC@<>r") myViewName RuleSet) (name #(FindStoppingPlaceHousePlayerRules NIL RememberName)) ( compiledRules FindStoppingPlaceHousePlayerRules) (workSpace HousePlayer) (args NIL) (tempVars ( wStation gasStation)) (taskVars NIL) (debugVars NIL) (numRules 5) (controlStructure DO1) ( whileCondition NIL) (compilerOptions (PR A)) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) ( taskClass) (arguments)) (DEFINST RuleSet (GoToStoppingPlaceHousePlayerRules "YWSC@8@L") (perspectiveNode #&(RuleSetNode "YWSC@8@S") myViewName RuleSet) (name #(GoToStoppingPlaceHousePlayerRules NIL RememberName)) ( compiledRules GoToStoppingPlaceHousePlayerRules) (workSpace HousePlayer) (args NIL) (tempVars ( realLocation numBuy)) (taskVars NIL) (debugVars NIL) (numRules 8) (controlStructure DOALL) ( whileCondition NIL) (compilerOptions (A)) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) ( taskClass) (arguments)) (DEFINST RuleSet (HPRateConsumers "YWSC@8@p") (perspectiveNode #&(RuleSetNode "YWSC@8AO") myViewName RuleSet) (name #(HPRateConsumers NIL RememberName)) (compiledRules HPRateConsumers) (workSpace HousePlayer) (args (rs)) (tempVars (rating cargo)) (taskVars NIL) (debugVars NIL) (numRules 9) ( controlStructure DOALL) (whileCondition NIL) (compilerOptions (A)) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass) (arguments)) (DEFINST RuleSet (HPRateGasStations "YSSC@<>m") (perspectiveNode #&(RuleSetNode "YSSC@<>s") myViewName RuleSet) (name #(HPRateGasStations NIL RememberName)) (compiledRules HPRateGasStations) (workSpace HousePlayer) (args (rs)) (tempVars (rating)) (taskVars NIL) (debugVars NIL) (numRules 6) ( controlStructure DOALL) (whileCondition NIL) (compilerOptions (A)) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass) (arguments)) (DEFINST RuleSet (HPRateProducers "YWSC@8@h") (perspectiveNode #&(RuleSetNode "YWSC@8AP") myViewName RuleSet) (name #(HPRateProducers NIL RememberName)) (compiledRules HPRateProducers) (workSpace HousePlayer) (args (rs)) (tempVars (rating maxBuy)) (taskVars NIL) (debugVars NIL) (numRules 12) ( controlStructure DOALL) (whileCondition NIL) (compilerOptions NIL) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass) (arguments)) (DEFINST RuleSet (MaxPurchaseHousePlayerRules "UVSC@ENE") (perspectiveNode #&(RuleSetNode "UVSC@ENn") myViewName RuleSet) (name #(MaxPurchaseHousePlayerRules NIL RememberName)) (compiledRules MaxPurchaseHousePlayerRules) (workSpace HousePlayer) (args (roadStop)) (tempVars (volumeCapacity weightCapacity volumeLimit weightLimit cashLimit producerLimit numBuy cashCapacity)) (taskVars NIL) ( debugVars NIL) (numRules 3) (controlStructure DOALL) (whileCondition NIL) (compilerOptions (A)) ( auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass)) (DEFINST RuleSet (RateSpotsNearAlicesHousePlayerRules "UVSC@END") (perspectiveNode #&(RuleSetNode "UVSC@ENo") myViewName RuleSet) (name #(RateSpotsNearAlicesHousePlayerRules NIL RememberName)) ( compiledRules RateSpotsNearAlicesHousePlayerRules) (workSpace HousePlayer) (args (roadStop)) (tempVars (rating cargo)) (taskVars NIL) (debugVars NIL) (numRules 6) (controlStructure DOALL) (whileCondition NIL) (compilerOptions NIL) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass)) (DEFINST RuleSet (SellGoodsHousePlayerRules "YWSC@8@x") (perspectiveNode #&(RuleSetNode "YWSC@8AQ") myViewName RuleSet) (name #(SellGoodsHousePlayerRules NIL RememberName)) (compiledRules SellGoodsHousePlayerRules) (workSpace HousePlayer) (args NIL) (tempVars (cargo sellQty)) (taskVars NIL ) (debugVars NIL) (numRules 5) (controlStructure DOALL) (whileCondition NIL) (compilerOptions (A)) ( auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass) (arguments)) (DEFINST RuleSet (TakeTurnHousePlayerRules "YSSC@<>") (perspectiveNode #&(RuleSetNode "YSSC@<^") myViewName RuleSet) (name #(TakeTurnHousePlayerRules NIL RememberName)) (compiledRules TakeTurnHousePlayerRules) (workSpace HousePlayer) (args NIL) (tempVars (possibleStops gasStation)) ( taskVars NIL) (debugVars NIL) (numRules 9) (controlStructure DOALL) (whileCondition NIL) ( compilerOptions (A)) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass) (arguments)) (DEFINST RuleSetNode ("YSSC@<>r") (perspectives ? RuleSet #&(RuleSet "YSSC@<>`") Source #&( RuleSetSource "YSSC@<>t"))) (DEFINST RuleSetNode ("YWSC@8@S") (perspectives ? RuleSet #&(RuleSet "YWSC@8@L") Source #&( RuleSetSource "YWSC@8@T"))) (DEFINST RuleSetNode ("YWSC@8AO") (perspectives ? RuleSet #&(RuleSet "YWSC@8@p") Source #&( RuleSetSource "YWSC@8AR"))) (DEFINST RuleSetNode ("YSSC@<>s") (perspectives ? RuleSet #&(RuleSet "YSSC@<>m") Source #&( RuleSetSource "YSSC@<>u"))) (DEFINST RuleSetNode ("YWSC@8AP") (perspectives ? RuleSet #&(RuleSet "YWSC@8@h") Source #&( RuleSetSource "YWSC@8AS"))) (DEFINST RuleSetNode ("UVSC@ENn") (perspectives ? RuleSet #&(RuleSet "UVSC@ENE") Source #&( RuleSetSource "UVSC@ENp"))) (DEFINST RuleSetNode ("UVSC@ENo") (perspectives ? RuleSet #&(RuleSet "UVSC@END") Source #&( RuleSetSource "UVSC@ENq"))) (DEFINST RuleSetNode ("YWSC@8AQ") (perspectives ? RuleSet #&(RuleSet "YWSC@8@x") Source #&( RuleSetSource "YWSC@8AT"))) (DEFINST RuleSetNode ("YSSC@<^") (perspectives ? RuleSet #&(RuleSet "YSSC@<>") Source #&(RuleSetSource "YSSC@<_"))) (DEFINST RuleSetSource ("YSSC@<>t") (indexedVars ((#&(Rule "UPSC@ELn")) (#&(Rule "UPSC@ELo")) (#&(Rule "UPSC@ELp")) (#&(Rule "UPSC@ELq")) (#&(Rule "UPSC@ELr")) (#&(Rule "YSSC@<>l")) (#&(Rule "FAS@@&Lp"))) ) (perspectiveNode #&(RuleSetNode "YSSC@<>r") myViewName Source) (created " 1-FEB-83 14:25:23") ( creator LOOPSCOURSE) (edited "16-JUN-83 15:08:48") (editor MITTAL)) (DEFINST RuleSetSource ("YWSC@8@T") (indexedVars ((#&(Rule "UPSC@EMi")) (#&(Rule "UPSC@EMw")) (#&(Rule "UPSC@EMx")) (#&(Rule "UPSC@EMy")) (#&(Rule "UPSC@EMj")) (#&(Rule "UPSC@EMz")) (#&(Rule "UPSC@EM{")) (#&(Rule "UPSC@EMk")))) (perspectiveNode #&(RuleSetNode "YWSC@8@S") myViewName Source) (created " 1-FEB-83 14:25:34") (creator LOOPSCOURSE) (edited "16-JUN-83 18:34:08") (editor MITTAL)) (DEFINST RuleSetSource ("YWSC@8AR") (indexedVars ((#&(Rule "UPSC@ELs")) (#&(Rule "UPSC@ELt")) (#&(Rule "UPSC@ELu")) (#&(Rule "UPSC@ELv")) (#&(Rule "UPSC@ELw")) (#&(Rule "UPSC@ELx")) (#&(Rule "UPSC@ELy")) (#&(Rule "UPSC@ELz")) (#&(Rule "UPSC@EL{")))) (perspectiveNode #&(RuleSetNode "YWSC@8AO") myViewName Source) (created "18-FEB-83 22:45:14") (creator STEFIK) (edited "16-JUN-83 15:20:28") (editor MITTAL)) (DEFINST RuleSetSource ("YSSC@<>u") (indexedVars ((#&(Rule "UOSC@E\p")) (#&(Rule "UOSC@E\q")) (#&(Rule "UOSC@E\r")) (#&(Rule "UOSC@E\s")) (#&(Rule "UOSC@E\t")) (#&(Rule "UOSC@E\u")))) (perspectiveNode #&( RuleSetNode "YSSC@<>s") myViewName Source) (created "19-MAY-83 17:26:44") (creator MITTAL) (edited "15-JUN-83 17:46:12") (editor MITTAL)) (DEFINST RuleSetSource ("YWSC@8AS") (indexedVars ((#&(Rule "UPSC@EM\")) (#&(Rule "UPSC@EM]")) (#&(Rule "UPSC@EM^")) (#&(Rule "UPSC@EM_")) (#&(Rule "UPSC@EM`")) (#&(Rule "UPSC@EMa")) (#&(Rule "UPSC@EMb")) (#&(Rule "UPSC@EMc")) (#&(Rule "UPSC@EMd")) (#&(Rule "UPSC@EMe")) (#&(Rule "UPSC@EMf")) (#&(Rule "UPSC@EMg")))) (perspectiveNode #&(RuleSetNode "YWSC@8AP") myViewName Source) (created "18-FEB-83 22:45:14") (creator STEFIK) (edited "16-JUN-83 17:34:34") (editor MITTAL)) (DEFINST RuleSetSource ("UVSC@ENp") (indexedVars ((#&(Rule "UISC@AMT")) (#&(Rule "UISC@AMU")) (#&(Rule "UISC@AMV")) (#&(Rule "UISC@<{l")) (#&(Rule "FBS@@A?V")))) (perspectiveNode #&(RuleSetNode "UVSC@ENn" ) myViewName Source) (created " 1-FEB-83 14:25:11") (creator LOOPSCOURSE) (edited " 9-JUN-83 22:34:09" ) (editor STEFIK)) (DEFINST RuleSetSource ("UVSC@ENq") (indexedVars ((#&(Rule "UISC@AMj")) (#&(Rule "UISC@AMk")) (#&(Rule "UISC@AMl")) (#&(Rule "UISC@AMm")) (#&(Rule "UISC@AMn")) (#&(Rule "UISC@AMo")))) (perspectiveNode #&( RuleSetNode "UVSC@ENo") myViewName Source) (created "18-FEB-83 20:41:23") (creator STEFIK) (edited " 9-JUN-83 22:03:23") (editor STEFIK)) (DEFINST RuleSetSource ("YWSC@8AT") (indexedVars ((#&(Rule "UOSC@E]B")) (#&(Rule "UOSC@E]C")) (#&(Rule "UOSC@E]D")) (#&(Rule "UOSC@E]E")) (#&(Rule "UOSC@ELn")) (#&(Rule "YWSC@8Am")) (#&(Rule "FBS@@A?b")) (#&(Rule "FBS@@A?c")))) (perspectiveNode #&(RuleSetNode "YWSC@8AQ") myViewName Source) (created " 1-FEB-83 14:25:40") (creator LOOPSCOURSE) (edited "15-JUN-83 15:49:26") (editor MITTAL)) (DEFINST RuleSetSource ("YSSC@<_") (indexedVars ((#&(Rule "UPSC@EMn")) (#&(Rule "UPSC@EMo")) (#&(Rule "UPSC@EMp")) (#&(Rule "UPSC@EMq")) (#&(Rule "UPSC@EMr")) (#&(Rule "UPSC@EMs")) (#&(Rule "UPSC@EMt")) ( #&(Rule "UPSC@EMu")) (#&(Rule "UPSC@EM|")))) (perspectiveNode #&(RuleSetNode "YSSC@<^") myViewName Source) (created " 1-FEB-83 14:25:51") (creator LOOPSCOURSE) (edited "16-JUN-83 18:52:33") (editor MITTAL)) (DEFINST Rule ("UPSC@ELn") (source "(* Returns a stopping place en route to a destination.) (* If already at destination, make it be stoppingPlace) IF truck:location=destination THEN stoppingPlace_destination;") (edited "16-JUN-83 15:08:48") (editor MITTAL) (ruleNumber 1) ( ruleSet #&(RuleSet "YSSC@<>`"))) (DEFINST Rule ("UPSC@ELo") (source "(* Obey the law - stop at WeighStations.) IF truck:cargo wStation_(NearestRoadStop (RoadStops $WeighStation .Range1 direction 'Room)) (Distance wStation)<(Distance destination) THEN stoppingPlace_wStation;") (edited "16-JUN-83 15:08:48") (editor MITTAL) (ruleNumber 2) (ruleSet #&(RuleSet "YSSC@<>`"))) (DEFINST Rule ("UPSC@ELp") (source "IF (Distance destination)<=.Range1 (RoomToParkP destination) THEN stoppingPlace_destination;") (edited "16-JUN-83 15:08:48") (editor MITTAL) (ruleNumber 3) ( ruleSet #&(RuleSet "YSSC@<>`"))) (DEFINST Rule ("UPSC@ELq") (source "IF goal~='GoToAlices truck:fuel < .6 * truck::MaxFuel gasStation_(FurthestRoadStop (RoadStops $GasStation .Range1 direction 'Room)) gasStation:qty>0 THEN stoppingPlace_gasStation;") (edited "16-JUN-83 15:08:48") (editor MITTAL) (ruleNumber 4) (ruleSet #&(RuleSet "YSSC@<>`"))) (DEFINST Rule ("UPSC@ELr") (source "THEN stoppingPlace_(NthRoadStop (IMIN .Range1 (Distance destination)) direction NIL 'Room);") (edited "16-JUN-83 15:08:48") (editor MITTAL) (ruleNumber 5) (ruleSet #&(RuleSet "YSSC@<>`"))) (DEFINST Rule ("YSSC@<>l") (source "THEN stoppingPlace_(NthRoadStop maxMove direction NIL 'Room);") ( edited "19-MAY-83 17:26:15") (editor MITTAL) (ruleNumber) (ruleSet #&(RuleSet "YSSC@<>`"))) (DEFINST Rule ("FAS@@&Lp") (source NIL) (edited " 1-FEB-83 14:25:33") (editor "LOOPSCOURSE") ( ruleNumber 7) (ruleSet #&(RuleSet "FAS@@&Li")) (lhs (AND)) (rhs (SETQ ^value (PROGN (PROGN (* Rule Tracing Code) (TraceRHS NIL 7) (_ (GetObjFromUID "FAS@@&Lp") Print)) (NthRoadStop maxMove (GetValue self (QUOTE direction))))))) (DEFINST Rule ("UPSC@EMi") (source " THEN direction_ (DirectionOf destination);") (edited "16-JUN-83 18:34:08") (editor MITTAL) (ruleNumber 1) (ruleSet #&(RuleSet "YWSC@8@L"))) (DEFINST Rule ("UPSC@EMw") (source " -> realLocation_truck:location;") (edited "16-JUN-83 18:34:08") (editor MITTAL) (ruleNumber 2) (ruleSet #&(RuleSet "YWSC@8@L"))) (DEFINST Rule ("UPSC@EMx") (source " IF .FindStoppingPlace stoppingPlace~=truck:location ~stoppingPlace.BanditP THEN (_ \gameMaster Move stoppingPlace) realLocation_truck:location;") (edited "16-JUN-83 18:34:08") (editor MITTAL) ( ruleNumber 3) (ruleSet #&(RuleSet "YWSC@8@L"))) (DEFINST Rule ("UPSC@EMy") (source " IF realLocation~=stoppingPlace THEN (WriteGameStatus %"Oh!! %" driver %" intercepted!%");") (edited "16-JUN-83 18:34:08") (editor MITTAL) (ruleNumber 4) (ruleSet #&(RuleSet "YWSC@8@L"))) (DEFINST Rule ("UPSC@EMj") (source " IF (ISA realLocation $GasStation) realLocation:qty > 0 THEN .BuyGas goal_'Peddle destination_NIL (STOP 'Peddle NIL 'BoughtGas);") (edited "16-JUN-83 18:34:08") (editor MITTAL) (ruleNumber 5) (ruleSet #&(RuleSet "YWSC@8@L"))) (DEFINST Rule ("UPSC@EMz") (source " IF (ISA realLocation $Producer) goal='Peddle realLocation=destination numBuy_(_ self MaxPurchase realLocation) numBuy>=1 THEN (_ \gameMaster Buy numBuy);") (edited "16-JUN-83 18:34:08") (editor MITTAL) (ruleNumber 6) ( ruleSet #&(RuleSet "YWSC@8@L"))) (DEFINST Rule ("UPSC@EM{") (source " IF (ISA realLocation $Consumer) truck:cargo THEN .SellGoods;") (edited "16-JUN-83 18:34:08") (editor MITTAL) (ruleNumber 7) (ruleSet #&(RuleSet "YWSC@8@L"))) (DEFINST Rule ("UPSC@EMk") (source " IF realLocation=destination THEN destination_NIL;") (edited "16-JUN-83 18:34:08") (editor MITTAL) (ruleNumber 8) (ruleSet #&(RuleSet "YWSC@8@L"))) (DEFINST Rule ("UPSC@ELs") (source " (* Rate the suitability of a proposed Consumer.) -> cargo _ (CAR truck:cargo) rating_0;") (edited "16-JUN-83 15:20:28") (editor MITTAL) (ruleNumber 1) (ruleSet #&(RuleSet "YWSC@8@p"))) (DEFINST Rule ("UPSC@ELt") (source "(* if spoilt go to CityDump) IF ~cargo:status (ISA rs $CityDump) THEN (STOP 5000 'CityDump 'LookNoMore);") (edited "16-JUN-83 15:20:28") (editor MITTAL) (ruleNumber 2) (ruleSet #&(RuleSet "YWSC@8@p"))) (DEFINST Rule ("UPSC@ELu") (source "IF ~cargo:status THEN (STOP NIL 'SpoiltGoods 'CannotSell);") (edited "16-JUN-83 15:20:28") (editor MITTAL) (ruleNumber 3) (ruleSet #&(RuleSet "YWSC@8@p"))) (DEFINST Rule ("UPSC@ELv") (source "(* Consumer must want current cargo.) IF ~(ISA cargo rs::Commodity) THEN (STOP -10000 NIL 'CannotSellHere);") (edited "16-JUN-83 15:20:28") (editor MITTAL) (ruleNumber 4) (ruleSet #&(RuleSet "YWSC@8@p"))) (DEFINST Rule ("UPSC@ELw") (source "(* Exclude consumers that have full inventory.) IF rs:qty < 1 THEN (STOP -10000 NIL 'CannotSellHere);") (edited "16-JUN-83 15:20:28") (editor MITTAL) (ruleNumber 5) (ruleSet #&(RuleSet "YWSC@8@p"))) (DEFINST Rule ("UPSC@ELx") (source "(* Need to be able to park) IF ~(RoomToParkP rs) THEN rating _ rating - 200;") (edited "16-JUN-83 15:20:28") (editor MITTAL) (ruleNumber 6) (ruleSet #&(RuleSet "YWSC@8@p"))) (DEFINST Rule ("UPSC@ELy") (source "(* Dont go if Bandits) IF rs.BanditP THEN rating _ rating - 10000;") (edited "16-JUN-83 15:20:28") (editor MITTAL) (ruleNumber 7) (ruleSet #&(RuleSet "YWSC@8@p"))) (DEFINST Rule ("UPSC@ELz") (source "(* Favor high price ratios.) -> rating _ rating + 100 * rs:pr ;") (edited "16-JUN-83 15:20:28") (editor MITTAL) (ruleNumber 8) ( ruleSet #&(RuleSet "YWSC@8@p"))) (DEFINST Rule ("UPSC@EL{") (source "(* Favor close places.) -> rating _ rating - 5 * [truck::Gpm *(Distance rs truck:location)];") (edited "16-JUN-83 15:20:28") (editor MITTAL) (ruleNumber 9) (ruleSet #&(RuleSet "YWSC@8@p"))) (DEFINST Rule ("UOSC@E\p") (source "(* rate gas stations within range) THEN rating _ 0;") (edited "15-JUN-83 17:46:12") (editor MITTAL) (ruleNumber 1) (ruleSet #&(RuleSet "YSSC@<>m"))) (DEFINST Rule ("UOSC@E\q") (source "IF rs:qty=0 THEN rating _ -2000;") (edited "15-JUN-83 17:46:12") (editor MITTAL) (ruleNumber 2) (ruleSet #&( RuleSet "YSSC@<>m"))) (DEFINST Rule ("UOSC@E\r") (source "IF ~(RoomToParkP rs) THEN rating _ rating - 200;") (edited "15-JUN-83 17:46:12") (editor MITTAL) (ruleNumber 3) (ruleSet #&(RuleSet "YSSC@<>m"))) (DEFINST Rule ("UOSC@E\s") (source "IF rs.BanditP THEN rating _ rating - 200;") (edited "15-JUN-83 17:46:12") (editor MITTAL) (ruleNumber 4) (ruleSet #&(RuleSet "YSSC@<>m"))) (DEFINST Rule ("UOSC@E\t") (source " THEN rating _ rating - [10 * (Distance rs truck:location)];") ( edited "15-JUN-83 17:46:12") (editor MITTAL) (ruleNumber 5) (ruleSet #&(RuleSet "YSSC@<>m"))) (DEFINST Rule ("UOSC@E\u") (source " THEN rating _ rating + (IMIN rs:qty truck::MaxFuel);") (edited "15-JUN-83 17:46:12") (editor MITTAL) (ruleNumber 6) (ruleSet #&(RuleSet "YSSC@<>m"))) (DEFINST Rule ("UPSC@EM\") (source " (* Rate the suitability of a proposed Producer.) -> rating _ 0;") (edited "16-JUN-83 17:34:34") (editor MITTAL) (ruleNumber 1) (ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EM]") (source "(* Exclude gas stations.) IF (ISA rs $GasStation) THEN (STOP -100000 NIL 'GasStation);") (edited "16-JUN-83 17:34:34") (editor MITTAL) (ruleNumber 2) (ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EM^") (source "(* Exclude producers that are sold out.) IF rs:qty < 1 THEN (STOP -100000 NIL 'CannotBuy);") (edited "16-JUN-83 17:34:34") (editor MITTAL) (ruleNumber 3) ( ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EM_") (source "(* Penalize producers for which can buy < 1 items.) IF maxBuy_(_ self MaxPurchase rs) maxBuy < 1 THEN (STOP -100000 NIL 'CannotBuy);") (edited "16-JUN-83 17:34:34") (editor MITTAL) (ruleNumber 4) ( ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EM`") (source "(* Need to be able to park) IF ~(RoomToParkP rs) THEN rating _ -500;") (edited "16-JUN-83 17:34:34") (editor MITTAL) (ruleNumber 5) (ruleSet #&( RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EMa") (source "(* If Bandits there, dont go) IF rs.BanditP THEN rating _ rating - 10000;") (edited "16-JUN-83 17:34:34") (editor MITTAL) (ruleNumber 6) (ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EMb") (source "(* Exclude perishables.) IF (SUBCLASS rs::Commodity $PerishableCommodity) THEN rating _ rating - 2000 + [100 * rs::Commodity::MinLifetime];") (edited "16-JUN-83 17:34:34") ( editor MITTAL) (ruleNumber 7) (ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EMc") (source "(* Exclude excessively fragile goods.) IF (SUBCLASS rs::Commodity $FragileCommodity) THEN rating _ rating - [100 * rs::Commodity::FragilityLevel];") (edited "16-JUN-83 17:34:34") ( editor MITTAL) (ruleNumber 8) (ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EMd") (source "(* favor LuxuryGoods) IF (SUBCLASS rs::Commodity $LuxuryGoods) THEN rating _ rating + 1000;") (edited "16-JUN-83 17:34:34") (editor MITTAL) (ruleNumber 9) (ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EMe") (source "IF (SUBCLASS rs::Commodity $Xerox1100) THEN rating _ rating + 1000 ;") (edited "16-JUN-83 17:34:34") (editor MITTAL) (ruleNumber 10) (ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EMf") (source "(* favor higher qty) -> rating _ rating + [20 * maxBuy];") (edited "16-JUN-83 17:34:34") (editor MITTAL) (ruleNumber 11) ( ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UPSC@EMg") (source "(* Favor close places.) -> rating _ rating - [10 * truck::Gpm * (Distance rs truck:location)];") (edited "16-JUN-83 17:34:34") (editor MITTAL) (ruleNumber 12) (ruleSet #&(RuleSet "YWSC@8@h"))) (DEFINST Rule ("UISC@AMT") (source " (* Rules for deciding how much the Peddler could buy at a Producer.) (* Sale can be limited by volume, weight, cash, or availability.) -> volumeCapacity _ truck::MaxVolume-truck:volume weightCapacity _ truck::MaxWeight-truck:weight cashCapacity _ (MAX 0 truck:cashBox-cashReserve);") (edited " 9-JUN-83 22:34:09") (editor STEFIK) (ruleNumber 1) (ruleSet #&(RuleSet "FRSC@$TR"))) (DEFINST Rule ("UISC@AMU") (source " -> volumeLimit _ volumeCapacity / roadStop::Commodity::VolPerQty weightLimit _ weightCapacity / roadStop::Commodity::WtPerQty cashLimit _ cashCapacity / (PricePerUnit roadStop) producerLimit _ roadStop:qty;") (edited " 9-JUN-83 22:34:09") (editor STEFIK) (ruleNumber 2) ( ruleSet #&(RuleSet "FRSC@$TR"))) (DEFINST Rule ("UISC@AMV") (source "-> numBuy _ (MIN volumeLimit weightLimit cashLimit producerLimit);") (edited " 9-JUN-83 22:34:09") ( editor STEFIK) (ruleNumber 3) (ruleSet #&(RuleSet "FRSC@$TR"))) (DEFINST Rule ("UISC@<{l") (source "-> numBuy _ (MIN volumeLimit weightLimit cashLimit producerLimit);") (edited " 9-JUN-83 17:59:43") ( editor BOBROW) (ruleNumber 4) (ruleSet #&(RuleSet "FRSC@$TR"))) (DEFINST Rule ("FBS@@A?V") (source NIL) (edited " 2-FEB-83 14:52:17") (editor "LOOPSCOURSE") ( ruleNumber 5) (ruleSet #&(RuleSet "FAS@@&Lh")) (lhs (GREATERP qtyLimit 0)) (rhs (SETQ ^value (PROGN ( PROGN (* Make an audit record for this rule and set its audit values.) (SETQ ^auditRecord (_ ( GetObjFromUID "FAS@@<\") NewTemp)) (PutValue ^auditRecord (QUOTE rule) (GetObjFromUID "FBS@@A?V"))) (_ gameMaster Buy qtyLimit) (PutAuditRec self (QUOTE goal) (QUOTE Sell) ^auditRecord) (PutAuditRec self (QUOTE destination) (NearestRoadStop (Buyers commodity)) ^auditRecord) (PutAuditRec self (QUOTE direction) (DirectionOf (GetValue self (QUOTE destination))) ^auditRecord))))) (DEFINST Rule ("UISC@AMj") (source "(* Rating RuleSet for spots near Alices. Returns a number for spots.) -> cargo _ (CAR truck:cargo);") (edited " 9-JUN-83 22:03:23") (editor STEFIK) (ruleNumber 1) (ruleSet #&(RuleSet "FRSC@$PR"))) (DEFINST Rule ("UISC@AMk") (source " (* Favor places closer to Alices.) -> rating _ 100 - 4 * (Distance roadStop alices);") (edited " 9-JUN-83 22:03:23") (editor STEFIK) ( ruleNumber 2) (ruleSet #&(RuleSet "FRSC@$PR"))) (DEFINST Rule ("UISC@AMl") (source "IF ~(RoomToParkP roadStop) THEN rating _ -1000;") (edited " 9-JUN-83 22:03:23") (editor STEFIK) (ruleNumber 3) (ruleSet #&( RuleSet "FRSC@$PR"))) (DEFINST Rule ("UISC@AMm") (source "IF (ISA roadStop $UnionHall) THEN rating _ -1000;") (edited " 9-JUN-83 22:03:23") (editor STEFIK) (ruleNumber 4) (ruleSet #&( RuleSet "FRSC@$PR"))) (DEFINST Rule ("UISC@AMn") (source "IF (ISA roadStop $AlicesRestaurant) THEN rating _ -500;") (edited " 9-JUN-83 22:03:23") (editor STEFIK) (ruleNumber 5) (ruleSet #&( RuleSet "FRSC@$PR"))) (DEFINST Rule ("UISC@AMo") (source "IF cargo (ISA roadStop $Consumer) (ISA cargo roadStop::Commodity) roadStop:qty>0 roadStop:pr>1 THEN rating _ rating + 20;") (edited " 9-JUN-83 22:03:23") (editor STEFIK) (ruleNumber 6) (ruleSet #& (RuleSet "FRSC@$PR"))) (DEFINST Rule ("UOSC@E]B") (source "(* Make sale as limited by cargo and consumer.) -> cargo_(CAR truck:cargo);") (edited "15-JUN-83 15:49:26") (editor MITTAL) (ruleNumber 1) (ruleSet #&(RuleSet "YWSC@8@x"))) (DEFINST Rule ("UOSC@E]C") (source " IF ~(ISA cargo truck:location::Commodity) THEN (STOP NIL 'NoSale 'WrongKindOfBuyer);") (edited "15-JUN-83 15:49:26") (editor MITTAL) ( ruleNumber 2) (ruleSet #&(RuleSet "YWSC@8@x"))) (DEFINST Rule ("UOSC@E]D") (source " IF ~cargo:status (ISA truck:location $CityDump) THEN sellQty_(MIN truck:location:qty cargo:qty) (_ \gameMaster Sell cargo sellQty) (STOP T 'Sold 'AtCityDump);") (edited "15-JUN-83 15:49:26") (editor MITTAL) (ruleNumber 3) (ruleSet #&(RuleSet "YWSC@8@x"))) (DEFINST Rule ("UOSC@E]E") (source " IF truck:location:pr < cargo:pr THEN (STOP NIL 'NoSale 'AvoidLoss);") (edited "15-JUN-83 15:49:26") (editor MITTAL) (ruleNumber 4) ( ruleSet #&(RuleSet "YWSC@8@x"))) (DEFINST Rule ("UOSC@ELn") (source " IF cargo:status sellQty_(MIN truck:location:qty cargo:qty) sellQty>=1 THEN (_ \gameMaster Sell cargo sellQty) cashReserve_(MIN 5000 (TIMES 0.1 truck:cashBox));") (edited "15-JUN-83 15:49:26") (editor MITTAL) (ruleNumber 5) (ruleSet #&(RuleSet "YWSC@8@x"))) (DEFINST Rule ("YWSC@8Am") (source " IF cargo:status sellQty_(MIN truck:location:qty cargo:qty) sellQty>=1 THEN (_ gameMaster Sell cargo sellQty);") (edited "23-MAY-83 15:37:26") (editor MITTAL) (ruleNumber) (ruleSet #&(RuleSet "FRSC@$PC"))) (DEFINST Rule ("FBS@@A?b") (source NIL) (edited " 2-FEB-83 14:52:20") (editor "LOOPSCOURSE") ( ruleNumber 7) (ruleSet #&(RuleSet "FAS@@&Lr")) (lhs (AND (PROGN (* Rule Tracing Code) (TraceLHS NIL 7) (_ (GetObjFromUID "FBS@@A?b") Print)) (EQ cQty sellQty))) (rhs (SETQ ^value (PROGN (PROGN (* Make an audit record for this rule and set its audit values.) (SETQ ^auditRecord (_ (GetObjFromUID "FAS@@<\") NewTemp)) (PutValue ^auditRecord (QUOTE rule) (GetObjFromUID "FBS@@A?b"))) (PROGN (* Rule Tracing Code ) (TraceRHS NIL 7) (_ (GetObjFromUID "FBS@@A?b") Print)) (PutAuditRec self (QUOTE goal) (QUOTE Buy) ^auditRecord) (PutAuditRec self (QUOTE destination) NIL ^auditRecord))))) (DEFINST Rule ("FBS@@A?c") (source NIL) (edited " 2-FEB-83 14:52:20") (editor "LOOPSCOURSE") ( ruleNumber 8) (ruleSet #&(RuleSet "FAS@@&Lr")) (lhs (AND (PROGN (* Rule Tracing Code) (TraceLHS NIL 8) (_ (GetObjFromUID "FBS@@A?c") Print)) (LESSP sellQty cQty))) (rhs (SETQ ^value (PROGN (PROGN (* Make an audit record for this rule and set its audit values.) (SETQ ^auditRecord (_ (GetObjFromUID "FAS@@<\") NewTemp)) (PutValue ^auditRecord (QUOTE rule) (GetObjFromUID "FBS@@A?c"))) (PROGN (* Rule Tracing Code) (TraceRHS NIL 8) (_ (GetObjFromUID "FBS@@A?c") Print)) (PutAuditRec self (QUOTE destination) (NearestRoadStop (Buyers cargo1)) ^auditRecord) (PutAuditRec self (QUOTE direction) ( DirectionOf (GetValue self (QUOTE destination))) ^auditRecord))))) (DEFINST Rule ("UPSC@EMn") (source " (* Top-Level RuleSet for taking turns. Sets goal and destination.) (* If no fuel, but close to end with enough cash, sit tight) IF truck:fuel=0 truck:cashBox > 300000 \gameMaster:timeRemaining < 300 THEN destination_NIL goal_'SitTight;") (edited "16-JUN-83 18:52:33") (editor MITTAL) (ruleNumber 1) (ruleSet #&(RuleSet "YSSC@<>"))) (DEFINST Rule ("UPSC@EMo") (source " (* Don't move away from Alices during endgame.) IF goal='GoToAlices (ISA truck:location $AlicesRestaurant) THEN goal_'SitTight;") (edited "16-JUN-83 18:52:33") (editor MITTAL) (ruleNumber 2) (ruleSet #&( RuleSet "YSSC@<>"))) (DEFINST Rule ("UPSC@EMp") (source " (* make sure not overstaying at Alices) IF goal='SitTight (ISA truck:location $AlicesRestaurant) .TimeAtStop >=28 THEN destination_ (NearestRoadStop(RoadStops $AlicesRestaurant )) goal='GoToAlices;") (edited "16-JUN-83 18:52:33") (editor MITTAL) (ruleNumber 3) (ruleSet #&( RuleSet "YSSC@<>"))) (DEFINST Rule ("UPSC@EMq") (source " (* Get near to Alices when time gets close) IF \gameMaster:timeRemaining < 60 ~[goal<<'(SitTight GetClose GoToAlices)] THEN alices_(NearestRoadStop (RoadStops $AlicesRestaurant)) destination_ (PickHiObj self 'RateSpotsNearAlices (RoadStops) ) goal_'GetClose;") (edited "16-JUN-83 18:52:33") (editor MITTAL) (ruleNumber 4) (ruleSet #&( RuleSet "YSSC@<>"))) (DEFINST Rule ("UPSC@EMr") (source " (* Go to Alices now that it is time) IF \gameMaster:timeRemaining < 29 ~(ISA truck:location $AlicesRestaurant) THEN destination_ (NearestRoadStop (RoadStops $AlicesRestaurant NIL NIL T)) goal_'GoToAlices ;") (edited "16-JUN-83 18:52:33") (editor MITTAL) (ruleNumber 5) (ruleSet #&( RuleSet "YSSC@<>"))) (DEFINST Rule ("UPSC@EMs") (source " IF goal~='SitTight truck:fuel < .35 * truck::MaxFuel truck:cashBox > 0 gasStation_(PickHiObj self 'RateGasStations (RoadStops $GasStation .Range) ) THEN goal_'BuyGas destination_gasStation;") (edited "16-JUN-83 18:52:33") (editor MITTAL) ( ruleNumber 6) (ruleSet #&(RuleSet "YSSC@<>"))) (DEFINST Rule ("UPSC@EMt") (source " IF goal='Peddle truck:cargo possibleStops_(Buyers (CAR truck:cargo) NIL T) THEN destination_(PickHiObj self 'RateConsumers possibleStops );") (edited "16-JUN-83 18:52:33") ( editor MITTAL) (ruleNumber 7) (ruleSet #&(RuleSet "YSSC@<>"))) (DEFINST Rule ("UPSC@EMu") (source " IF goal='Peddle ~truck:cargo \gameMaster:timeRemaining > 70 possibleStops_(RoadStops $Producer) THEN destination_(PickHiObj self 'RateProducers possibleStops);") (edited "16-JUN-83 18:52:33") ( editor MITTAL) (ruleNumber 8) (ruleSet #&(RuleSet "YSSC@<>"))) (DEFINST Rule ("UPSC@EM|") (source " IF destination THEN .GoToStoppingPlace;") (edited "16-JUN-83 18:52:33") (editor MITTAL) (ruleNumber 9) (ruleSet #&( RuleSet "YSSC@<>"))) (DEFINST RuleSet (FindStoppingPlaceToyotaRules "FAS@@&Li") (perspectiveNode #&(RuleSetNode "FAS@@&Mh") myViewName RuleSet) (name #(FindStoppingPlaceToyotaRules NIL RememberName)) (compiledRules FindStoppingPlaceToyotaRules) (workSpace Toyota) (args) (tempVars (wStation gasStation)) (taskVars NIL ) (debugVars NIL) (numRules 6) (controlStructure DOALL) (whileCondition NIL) (compilerOptions NIL) ( auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass) (arguments)) (DEFINST RuleSet (PeddlerMaxPurchase "FRSC@$TR") (perspectiveNode #&(RuleSetNode "FRSC@$T_") myViewName RuleSet) (name #(PeddlerMaxPurchase NIL RememberName)) (compiledRules PeddlerMaxPurchase) ( workSpace Peddler) (args (roadStop)) (tempVars (volumeCapacity weightCapacity volumeLimit weightLimit cashLimit producerLimit numBuy cashCapacity)) (taskVars NIL) (debugVars NIL) (numRules 3) ( controlStructure DOALL) (whileCondition NIL) (compilerOptions (A)) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass) (arguments)) (DEFINST RuleSet (BuyGoodsToyotaRules "FAS@@&Lh") (perspectiveNode #&(RuleSetNode "FAS@@&Mg") myViewName RuleSet) (name #(BuyGoodsToyotaRules NIL RememberName)) (compiledRules BuyGoodsToyotaRules) (workSpace Toyota) (args) (tempVars (commodity volumeCapacity weightCapacity volumeLimit weightLimit cashLimit producerLimit numBuy)) (taskVars NIL) (debugVars NIL) (numRules 4) (controlStructure DOALL) (whileCondition NIL) (compilerOptions NIL) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) ( taskClass) (arguments)) (DEFINST RuleSet (PeddlerRateSpotsNearAlices "FRSC@$PR") (perspectiveNode #&(RuleSetNode "FRSC@$PY") myViewName RuleSet) (name #(PeddlerRateSpotsNearAlices NIL RememberName)) (compiledRules PeddlerRateSpotsNearAlices) (workSpace Peddler) (args (roadStop)) (tempVars (rating cargo)) (taskVars NIL) (debugVars NIL) (numRules 6) (controlStructure DOALL) (whileCondition NIL) (compilerOptions NIL) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass) (arguments)) (DEFINST RuleSet (SellGoodsPeddlerRules "FRSC@$PC") (perspectiveNode #&(RuleSetNode "FRSC@$PH") myViewName RuleSet) (name #(SellGoodsPeddlerRules NIL RememberName)) (compiledRules SellGoodsPeddlerRules) (workSpace Peddler) (args) (tempVars (cargo sellQty)) (taskVars NIL) (debugVars NIL) (numRules 6) (controlStructure DOALL) (whileCondition NIL) (compilerOptions (A)) (auditClass NIL ) (metaAssignments NIL) (ruleClass NIL) (taskClass) (arguments)) (DEFINST RuleSet (SellGoodsToyotaRules "FAS@@&Lr") (perspectiveNode #&(RuleSetNode "FAS@@&Mj") myViewName RuleSet) (name #(SellGoodsToyotaRules NIL RememberName)) (compiledRules SellGoodsToyotaRules) (workSpace Toyota) (args) (tempVars (cargo sellQty)) (taskVars NIL) (debugVars NIL) (numRules 4) (controlStructure DOALL) (whileCondition NIL) (compilerOptions NIL) (auditClass NIL) (metaAssignments NIL) (ruleClass NIL) (taskClass) (arguments)) (DEFINST RuleSetNode ("FAS@@&Mh") (perspectives ? RuleSet #&(RuleSet "FAS@@&Li") Source #&( RuleSetSource "FAS@@&Mn"))) (DEFINST RuleSetNode ("FRSC@$T_") (perspectives ? RuleSet #&(RuleSet "FRSC@$TR") Source #&( RuleSetSource "FRSC@$T`"))) (DEFINST RuleSetNode ("FAS@@&Mg") (perspectives ? RuleSet #&(RuleSet "FAS@@&Lh") Source #&( RuleSetSource "FAS@@&Mm"))) (DEFINST RuleSetNode ("FRSC@$PY") (perspectives ? RuleSet #&(RuleSet "FRSC@$PR") Source #&( RuleSetSource "FRSC@$P["))) (DEFINST RuleSetNode ("FRSC@$PH") (perspectives ? RuleSet #&(RuleSet "FRSC@$PC") Source #&( RuleSetSource "FRSC@$PM"))) (DEFINST RuleSetNode ("FAS@@&Mj") (perspectives ? RuleSet #&(RuleSet "FAS@@&Lr") Source #&( RuleSetSource "FAS@@&Mp"))) (DEFINST RuleSetSource ("FAS@@&Mn") (indexedVars ((#&(Rule "FPSC@$Lw")) (#&(Rule "FPSC@$Lx")) (#&(Rule "FPSC@$Ly")) (#&(Rule "FPSC@$Lz")) (#&(Rule "FPSC@$L{")) (#&(Rule "FPSC@$L|")) (#&(Rule "FAS@@&Lp"))) ) (perspectiveNode #&(RuleSetNode "FAS@@&Mh") myViewName Source) (created " 1-FEB-83 14:25:23") ( creator LOOPSCOURSE) (edited "16-FEB-83 14:44:17") (editor STEFIK)) (DEFINST RuleSetSource ("FRSC@$T`") (indexedVars ((#&(Rule "UISC@AMT")) (#&(Rule "UISC@AMU")) (#&(Rule "UISC@AMV")) (#&(Rule "UISC@<{l")) (#&(Rule "FBS@@A?V")))) (perspectiveNode #&(RuleSetNode "FRSC@$T_" ) myViewName Source) (created " 1-FEB-83 14:25:11") (creator LOOPSCOURSE) (edited " 9-JUN-83 22:34:09" ) (editor STEFIK)) (DEFINST RuleSetSource ("FAS@@&Mm") (indexedVars ((#&(Rule "FPSC@$Ls")) (#&(Rule "FPSC@$Lt")) (#&(Rule "FPSC@$Lu")) (#&(Rule "FPSC@$Lv")) (#&(Rule "FBS@@A?V")))) (perspectiveNode #&(RuleSetNode "FAS@@&Mg" ) myViewName Source) (created " 1-FEB-83 14:25:11") (creator LOOPSCOURSE) (edited "16-FEB-83 14:59:42" ) (editor STEFIK)) (DEFINST RuleSetSource ("FRSC@$P[") (indexedVars ((#&(Rule "UISC@AMj")) (#&(Rule "UISC@AMk")) (#&(Rule "UISC@AMl")) (#&(Rule "UISC@AMm")) (#&(Rule "UISC@AMn")) (#&(Rule "UISC@AMo")))) (perspectiveNode #&( RuleSetNode "FRSC@$PY") myViewName Source) (created "18-FEB-83 20:41:23") (creator STEFIK) (edited " 9-JUN-83 22:03:23") (editor STEFIK)) (DEFINST RuleSetSource ("FRSC@$PM") (indexedVars ((#&(Rule "YWSC@8Ao")) (#&(Rule "YWSC@8Ap")) (#&(Rule "YWSC@8Aq")) (#&(Rule "YWSC@8Ar")) (#&(Rule "YWSC@8As")) (#&(Rule "YWSC@8Am")) (#&(Rule "FBS@@A?b")) (#&(Rule "FBS@@A?c")))) (perspectiveNode #&(RuleSetNode "FRSC@$PH") myViewName Source) (created " 1-FEB-83 14:25:40") (creator LOOPSCOURSE) (edited "23-MAY-83 15:37:26") (editor MITTAL)) (DEFINST RuleSetSource ("FAS@@&Mp") (indexedVars ((#&(Rule "FPSC@$MD")) (#&(Rule "FPSC@$ME")) (#&(Rule "FPSC@$MF")) (#&(Rule "FPSC@$MG")) (#&(Rule "FBS@@A?`")) (#&(Rule "FBS@@A?a")) (#&(Rule "FBS@@A?b")) (#&(Rule "FBS@@A?c")))) (perspectiveNode #&(RuleSetNode "FAS@@&Mj") myViewName Source) (created " 1-FEB-83 14:25:40") (creator LOOPSCOURSE) (edited "16-FEB-83 14:26:24") (editor STEFIK)) (DEFINST Rule ("FPSC@$Lw") (source "(* Returns a stopping place en route to a destination.) IF truck:fuel=0 THEN (AnyRoadStop $UnionHall);") (edited "16-FEB-83 14:44:17") (editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Li"))) (DEFINST Rule ("FPSC@$Lx") (source "(* Dont run out if gas.) IF truck:fuel < .25 * truck::MaxFuel truck:cashBox>0 gasStation_(NearestRoadStop (RoadStops $GasStation .Range1 NIL 'Room)) THEN gasStation;") (edited "16-FEB-83 14:44:17") (editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Li"))) (DEFINST Rule ("FPSC@$Ly") (source "(* Obey the law - stop at WeighStations.) IF wStation_(NearestRoadStop (RoadStops $WeighStation .Range1 direction 'Room)) (Distance wStation)<(Distance destination) THEN wStation;") (edited "16-FEB-83 14:44:17") (editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Li"))) (DEFINST Rule ("FPSC@$Lz") (source "IF (Distance destination)<=.Range1 THEN destination;") (edited "16-FEB-83 14:44:17") (editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Li"))) (DEFINST Rule ("FPSC@$L{") (source "IF gasStation_(FurthestRoadStop (RoadStops $GasStation .Range1 direction)) THEN gasStation;") (edited "16-FEB-83 14:44:17") (editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Li"))) (DEFINST Rule ("FPSC@$L|") (source "THEN (NthRoadStop maxMove direction);") (edited "16-FEB-83 14:44:17") (editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Li"))) (DEFINST Rule ("FPSC@$Ls") (source " (* Rules for deciding what and how much to buy.) -> commodity _ truck:location::Commodity;") (edited "16-FEB-83 14:59:42") (editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Lh"))) (DEFINST Rule ("FPSC@$Lt") (source "IF ~(ISA commodity $LuxuryGoods) THEN (STOP NIL 'NoBuy 'NotLuxury);") (edited "16-FEB-83 14:59:42") (editor STEFIK) (ruleNumber) ( ruleSet #&(RuleSet "FAS@@&Lh"))) (DEFINST Rule ("FPSC@$Lu") (source "(* Sale can be limited by volume, weight, cash, or availability.) -> volumeCapacity _ truck::MaxVolume-truck:volume weightCapacity _ truck::MaxWeight-truck:weight volumeLimit _ volumeCapacity / commodity::VolPerQty weightLimit _ weightCapacity / commodity::WtPerQty cashLimit _ truck:cashBox / (PricePerUnit truck:location) producerLimit _ truck:location:qty numBuy _ (MIN volumeLimit weightLimit cashLimit producerLimit);") (edited "16-FEB-83 14:59:42") ( editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Lh"))) (DEFINST Rule ("FPSC@$Lv") (source "(* Buy as much as possible, then decide to sell it.) IF numBuy>0 THEN (_ gameMaster Buy numBuy) goal_'Sell destination_(NearestRoadStop (Buyers commodity));") (edited "16-FEB-83 14:59:42") (editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Lh"))) (DEFINST Rule ("YWSC@8Ao") (source " -> cargo_(CAR truck:cargo);") (edited "23-MAY-83 15:37:26") ( editor MITTAL) (ruleNumber) (ruleSet #&(RuleSet "FRSC@$PC"))) (DEFINST Rule ("YWSC@8Ap") (source " IF ~(ISA cargo truck:location::Commodity) THEN (STOP NIL 'NoSale 'WrongKindOfBuyer);") (edited "23-MAY-83 15:37:26") (editor MITTAL) ( ruleNumber) (ruleSet #&(RuleSet "FRSC@$PC"))) (DEFINST Rule ("YWSC@8Aq") (source " IF truck:location:pr < 1.1 goal='Peddle THEN (STOP NIL 'NoSale 'AvoidCheapSkates);") (edited "23-MAY-83 15:37:26") (editor MITTAL) ( ruleNumber) (ruleSet #&(RuleSet "FRSC@$PC"))) (DEFINST Rule ("YWSC@8Ar") (source " IF truck:location:pr < 0 THEN (STOP NIL 'NoSale 'NeverSellAtLoss);") (edited "23-MAY-83 15:37:26") (editor MITTAL) (ruleNumber ) (ruleSet #&(RuleSet "FRSC@$PC"))) (DEFINST Rule ("YWSC@8As") (source "(* Make sale as limited by cargo and consumer.) IF ~cargo:status (ISA truck:location $CityDump) THEN sellQty_(MIN truck:location:qty cargo:qty) (_ gameMaster Sell cargo sellQty) (STOP T 'Sold 'AtCityDump);") (edited "23-MAY-83 15:37:26") (editor MITTAL) (ruleNumber) (ruleSet #&(RuleSet "FRSC@$PC"))) (DEFINST Rule ("FPSC@$MD") (source " -> cargo_(CAR truck:cargo);") (edited "16-FEB-83 14:26:24") ( editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Lr"))) (DEFINST Rule ("FPSC@$ME") (source "(* Abort sale if cargo has disappeared.) IF ~cargo THEN destination_NIL (WriteGameStatus %"Yipes! My cargo is gone!%") (STOP NIL 'NoSale 'NoCargo);") (edited "16-FEB-83 14:26:24") (editor STEFIK) (ruleNumber) (ruleSet #& (RuleSet "FAS@@&Lr"))) (DEFINST Rule ("FPSC@$MF") (source "(* Make sale as limited by cargo and consumer.) IF sellQty_(MIN truck:location:qty cargo:qty) sellQty>0 THEN (_ gameMaster Sell cargo sellQty);") (edited "16-FEB-83 14:26:24") (editor STEFIK) (ruleNumber) (ruleSet #&(RuleSet "FAS@@&Lr"))) (DEFINST Rule ("FPSC@$MG") (source "(* Find another buyer if all not sold.) IF cargo_(CAR truck:cargo) cargo:qty>0 THEN destination_(NearestRoadStop (Buyers truck:cargo)) direction_(DirectionOf destination) (STOP NIL 'NoSale 'CantSell);") (edited "16-FEB-83 14:26:24") (editor STEFIK) (ruleNumber) ( ruleSet #&(RuleSet "FAS@@&Lr"))) (DEFINST Rule ("FBS@@A?`") (source NIL) (edited " 2-FEB-83 14:52:20") (editor "LOOPSCOURSE") ( ruleNumber 5) (ruleSet #&(RuleSet "FAS@@&Lr")) (lhs (AND (PROGN (* Rule Tracing Code) (TraceLHS NIL 5) (_ (GetObjFromUID "FBS@@A?`") Print)) (OR (EQ sellQty 0) (NOT (ISA cargo1 commodity))))) (rhs (SETQ ^value (PROGN (PROGN (* Make an audit record for this rule and set its audit values.) (SETQ ^auditRecord (_ (GetObjFromUID "FAS@@<\") NewTemp)) (PutValue ^auditRecord (QUOTE rule) (GetObjFromUID "FBS@@A?`"))) (PROGN (* Rule Tracing Code) (TraceRHS NIL 5) (_ (GetObjFromUID "FBS@@A?`") Print)) ( PutAuditRec self (QUOTE destination) (NearestRoadStop (Buyers cargo1)) ^auditRecord) (PutAuditRec self (QUOTE direction) (DirectionOf (GetValue self (QUOTE destination))) ^auditRecord) (PROGN (* ^value set by RuleSetStop) (RuleSetStop self) (GO QUIT)))))) (DEFINST Rule ("FBS@@A?a") (source NIL) (edited " 2-FEB-83 14:52:20") (editor "LOOPSCOURSE") ( ruleNumber 6) (ruleSet #&(RuleSet "FAS@@&Lr")) (lhs (PROGN (* Rule Tracing Code) (TraceLHS NIL 6) (_ ( GetObjFromUID "FBS@@A?a") Print))) (rhs (SETQ ^value (PROGN (PROGN (* Rule Tracing Code) (TraceRHS NIL 6) (_ (GetObjFromUID "FBS@@A?a") Print)) (_ gameMaster Sell cargo1 sellQty))))) (DEFCLASSES HousePlayer) (DEFCLASS HousePlayer (MetaClass PlayerMeta Edited: (* sm: "23-JUN-83 10:39")) (Supers Traveler) ( ClassVariables (CopyCV (Icon)) (Icon ?)) (InstanceVariables (goal Peddle) (destination NIL doc (* Current destination.)) (direction NIL doc (* Forward or Backward direction of travel on the highway.)) (alices NIL doc (* Instance of Alices chosen for end game.)) (cashReserve 1000 doc (* Minimum cash to keep on hand.))) (Methods (FindStoppingPlace FindStoppingPlaceHousePlayerRules doc (* RuleSet FindStoppingPlaceHousePlayerRules is installed as the selector FindStoppingPlace of the class HousePlayer) RuleSet FindStoppingPlaceHousePlayerRules) (GoToStoppingPlace GoToStoppingPlaceHousePlayerRules doc (* RuleSet GoToStoppingPlaceHousePlayerRules is installed as the selector GoToStoppingPlace of the class HousePlayer) RuleSet GoToStoppingPlaceHousePlayerRules) ( SellGoods SellGoodsHousePlayerRules doc (* RuleSet SellGoodsHousePlayerRules is installed as the selector SellGoods of the class HousePlayer) RuleSet SellGoodsHousePlayerRules) (TakeTurn TakeTurnHousePlayerRules doc (* RuleSet TakeTurnHousePlayerRules is installed as the selector TakeTurn of the class HousePlayer) RuleSet TakeTurnHousePlayerRules) (RateProducers HPRateProducers RuleSet HPRateProducers) (RateConsumers HPRateConsumers RuleSet HPRateConsumers) (RateGasStations HPRateGasStations RuleSet HPRateGasStations) (RateSpotsNearAlices RateSpotsNearAlicesHousePlayerRules RuleSet RateSpotsNearAlicesHousePlayerRules) (MaxPurchase MaxPurchaseHousePlayerRules RuleSet MaxPurchaseHousePlayerRules))) NIL