(FILECREATED "14-Jan-85 16:59:49" ("compiled on " {INDIGO}TRUCKIN>MULTI>TRUCKINP.;31) "20-Dec-84 12:07:22" recompiled changes: 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 "LOOPS 11-Jan-85 ..." dated "11-Jan-85 18:25:22") (FILECREATED "14-Jan-85 16:58:40" {INDIGO}TRUCKIN>MULTI>TRUCKINP.;31 43286 changes to: (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) (FNS 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) previous date: " 1-NOV-83 17:32:20" {INDIGO}TRUCKIN>MULTI>TRUCKINP.;30) 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!) () Bandit.NewInstance D1 (P 0 driver I 1 banditIndex I 0 self) c`@[goYdg iI KkJAAdddkb`A` kA @]g MHlL@(127Q FetchMethodOrHelp 115Q NTH 105Q FLENGTH 36Q FindSuperMethod 25Q OldClass) (124Q SetUpPlayer 102Q banditNames 76Q banditNames 22Q Bandit 7 NewInstance) ( 13Q (NIL)) Bandit.SelectTruck D1 (L (0 self)) gNIL (2 BanditCar) () 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) 1@@[goYdg iI KkJXdgA H(55Q PutValue 36Q FindSuperMethod 25Q OldClass) (51Q driver 22Q BanditCarMeta 7 New) ( 13Q (NIL)) GasPlayer.NewInstance D1 (I 1 driver I 0 self) >@!HgoYdg iI HkJ@Hg HglI@(60Q FetchMethodOrHelp 36Q FindSuperMethod 25Q OldClass) (65Q Gas 55Q SetUpPlayer 22Q GasPlayer 7 NewInstance) ( 13Q (NIL)) GasPlayer.SelectTruck D1 (L (0 self)) gNIL (2 GasTruck) () InteractivePlayer.Interact D1 (P 32Q player P 31Q 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 33Q PPDefault) vp@g @g Z@g `IlJl  Xdg.oIl(Jl  `_g _O@LlOg@g _0Og 'dO2 O2h_,O. O,h_0O,&_.O0`dNdododg dgjdndh_dO Il(Jl  oMg o Il(Jl  `_g _O@MLlOHdg9o@g Il(Jl  `_g _O@KlOg@_"g _ O"kO Hdgxo Il(Jl  _@g g g O_kOOlN@g g g _`g O _&g _$O&kO$ g.`g dO4_*g _(O*kO(HdgoW6 W6 i g@g h(1162Q CLOSEW 1157Q GetValue 1135Q EVAL.IN.TTY.PROCESS 1131Q TruckinUE 1125Q TERPRI 1117Q PRIN1 1053Q FetchMethodOrHelp 1032Q GetValue 776Q FetchMethodOrHelp 765Q NTH 760Q GetValue 744Q GetValue 736Q GetValue 730Q GetValue 677Q GetValue 671Q GetValue 663Q GetValue 651Q RNUMBER 635Q CONCAT 600Q FetchMethodOrHelp 541Q FetchMethodOrHelp 525Q RNUMBER 511Q CONCAT 506Q GetValue 441Q FetchMethodOrHelp 425Q RNUMBER 411Q CONCAT 402Q GetValue 366Q MENU 215Q ClassName 201Q GetValue 163Q GetValue 125Q FetchMethodOrHelp 111Q RNUMBER 60Q MENU 40Q TOTOPW 35Q GetValue 24Q GetValue 14Q GetValue) (1154Q window 1143Q Done 1102Q UE 1050Q Show 1027Q players 1024Q Simulator 1016Q ShowAll 773Q Show 755Q roadStops 752Q PlayerInterface 741Q milePost 733Q location 725Q truck 674Q milePost 666Q location 660Q truck 622Q ShowRS 575Q Show 564Q Show 536Q Move 531Q PlayerInterface 503Q maxMove 467Q Move 436Q Sell 431Q PlayerInterface 377Q qty 323Q DEFAULTMENUHELDFN 314Q CLRPROMPT 262Q MENUTYPE# 176Q cargo 160Q truck 147Q Sell 122Q Buy 115Q PlayerInterface 65Q Buy 44Q interactiveGameMenu 32Q window 21Q y 11Q x) ( 1112Q "Type OK to return to Interactive Player." 632Q "Relative distance" 477Q "Locations up to: " 406Q ")" 373Q "Quantity (Max " 305Q (FONTCREATE (QUOTE HELVETICA) 14Q (QUOTE BOLD)) 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) () InteractivePlayer.TakeTurn D1 (I 0 self) @g 1@gjdllh@g o @g `E`dodododg dgjdndhHdI @Hg HkI@g o@g @Hg HkI(264Q FetchMethodOrHelp 251Q WriteGameStatus 246Q GetValue 233Q GetValue 215Q FetchMethodOrHelp 71Q CLOSEW 66Q GetValue 56Q PutValue 53Q CREATEW 50Q CONCAT 41Q GetValue 11Q WINDOWP 6 GetValue) (261Q Interact 243Q maxMove 230Q driver 212Q PositionWindow 201Q interactiveGameMenu 146Q DEFAULTMENUHELDFN 137Q CLRPROMPT 102Q MENUTYPE# 75Q interactiveGameMenu 63Q window 36Q driver 17Q window 3 window) ( 237Q " can Move upto " 130Q "Action" 120Q (FONTCREATE (QUOTE HELVETICA) 14Q (QUOTE BOLD)) 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) () Player.NewInstance D1 (I 3 type I 2 truck I 1 driver I 0 self F 3 TTY) @!HgoYdg iI HkJA oi b ?A Hg HglI$oS AS oS S hb@Hg HABlI@Hg HkI@(224Q FetchMethodOrHelp 177Q FetchMethodOrHelp 156Q TERPRI 151Q PRIN1 140Q PRIN1 132Q PRIN1 105Q FetchMethodOrHelp 73Q GetObjectRec 65Q GetObjectRec 60Q EVAL.IN.TTY.PROCESS 36Q FindSuperMethod 25Q OldClass) (221Q SetUpGauges 174Q SetUpPlayer 112Q Player 102Q InstOf! 22Q Player 7 NewInstance) ( 145Q " is already the name of of an object. Select another name" 126Q "Sorry! " 54Q (INTTY "Driver: " NIL "Enter a name (up to 6 chars) to appear as part of the player icon." T) 13Q (NIL)) Player.RemovePlayer D1 (L (0 self)) @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.ShowA0001 D1 (NAME ERRORSET 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.ShowA0001) (32Q ERROR 21Q INTERNAL) ( 16Q (Player.ShowA0001)) Player.StartGameA0002 D1 (NAME ERRORSET L (0 NIL) F 2 self) RHg HkIi(12Q FetchMethodOrHelp) (7 TakeTurn) () 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.StartGameA0002 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 (Player.StartGameA0002)) Player.SummarizeA0001 D1 (NAME ERRORSET 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.SummarizeA0001) (32Q ERROR 21Q INTERNAL) ( 16Q (Player.SummarizeA0001)) 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) () 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) () RemotePlayer.NewInstance D1 (I 3 type I 2 truck I 1 driver I 0 self F 3 TTY F 4 RemotePlayerGaugeFlg) @!HgoYdg iI HkJA oi b ?A Hg HglI$oS AS oS S hb@Hg HABlIT@Hg HkI@gC @(246Q PutValue 227Q FetchMethodOrHelp 177Q FetchMethodOrHelp 156Q TERPRI 151Q PRIN1 140Q PRIN1 132Q PRIN1 105Q FetchMethodOrHelp 73Q GetObjectRec 65Q GetObjectRec 60Q EVAL.IN.TTY.PROCESS 36Q FindSuperMethod 25Q OldClass) (242Q realClass 224Q SetUpGauges 174Q SetUpPlayer 112Q Player 102Q InstOf! 22Q RemotePlayer 7 NewInstance) ( 145Q " is already the name of of an object. Select another name" 126Q "Sorry! " 54Q (INTTY "Driver: " NIL "Enter a name (up to 6 chars) to appear as part of the player icon." T) 13Q (NIL)) RemotePlayer.SummarizeA0001 D1 (NAME ERRORSET 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.SummarizeA0001) (32Q ERROR 21Q INTERNAL) ( 16Q (RemotePlayer.SummarizeA0001)) 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) () 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) () SystemPlayer.CheckTruck D1 (L (1 truckClassName 0 self)) iNIL NIL () SystemPlayer.Initialize D1 (P 2 iv I 0 self) P@Hg HglIIhZ@g !@J@d`d` J IY(110Q PutValue 105Q GetClassIV 101Q GetLispClass 47Q GetClassValue 12Q FetchMethodOrHelp) (71Q classTYPE# 62Q instanceTYPE# 44Q UnChangedIVs 17Q IVs 7 List) () 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 lR@g @g Z\oL JL IL j@g Ho l ]dL HL Iog ^@g ll]@g g -[Ad [KhdJMN J(221Q BITBLT 205Q ReflectIcon 175Q GetClassValue 167Q GetValue 151Q GetClassValue 140Q FONTPROP 125Q PRIN2 120Q DSPXPOSITION 112Q MAX 103Q STRINGWIDTH 73Q GetClassValue 63Q DSPYPOSITION 56Q DSPDESTINATION 51Q DSPFONT 40Q DSPCREATE 34Q BITMAPCREATE 31Q GetClassValue 22Q GetClassValue 6 GetValue) (172Q Icon 164Q truck 146Q Width 135Q SIZE 70Q Width 26Q Height 17Q Width 3 driver) ( 132Q (FONTCREATE (QUOTE HELVETICA) 10Q) 100Q (FONTCREATE (QUOTE HELVETICA) 10Q) 45Q (FONTCREATE (QUOTE HELVETICA) 10Q)) 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) () SystemPlayer.NewInstance D1 (I 3 type I 2 truck I 1 name I 0 self) '@!HgoYdg iI HkJ(36Q FindSuperMethod 25Q OldClass) (22Q SystemPlayer 7 NewInstance) ( 13Q (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 MKNAME 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)) (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)) (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))) (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))) (DEFCLASS GasTruck (MetaClass Class doc (* Truck used by Gas Player.) Edited: (* mjs: "16-MAR-83 14:45")) (Supers SystemTruck) (ClassVariables (Icon GasTruckIcon))) (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) )) (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))) (RPAQQ BANDITCLASSES (BanditCarMeta BanditCar Bandit)) (DEFCLASSES BanditCarMeta BanditCar Bandit) (DEFCLASS BanditCarMeta (MetaClass GameMetaClass Edited: (* sm: "26-JAN-83 16:38")) (Supers GameClass) ) (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))) (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.)) (PUTPROPS TRUCKINP COPYRIGHT ("Xerox Corporation" 1985)) NIL