(FILECREATED " 1-NOV-83 17:33:33" ("compiled on " {INDIGO}TRUCKIN>MULTI>TRUCKINP.;30) "12-OCT-83 13:52:28" recompiled exprs: FindPlayer ListPlayers REPlayer Bandit.CanBuy Bandit.NewInstance Bandit.SelectTruck BanditCar.VisitUnionHall BanditCarMeta.New GasPlayer.NewInstance GasPlayer.SelectTruck InteractivePlayer.Interact InteractivePlayer.PositionWindow InteractivePlayer.TakeTurn Player.Buyers Player.CheckTruck Player.NewInstance Player.RemovePlayer Player.SelectTruck Player.SetUpGauges Player.Show Player.StartGame Player.Summarize Player.TakeTurn PlayerMeta.TurnOff PlayerMeta.TurnOn RemotePlayer.NewInstance RemotePlayer.Summarize SystemPlayer.CanBuy SystemPlayer.CanBuyFuel SystemPlayer.CheckTruck SystemPlayer.Initialize SystemPlayer.MakeIcon SystemPlayer.MakeIcons SystemPlayer.NewInstance SystemPlayer.SetUpPlayer in WORK dated "12-OCT-83 19:52:21") (FILECREATED " 1-NOV-83 17:32:20" {INDIGO}TRUCKIN>MULTI>TRUCKINP.;30 39720 changes to: (FNS Player.AnyRoadStop Player.DirectionOf Player.Distance Player.FurthestRoadStop Player.NearestRoadStop Player.NthRoadStop Player.Range Player.Range1 Player.RoadStops Player.Sellers Player.TimeAtStop Player.TurnsAtStop) (VARS TRUCKINPCOMS TRUCKINPFNS) previous date: "23-SEP-83 09:49:04" {INDIGO}TRUCKIN>MULTI>TRUCKINP.;29) FindPlayer D1 (P 1 player I 0 playerName) &`g Hh@Ig IHX(33Q GetValue 10Q GetValue) (30Q driver 5 players 2 gameMaster) NIL ListPlayers D1 (P 3 player) .0`g dKg IHhZH&J(31Q GetValue 13Q GetValue) (26Q driver 10Q players 5 gameMaster) NIL REPlayer D1 (P 1 player P 0 playerName I 0 name) 8@H Y&o ohoi Xo h (65Q REObject 60Q WRITE 46Q INTTY 30Q WRITE 25Q ListPlayers 13Q FindPlayer) NIL (55Q "Returning." 42Q "Name of driver of truck" 35Q "What is the name of the driver of the truck to be examined? " 22Q "Players must be one of: ") Bandit.CanBuy D1 (I 4 seller I 3 qty I 2 pr I 1 commodity I 0 self) ;AHg H@g lIhC@g @g@g C @(67Q PutValue 62Q GetValue 44Q GetValue 23Q GetClassValue 12Q FetchMethodOrHelp) (57Q qty 53Q qty 41Q qty 20Q Commodity 7 InstOf!) NIL Bandit.NewInstance D1 (P 0 driver I 1 banditIndex I 0 self) OP@Zg JkIAAdddkb`A` kA @\g LHlK@(103Q FetchMethodOrHelp 71Q NTH 61Q FLENGTH 12Q GetSuperMethod) (100Q SetUpPlayer 56Q banditNames 52Q banditNames 7 NewInstance) NIL Bandit.SelectTruck D1 (L (0 self)) gNIL (2 BanditCar) NIL BanditCar.VisitUnionHall D1 (P 0 bandit I 0 self) -@g HgHg oHg o i(51Q WriteGameStatus 42Q GetValue 27Q PutValue 24Q GetClassValue 6 GetValue) (37Q driver 21Q Qty 15Q qty 3 driver) (46Q " new license to rob!!" 33Q "UnionHall just gave ") BanditCarMeta.New D1 (P 0 new I 1 driver I 0 self) 0@Zg JkIXdgA H(31Q PutValue 12Q GetSuperMethod) (25Q driver 7 New) NIL GasPlayer.NewInstance D1 (I 1 driver I 0 self) *@Hg HkI@Hg HglI@(34Q FetchMethodOrHelp 12Q GetSuperMethod) (41Q Gas 31Q SetUpPlayer 7 NewInstance) NIL GasPlayer.SelectTruck D1 (L (0 self)) gNIL (2 GasTruck) NIL InteractivePlayer.Interact D1 (P 34Q player P 33Q com P 10Q truck P 7 rs P 6 commodityItems P 5 commodity P 4 qty P 3 miles P 2 y P 1 x P 0 action I 0 self F 35Q PPDefault) @g @g Z@g `IlJl  Xdg.oIl(Jl  `_g _O@LlOg@g _0Og 'dO6 O6h_0O2 O0h_4O0&_2O4`dNdoo_dgl g iO_dOdg dgjdndh_dO Il(Jl  oMg o Il(Jl  `_g _O@MLlOHdg9o@g Il(Jl  `_"g _ O"@KlO g@_&g _$O&kO$nHdgxo Il(Jl  _@g g g O_kOOlN@g g g _`g O _*g _(O*kO(g.`g dO8_.g _,O.kO,HdgoW: W: i g@g h(1217Q CLOSEW 1214Q GetValue 1172Q EVAL.IN.TTY.PROCESS 1166Q TruckinUE 1162Q TERPRI 1154Q PRIN1 1110Q FetchMethodOrHelp 1067Q GetValue 1033Q FetchMethodOrHelp 1022Q NTH 1015Q GetValue 1001Q GetValue 773Q GetValue 765Q GetValue 734Q GetValue 726Q GetValue 720Q GetValue 706Q RNUMBER 672Q CONCAT 635Q FetchMethodOrHelp 576Q FetchMethodOrHelp 562Q RNUMBER 546Q CONCAT 543Q GetValue 476Q FetchMethodOrHelp 462Q RNUMBER 446Q CONCAT 437Q GetValue 423Q MENU 325Q FONTCREATE 215Q ClassName 201Q GetValue 163Q GetValue 125Q FetchMethodOrHelp 111Q RNUMBER 60Q MENU 40Q TOTOPW 35Q GetValue 24Q GetValue 14Q GetValue) (1211Q window 1200Q Done 1137Q UE 1105Q Show 1064Q players 1061Q Simulator 1053Q ShowAll 1030Q Show 1012Q roadStops 1007Q PlayerInterface 776Q milePost 770Q location 762Q truck 731Q milePost 723Q location 715Q truck 657Q ShowRS 632Q Show 621Q Show 573Q Move 566Q PlayerInterface 540Q maxMove 524Q Move 473Q Sell 466Q PlayerInterface 434Q qty 360Q DEFAULTMENUHELDFN 351Q CLRPROMPT 322Q BOLD 315Q HELVETICA 262Q MENUTYPE# 176Q cargo 160Q truck 147Q Sell 122Q Buy 115Q PlayerInterface 65Q Buy 44Q interactiveGameMenu 32Q window 21Q y 11Q x) (1147Q "Type OK to return to Interactive Player." 667Q "Relative distance" 534Q "Locations up to: " 443Q ")" 430Q "Quantity (Max " 304Q (NIL) 275Q "Cargo" 75Q "Quantity to Buy") InteractivePlayer.PositionWindow D1 (P 10Q roadStop P 7 truck P 6 y P 5 x P 4 hiYPlayer P 3 hiYWindow P 2 lowYWindow P 1 xWindow P 0 lowX I 0 self) R l2nl nn,E@g _dg _I]Og LJK^@gM @gN @g MN h(116Q MOVEW 111Q GetValue 102Q PutValue 72Q PutValue 53Q GetValue 37Q GetValue 26Q GetValue) (106Q window 76Q y 66Q x 50Q y 34Q location 23Q truck) NIL InteractivePlayer.TakeTurn D1 (I 0 self) @g 1@gjdllh@g o @g `d`dooHdgl g iHHdIdodg dgjdndhHdI @Hg HkI@g o@g @Hg HkI(323Q FetchMethodOrHelp 310Q WriteGameStatus 305Q GetValue 272Q GetValue 254Q FetchMethodOrHelp 141Q FONTCREATE 71Q CLOSEW 66Q GetValue 56Q PutValue 53Q CREATEW 50Q CONCAT 41Q GetValue 11Q WINDOWP 6 GetValue) (320Q Interact 302Q maxMove 267Q driver 251Q PositionWindow 240Q interactiveGameMenu 205Q DEFAULTMENUHELDFN 176Q CLRPROMPT 136Q BOLD 131Q HELVETICA 102Q MENUTYPE# 75Q interactiveGameMenu 63Q window 36Q driver 17Q window 3 window) (276Q " can Move upto " 167Q "Action" 117Q (NIL) 110Q (Buy Sell Move Show ShowRS ShowAll UE Done) 45Q "'s Turn") Player.Buyers D1 (P 16Q pos P 6 commodity P 5 roadStops P 4 rs P 3 stopPos P 2 startPos P 1 currentPos P 0 allRoadStops I 3 includeCDFlg I 2 numMoves I 1 commodityClass I 0 self)  `g  A oi i g bBH b@g g g YkIB ZH IB [HJ \KJOOL_g _OglOMCL_g _OglO1Lg ^'Lg jA_g _ONlOLMLg Ok_Ad`9d`d`) #M(404Q GetLispClass 332Q GetValue 302Q FetchMethodOrHelp 265Q GetValue 253Q GetClassValue 224Q FetchMethodOrHelp 170Q FetchMethodOrHelp 137Q NTH 131Q MIN 123Q FLENGTH 116Q MAX 106Q GetValue 100Q GetValue 72Q GetValue 60Q FLENGTH 47Q GetObjectRec 40Q TERPRI 33Q PRIN1 17Q GetObjectRec 10Q GetValue) (372Q classTYPE# 363Q instanceTYPE# 351Q instanceTYPE# 327Q next 277Q Subclass 262Q qty 250Q Commodity 234Q CityDump 221Q InstOf! 200Q Consumer 165Q InstOf! 103Q milePost 75Q location 67Q truck 44Q Commodity 5 roadStops 2 Simulator) (27Q "Commodity class in BUYERS is NIL. Assuming $Commodity") Player.CheckTruck D1 (I 1 truckClassName I 0 self) Ag Hg HglI(20Q FetchMethodOrHelp 6 GetObjectRec) (25Q Subs 15Q List! 3 Truck) NIL Player.NewInstance D1 (I 3 type I 2 truck I 1 driver I 0 self F 2 TTY) @Hg HkIA oi b ?A Hg HglI$oR AR oR R hb@Hg HABlI@Hg HkI@(200Q FetchMethodOrHelp 153Q FetchMethodOrHelp 132Q TERPRI 125Q PRIN1 114Q PRIN1 106Q PRIN1 61Q FetchMethodOrHelp 47Q GetObjectRec 41Q GetObjectRec 34Q EVAL.IN.TTY.PROCESS 12Q GetSuperMethod) (175Q SetUpGauges 150Q SetUpPlayer 66Q Player 56Q InstOf! 7 NewInstance) (121Q " is already the name of of an object. Select another name" 102Q "Sorry! " 30Q (INTTY "Driver: " NIL "Enter a name (up to 6 chars) to appear as part of the player icon." T)) Player.RemovePlayer D1 (L (0 self)) @NIL NIL NIL Player.SelectTruck D1 (I 0 self) 0og Hg HglIo oi (55Q INMENU 45Q LDIFFERENCE 23Q FetchMethodOrHelp 11Q GetObjectRec) (30Q Subs 20Q List! 6 Truck) (51Q "Enter the brand of a truck." 42Q (BanditCar BlackMaria GasTruck) 3 "What kind of truck do you drive? ") Player.SetUpGauges D1 (P 0 res I 0 self) |Po@g o oo Xddg)@g Zg Joh@g hlI+g%@g \g Loi@g hlK@(161Q GetValue 143Q FetchMethodOrHelp 134Q GetValue 105Q GetValue 67Q FetchMethodOrHelp 60Q GetValue 37Q INMENU 24Q CONCAT 15Q GetValue) (156Q driver 140Q AddGauges 131Q truck 122Q DEFAULT 102Q driver 64Q AddGauges 55Q truck 45Q YES 12Q driver) (151Q (fuel) 75Q (cashBox fuel volume weight) 34Q "Type Y for gauges,D for default gauges, N otherwise" 30Q (YES NO DEFAULT) 21Q "?" 6 "Attach gauges on your truck, ") Player.ShowA0314 D1 (NAME ERRORSET L (2 ERRORSET.W 1 ERRORSET.V 0 ERRORSET.U) P 4 commodity P 3 pr P 2 pr P 1 truck P 0 X F 5 file F 6 RESETVARSLST F 7 self F 10Q RESETY) gd gl Vc oHU hhVc Wg U oU U U oU `U Wg U `U U U lhU oU U oDdJU lhU IJ U oU JIJ oU U o(dKU lhU WK U U `U U oU `U U lhU oU lhU oU lhU oU U Ig RdL U lhU Lg U lhU Lg U lhU Lg U U hci(702Q TERPRI 675Q PRIN1 671Q GetValue 661Q TAB 651Q PRIN1 645Q GetValue 635Q TAB 625Q PRIN1 621Q GetValue 611Q TAB 601Q PRIN1 575Q ClassName 562Q GetValue 552Q TERPRI 545Q PRIN1 534Q TAB 524Q PRIN1 513Q TAB 503Q PRIN1 472Q TAB 462Q TERPRI 455Q CHANGEFONT 445Q PRIN1 434Q TERPRI 427Q CHANGEFONT 413Q TERPRI 406Q PRIN1 402Q GetValue 372Q TAB 362Q PRIN1 334Q TERPRI 327Q PRIN1 316Q GetClassValue 303Q PRIN1 272Q PRIN1 266Q GetValue 257Q TAB 247Q PRIN1 225Q TERPRI 220Q PRIN1 207Q TAB 177Q TERPRI 172Q TERPRI 165Q CHANGEFONT 155Q PRIN1 151Q GetValue 140Q CHANGEFONT 130Q PRIN1 117Q TERPRI 112Q TERPRI 105Q PRIN1 74Q TERPRI 67Q GetValue 41Q DSPFONT 17Q SETTOPVAL 6 GETTOPVAL) (666Q status 642Q pr 616Q qty 557Q cargo 451Q DEFAULTFONT 423Q BOLDFONT 161Q DEFAULTFONT 146Q driver 134Q LAMBDAFONT 64Q truck 12Q FIRSTCOL 2 FIRSTCOL) (541Q "status" 520Q "pr" 477Q "qty" 441Q "Cargo" 345Q ((timeUsed) (movesMade)) 323Q "NA" 277Q "/" 232Q ((fuel MaxFuel) (volume MaxVolume) (weight MaxWeight) (cashBox)) 214Q "Current/Max" 124Q "Player: " 101Q "****************" 31Q (LAMBDA (X) (DSPFONT X file))) Player.Show D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 1 file I 0 self F 3 PPDefault F 4 LISPXHIST F 5 RESETVARSLST) (ASbT!Uog hgZ JI(43Q ERROR! 36Q RESETRESTORE 24Q Player.ShowA0314) (32Q ERROR 21Q INTERNAL) (16Q (DUMMY.FOR.ERRORSET)) Player.StartGameA0317 D1 (NAME ERRORSET L (2 ERRORSET.W 1 ERRORSET.V 0 ERRORSET.U) F 2 self) RHg HkIi(12Q FetchMethodOrHelp) (7 TakeTurn) NIL Player.StartGame D1 (P 1 endTime P 0 currentPlayer I 0 self) k@Q`g `g Y@`g `[g K@lJIg oi `]g M@lLi(137Q FetchMethodOrHelp 124Q Player.StartGameA0317 112Q TIMEREXPIRED? 72Q FetchMethodOrHelp 55Q GetValue 42Q SETUPTIMER.DATE 37Q GDATE 34Q GetValue 20Q BLOCK 14Q GetValue) (134Q SuspendPlayer 130Q PlayerInterface 107Q SECONDS 67Q SuspendPlayer 63Q PlayerInterface 52Q runningPlayer 47Q PlayerInterface 31Q endTime 26Q Simulator 11Q gameStarted 6 Communicator) (120Q (DUMMY.FOR.ERRORSET)) Player.SummarizeA0322 D1 (NAME ERRORSET L (2 ERRORSET.W 1 ERRORSET.V 0 ERRORSET.U) P 2 pr P 1 truck P 0 X F 3 file F 4 RESETVARSLST F 5 self F 6 RESETY) gd gl TcoHS hhTcUg S oS S U S oS `S Ug S `S S gS lhS Ig S S o%dJS lhS UJ S S hc i(305Q TERPRI 300Q PRIN1 274Q GetValue 266Q TAB 256Q PRIN1 235Q TERPRI 230Q PRIN1 224Q GetValue 214Q TAB 204Q PRIN1 174Q TERPRI 167Q CHANGEFONT 157Q PRIN1 153Q GetValue 143Q CHANGEFONT 133Q PRIN1 122Q PRIN1 116Q ClassName 111Q TERPRI 104Q PRIN1 73Q TERPRI 66Q GetValue 41Q DSPFONT 17Q SETTOPVAL 6 GETTOPVAL) (221Q cashBox 200Q cashBox 163Q DEFAULTFONT 150Q driver 137Q LAMBDAFONT 63Q truck 12Q FIRSTCOL 2 FIRSTCOL) (242Q (timeUsed schCount movesMade) 127Q " " 100Q "****************" 31Q (LAMBDA (X) (DSPFONT X file))) Player.Summarize D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 1 file I 0 self F 3 PPDefault F 4 LISPXHIST F 5 RESETVARSLST) (ASbT!Uog hgZ JI(43Q ERROR! 36Q RESETRESTORE 24Q Player.SummarizeA0322) (32Q ERROR 21Q INTERNAL) (16Q (DUMMY.FOR.ERRORSET)) Player.TakeTurn D1 (P 1 cargo P 0 tr I 1 squares I 0 self F 2 TTY) c oR lR @g R R oR lR AR lR oR R @g Xdg Y@(137Q UE 133Q GetValue 123Q GetValue 114Q TERPRI 107Q PRIN1 76Q SPACES 67Q PRIN1 61Q SPACES 52Q PRIN1 42Q TERPRI 35Q PRIN1 31Q GetValue 21Q SPACES 12Q PRIN1) (130Q cargo 120Q truck 26Q driver) (103Q "locations in either direction" 46Q "You can move once upto" 6 "Your Turn") PlayerMeta.TurnOff D1 (P 3 ruleSet P 2 selector I 1 compilerOption I 0 self) M@Hg HglIAIh@Jg [Kdg ]g MAlLIY(75Q FetchMethodOrHelp 66Q $! 50Q GetMethod 12Q FetchMethodOrHelp) (72Q Off 60Q ? 45Q RuleSet 17Q Selectors 7 List) NIL PlayerMeta.TurnOn D1 (P 3 ruleSet P 2 selector I 1 compilerOption I 0 self) M@Hg HglIAIh@Jg [Kdg ]g MAlLIY(75Q FetchMethodOrHelp 66Q $! 50Q GetMethod 12Q FetchMethodOrHelp) (72Q On 60Q ? 45Q RuleSet 17Q Selectors 7 List) NIL RemotePlayer.NewInstance D1 (I 3 type I 2 truck I 1 driver I 0 self F 2 TTY F 3 RemotePlayerGaugeFlg) @Hg HkIA oi b ?A Hg HglI$oR AR oR R hb@Hg HABlIS@Hg HkI@gC @(222Q PutValue 203Q FetchMethodOrHelp 153Q FetchMethodOrHelp 132Q TERPRI 125Q PRIN1 114Q PRIN1 106Q PRIN1 61Q FetchMethodOrHelp 47Q GetObjectRec 41Q GetObjectRec 34Q EVAL.IN.TTY.PROCESS 12Q GetSuperMethod) (216Q realClass 200Q SetUpGauges 150Q SetUpPlayer 66Q Player 56Q InstOf! 7 NewInstance) (121Q " is already the name of of an object. Select another name" 102Q "Sorry! " 30Q (INTTY "Driver: " NIL "Enter a name (up to 6 chars) to appear as part of the player icon." T)) RemotePlayer.SummarizeA0339 D1 (NAME ERRORSET L (2 ERRORSET.W 1 ERRORSET.V 0 ERRORSET.U) P 2 pr P 1 truck P 0 X F 3 file F 4 self F 5 RESETVARSLST F 6 RESETY) gd gl Uc oHS hhUc Tg S oS S Tg S oS `S Tg S oS T S oS Tg S oS `S S gS lhS Ig S S o%dJS lhS TJ S S hc i(370Q TERPRI 363Q PRIN1 357Q GetValue 351Q TAB 341Q PRIN1 320Q TERPRI 313Q PRIN1 307Q GetValue 277Q TAB 267Q PRIN1 257Q TERPRI 252Q CHANGEFONT 242Q PRIN1 231Q PRIN1 225Q GetValue 215Q PRIN1 204Q PRIN1 200Q ClassName 173Q PRIN1 162Q PRIN1 156Q GetValue 146Q CHANGEFONT 136Q PRIN1 125Q PRIN1 121Q GetValue 111Q TERPRI 104Q PRIN1 73Q TERPRI 66Q GetValue 41Q DSPFONT 17Q SETTOPVAL 6 GETTOPVAL) (304Q cashBox 263Q cashBox 246Q DEFAULTFONT 222Q remoteMachine 153Q driver 142Q LAMBDAFONT 116Q realClass 63Q truck 12Q FIRSTCOL 2 FIRSTCOL) (325Q (movesMade) 236Q ")" 211Q " ON " 167Q " (" 132Q " " 100Q "****************" 31Q (LAMBDA (X) (DSPFONT X file))) RemotePlayer.Summarize D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 1 file I 0 self F 3 PPDefault F 4 LISPXHIST F 5 RESETVARSLST) (ASbT!Uog hgZ JI(43Q ERROR! 36Q RESETRESTORE 24Q RemotePlayer.SummarizeA0339) (32Q ERROR 21Q INTERNAL) (16Q (DUMMY.FOR.ERRORSET)) SystemPlayer.CanBuy D1 (I 4 seller I 3 qty I 2 pr I 1 commod I 0 self) @g Hg HABCDlI(20Q FetchMethodOrHelp 6 GetValue) (15Q CanBuy 3 truck) NIL SystemPlayer.CanBuyFuel D1 (I 4 seller I 3 qty I 2 pr I 1 commod I 0 self) @g Hg HABCDlI(20Q FetchMethodOrHelp 6 GetValue) (15Q CanBuyFuel 3 truck) NIL SystemPlayer.CheckTruck D1 (L (1 truckClassName 0 self)) iNIL NIL NIL SystemPlayer.Initialize D1 (P 2 iv I 0 self) O@Hg HglI3dJ@g !@J@d`d` J h(105Q PutValue 102Q GetClassIV 76Q GetLispClass 44Q GetClassValue 12Q FetchMethodOrHelp) (66Q classTYPE# 57Q instanceTYPE# 41Q UnChangedIVs 17Q IVs 7 List) NIL SystemPlayer.MakeIcon D1 (P 6 yOffset P 5 xOffset P 4 tempDS P 3 iconBitMap P 2 icon P 1 yMargin P 0 driver I 1 reverseFlg I 0 self) @g l @g @g Z\o_dgl iOL JL IL j@g Ho_dgl iO l ]dL HL Io_dgl iOg ^@g ll]@g g -[Ad [KhdJMN J(315Q BITBLT 301Q ReflectIcon 271Q GetClassValue 263Q GetValue 245Q GetClassValue 234Q FONTPROP 217Q FONTCREATE 175Q PRIN2 170Q DSPXPOSITION 162Q MAX 153Q STRINGWIDTH 141Q FONTCREATE 117Q GetClassValue 107Q DSPYPOSITION 102Q DSPDESTINATION 75Q DSPFONT 62Q FONTCREATE 40Q DSPCREATE 34Q BITMAPCREATE 31Q GetClassValue 22Q GetClassValue 6 GetValue) (266Q Icon 260Q truck 242Q Width 231Q SIZE 212Q HELVETICA 134Q HELVETICA 114Q Width 55Q HELVETICA 26Q Height 17Q Width 3 driver) (202Q (NIL) 124Q (NIL) 45Q (NIL)) SystemPlayer.MakeIcons D1 (I 0 self) 8@g@Hg HkI @g@Hg HglI (65Q PutValue 47Q FetchMethodOrHelp 30Q PutValue 16Q FetchMethodOrHelp) (54Q ReverseFlg 44Q MakeIcon 34Q reverseIcon 13Q MakeIcon 3 icon) NIL SystemPlayer.NewInstance D1 (I 3 type I 2 truck I 1 name I 0 self) @Hg HkI(12Q GetSuperMethod) (7 NewInstance) NIL SystemPlayer.SetUpPlayer D1 (P 1 truck P 0 truckName I 2 ptruck I 1 driver I 0 self F 20Q TTY) Aoi b@gA A A [g KkJ@]g MA lLB@_g OkNX@_g _OHlO>HW oW W og _g _OglO XH _g _OkOY@gI Ig@ @_g _OkO@(335Q FetchMethodOrHelp 324Q PutValue 314Q PutValue 271Q FetchMethodOrHelp 261Q GetClassRec 253Q INMENU 232Q FetchMethodOrHelp 222Q GetObjectRec 207Q TERPRI 201Q PRIN1 167Q PRIN1 143Q FetchMethodOrHelp 122Q FetchMethodOrHelp 100Q MKATOM 72Q FetchMethodOrHelp 53Q FetchMethodOrHelp 44Q GetObjectRec 36Q GetObjectRec 32Q PutValue 17Q EVAL.IN.TTY.PROCESS) (332Q MakeIcons 320Q driver 310Q truck 266Q New 242Q Subs 227Q List! 217Q Truck 140Q CheckTruck 117Q SelectTruck 67Q SetName 50Q Destroy 26Q driver) (214Q "Type of truck:" 174Q " is not a valid truck." 13Q (INTTY "Driver: " NIL "Enter a name (up to 6 chars) to appear as part of the player icon." T)) (PRETTYCOMPRINT TRUCKINPCOMS) (RPAQQ TRUCKINPCOMS ((* Copyright (c) 1983 by Xerox Corporation.) (* Generic Players and Trucks for the TRUCKIN game. TRUCKIN is a mini-expert system for teaching knowledge representation techniques in the Loops programming system. Truckin provides a simple simulation environment for novice Loops users in which small bodies of knowledge can be created and tested interactively. Knowledge in Truckin is in the form of rules for controlling a game piece to "maximize profit.") (* Written in January 1983 by the Loops Group -- Daniel Bobrow, Sanjay Mittal, and Mark Stefik.) (* System classes for Players. Includes an interactive manual player.) (CLASSES * TRUCKINPCLASSES) (VARS * TRUCKINPVARS) (* Kinds of Trucks.) (CLASSES * Trucks) (* Bandit Classes) (CLASSES * BANDITCLASSES) (* Lisp Fns.) (FNS * TRUCKINPFNS) (METHODS Bandit.CanBuy Bandit.NewInstance Bandit.SelectTruck BanditCar.VisitUnionHall BanditCarMeta.New GasPlayer.NewInstance GasPlayer.SelectTruck InteractivePlayer.Interact InteractivePlayer.PositionWindow InteractivePlayer.TakeTurn Player.Buyers Player.CheckTruck Player.NewInstance Player.RemovePlayer Player.SelectTruck Player.SetUpGauges Player.Show Player.StartGame Player.Summarize Player.TakeTurn PlayerMeta.TurnOff PlayerMeta.TurnOn RemotePlayer.NewInstance RemotePlayer.Summarize SystemPlayer.CanBuy SystemPlayer.CanBuyFuel SystemPlayer.CheckTruck SystemPlayer.Initialize SystemPlayer.MakeIcon SystemPlayer.MakeIcons SystemPlayer.NewInstance SystemPlayer.SetUpPlayer))) (RPAQQ TRUCKINPCLASSES (GasPlayer InteractivePlayer Player PlayerMeta RemotePlayer SystemPlayer)) (DEFCLASSES GasPlayer InteractivePlayer Player PlayerMeta RemotePlayer SystemPlayer) (DEFCLASS GasPlayer (MetaClass GameClass doc (* * SystemPlayer used to refresh qty at GasStations.) Edited: (* sm: "28-JUN-83 14:14")) (Supers SystemPlayer) (ClassVariables) (InstanceVariables)) (DEFCLASS InteractivePlayer (MetaClass PlayerMeta doc (* * Specialization of Player used for debugging. Pops up an interactive window for getting the Player moves directly from the the mouse instead of using knowledge encoded in rules.) Edited: (* sm: " 5-JUL-83 18:47")) (Supers Player) ( ClassVariables (UnChangedIVs (name driver truck icon reverseIcon window x y)) (Handicap 600000)) ( InstanceVariables (window NIL doc (* Window in which User interaction takes place.) dontSave Value) (x NIL doc (* x Origin of interaction window)) (y NIL doc (* y Origin of interaction window.)))) (DEFCLASS Player (MetaClass PlayerMeta doc (* Participant in the Truckin Simulation.) Edited: (* sm: "16-SEP-83 15:42")) (Supers SystemPlayer) (ClassVariables (Handicap 0 doc (* Free time allowed to compensate for slowness))) (InstanceVariables (timeUsed 0 DefaultGauge LCD doc (* total time used so far)) (movesMade 0 DefaultGauge LCD doc (* actual number of moves made. Used by TimeGameMaster)) ( pendingRequest NIL inProcess NIL whenSent 0 doc (* pending request. inProcess - is the request already sent to Master for processing. whenSent - time when process sent in IDATE form)) (maxMove 0 doc (* maxMove that can be made in current attempt)) (processHandle NIL doc (* process handle for the player's UserProcess)) (startedAt 0 doc (* CLOCK time when player process was last started)) ( unchargedTime 0 doc (* time not charged for in a given move)) (wakeReason NIL doc (* value to be returned when player process is resumed)) (staySuspend NIL doc (* set to T when player suspended pending request completion)) (schCount 0 doc (* number of times player was scheduled)) (remoteMachine NIL doc (* name of mc on which running)))) (DEFCLASS PlayerMeta (MetaClass GameMetaClass doc (* MetaClass for Player. Provides interactive method for defining new players.) Edited: (* mjs: "16-MAR-83 16:19")) (Supers GameClass) (ClassVariables) ( InstanceVariables)) (DEFCLASS RemotePlayer (MetaClass PlayerMeta Edited: (* sm: "29-JUN-83 12:49") doc (* Used for players which are running on a separate machine but simulated on this m/c)) (Supers Player) (ClassVariables ( CopyCV) (UnChangedIVs #((realClass) UnionSuperValue NIL))) (InstanceVariables (realClass NIL doc (* name of real player class)))) (DEFCLASS SystemPlayer (MetaClass GameAbstractClass Edited: (* dgb: "14-JUL-83 18:24")) (Supers GameObject) (ClassVariables (UnChangedIVs (name driver truck icon reverseIcon) doc (* list of IVs not to be changed)) (Width 35 doc (* Width of a player icon in pixels.)) (Height 25 doc (* Height of a player icon in pixels.))) (InstanceVariables (truck NIL doc (* Truck object used by player.)) ( reverseIcon NIL doc (* Cache for BitMap for player's truck going backwards.)) (icon NIL doc (* Cache for BitMap containing icon for player's truck as well as player's name. Created by MakeIcon msg.)) ( driver "Name1" doc (* String name to appear with the truck on the first line on the board. Six chars or fewer.)) (maxMove 0) (movesMade 0 doc (* number of MoveMade msgs received for player)))) (RPAQQ TRUCKINPVARS (RemotePlayerGaugeFlg (interactiveGameMenu NIL))) (RPAQQ RemotePlayerGaugeFlg NIL) (RPAQQ interactiveGameMenu NIL) (RPAQQ Trucks (MacTruck GMCTruck GasTruck FordTruck PeterBiltTruck)) (DEFCLASSES MacTruck GMCTruck GasTruck FordTruck PeterBiltTruck) (DEFCLASS MacTruck (MetaClass GameClass doc (* * Good Workhorse truck. Medium in range, weight, and speed.) Edited: (* sm: "21-FEB-83 15:56")) (Supers Truck) (ClassVariables (InitCash 10000) (Icon MacTruckIcon) (Gpm 2) (MaxDist 30) (MaxWeight 2000) (MaxVolume 2000) (MaxFuel 160)) (InstanceVariables )) (DEFCLASS GMCTruck (MetaClass GameClass doc (* * GMC is a big fast mover, but spends a lot on fuel.) Edited: (* sm: "21-FEB-83 15:56")) (Supers Truck) (ClassVariables (InitCash 10000) (Icon GMCTruckIcon) (Gpm 3) (MaxDist 24) (MaxWeight 4000) (MaxVolume 2000) (MaxFuel 240)) (InstanceVariables)) (DEFCLASS GasTruck (MetaClass Class doc (* Truck used by Gas Player.) Edited: (* mjs: "16-MAR-83 14:45")) (Supers SystemTruck) (ClassVariables (Icon GasTruckIcon)) (InstanceVariables)) (DEFCLASS FordTruck (MetaClass GameClass doc (* * Ford is a good lightweight truck. Fast with high mileage, but a low capacity.) Edited: (* sm: "14-FEB-83 08:46")) (Supers Truck) (ClassVariables ( InitCash 10000) (Icon FordTruckIcon) (Gpm 1) (MaxDist 50) (MaxWeight 500) (MaxVolume 500) (MaxFuel 80) ) (InstanceVariables)) (DEFCLASS PeterBiltTruck (MetaClass GameClass doc (* PeterBilt is a good heavy long distance mover, with an efficient engine. But he is slow.) Edited: (* mjs: "16-MAR-83 15:03")) (Supers Truck) ( ClassVariables (InitCash 10000) (Icon PeterBiltTruckIcon) (Gpm 4) (MaxDist 15) (MaxWeight 5000) ( MaxVolume 5000) (MaxFuel 320)) (InstanceVariables)) (RPAQQ BANDITCLASSES (BanditCarMeta BanditCar Bandit)) (DEFCLASSES BanditCarMeta BanditCar Bandit) (DEFCLASS BanditCarMeta (MetaClass GameMetaClass Edited: (* sm: "26-JAN-83 16:38")) (Supers GameClass) (ClassVariables) (InstanceVariables)) (DEFCLASS BanditCar (MetaClass BanditCarMeta Edited: (* sm: " 7-JUN-83 14:18")) (Supers SystemTruck) ( ClassVariables (CopyCV (InitCash MaxFuel MaxVolume MaxWeight MaxDamage MaxDist Gpm Icon)) (Icon BlackMariaIcon) (Gpm 1) (MaxDist 100) (MaxDamage 100) (MaxWeight 1000) (MaxVolume 1000) (MaxFuel 10000 ) (InitCash 0)) (InstanceVariables)) (DEFCLASS Bandit (MetaClass GameClass Edited: (* sm: "28-JUN-83 14:07")) (Supers SystemPlayer Consumer ) (ClassVariables (CopyCV (Pr Qty Commodity)) (Commodity Commodity) (Qty 100) (Pr 0.0)) ( InstanceVariables (pr 0.0) (qty 100) (driver Capone) (direction F doc (* direction in which bandit is moving)))) (RPAQQ TRUCKINPFNS (FindPlayer ListPlayers REPlayer)) (METH Bandit CanBuy (commodity pr qty seller) (* checks if bandit can take this commodity)) (METH Bandit NewInstance (banditIndex) (* method for instantiating a new bandit)) (METH Bandit SelectTruck NIL (* Bandits drive a BanditCar (of course))) (METH BanditCar VisitUnionHall NIL (* set qty on bandit to max so can rob more)) (METH BanditCarMeta New (driver) (* instantiates BanditCar and puts in driver name if specified)) (METH GasPlayer NewInstance (driver) (* do the needful for new GasPlayer)) (METH GasPlayer SelectTruck NIL (* Selects GasTruck for GasPlayer)) (METH InteractivePlayer Interact NIL (* * Pops up the appropriate Windows, menus, and number pads for interactive play.)) (METH InteractivePlayer PositionWindow NIL (* * Locates the interaction window on the gameBoard in a location distant from the current position of the player.)) (METH InteractivePlayer TakeTurn NIL (* * Sets up the windows and menus for an Interactive TRUCKIN Player.)) (METH Player Buyers (commodityClass numMoves includeCDFlg) (* Returns all of the Buyers wishing to purchase the Commodity. If numMoves is provided, it returns only those within that distance. A common case is to use maxMove for numMoves. If includeCDFlg is T includes CityDumps also.)) (METH Player CheckTruck NIL (* Check the validity of a Truck for a Player.)) (METH Player NewInstance (driver truck type) (* Interactive method for defining a new player. The arguments driver and truck are optional.)) (METH Player RemovePlayer NIL (* Sent to player when player removed from game. Currently dummy)) (METH Player SelectTruck NIL (* ask player what truck he wants)) (METH Player SetUpGauges NIL (* offer to put gauges)) (METH Player Show (file) (* Prints a report about the status of the current player. Used for debugging.)) (METH Player StartGame NIL (* Continuously runs player - blocking periodically)) (METH Player Summarize (file) (* Prints a report about the status of the current player. Used for debugging.)) (METH Player TakeTurn (squares) (* * Dummy Fn for Player moves. Replaced by Player's RuleSet.)) (METH PlayerMeta TurnOff (compilerOption) (* Turns Off the compiler option for every method of self that is implemented as a RuleSet.)) (METH PlayerMeta TurnOn (compilerOption) (* Turns on the compiler option for every method of self that is implemented as a RuleSet.)) (METH RemotePlayer NewInstance (driver truck type) (* defines a RemotePlayer)) (METH RemotePlayer Summarize (file) (* Prints a report about the status of the current player. Used for debugging.)) (METH SystemPlayer CanBuy (commod pr qty seller) (* CanBuy for player)) (METH SystemPlayer CanBuyFuel (commod pr qty seller) (* CanBuyFuel for Player)) (METH SystemPlayer CheckTruck (truckClassName) (* No checking for SystemPlayers.)) (METH SystemPlayer Initialize NIL (* Initializes IVs of player from class)) (METH SystemPlayer MakeIcon (reverseFlg) (* * Creates an icon for the player from the firstName, lastName, and truck icon. Shows truck going backwards if reverseFlg=T.)) (METH SystemPlayer MakeIcons NIL (* * Make icon and the reversed-direction icon for a player.)) (METH SystemPlayer NewInstance (name truck type) (* Inherits general NewInstance method)) (METH SystemPlayer SetUpPlayer (driver ptruck) (* * Method for instantiating a player. The argument driver and ptruck is optional.)) NIL