CONST MaxItems = 7 'How many ITMES are there total? CONST MaxRooms = 12 'How many ROOMS are there in the maze/game CONST MaxSpecial = 20 'How many "special" markers are there? (extra ones too) CONST RoomWidth = 4 'Width of the Maze used for N and S calculation CONST CanHold = 3 'How many items can the player HOLD? CONST InLine$ = "`9 Your Command: `7" CONST GameFile$ = "BREATH" CONST MaxScore$ = "20" CONST Version$ = " `%Breath Pirates `7version `$1.2`7, Written by `!Mike Snyder `7(C) 1997!" CONST MaxInputLen = 60 'Store up to 60 letters per any given command. CONST MaxItemInputLen = 30 'Store up to 30 characters when asking "what" CONST MaxScroll = 50 'Store up to 25 commands in scrollback buffer DECLARE SUB AddToCommand (SB%, a$) DECLARE SUB WinGame () DECLARE SUB PrintItem (g%, a$) DECLARE SUB GameOver () DECLARE SUB DoUnToken () DECLARE SUB DoTokenize (a$) DECLARE SUB SetStandardErrorTrap () DECLARE SUB ClearLine () DECLARE SUB ShowDirsAvail () DECLARE SUB ShowItemsHere () DECLARE SUB PromptLine (x%) DECLARE SUB DoIntro () DECLARE SUB ShowRoom (Room%, OldRoom%) DECLARE SUB Ocls () DECLARE SUB StatLine () DECLARE SUB PressEnter () DECLARE SUB ShowInventory () DECLARE SUB oprint (a$) DECLARE SUB Paus () DECLARE SUB CallView (b$) DECLARE SUB CallPalette (b$) DECLARE SUB CallPaus (b$) DECLARE SUB CheckForComputer () DECLARE SUB ShowFile (a$, b$) DECLARE SUB AddScore (d%) DECLARE FUNCTION CallAnyQuit% () DECLARE FUNCTION VerbHelp% (a$) DECLARE FUNCTION VerbMiscel% (a$) DECLARE FUNCTION VerbDig% (a$) DECLARE FUNCTION VerbPour% (a$) DECLARE FUNCTION AlterInput$ (b$) DECLARE FUNCTION MakeScore$ () DECLARE FUNCTION FixQuote$ (a$) DECLARE FUNCTION VerbJump% (a$) DECLARE FUNCTION VerbOpen% (a$) DECLARE FUNCTION VerbInsert% (a$) DECLARE FUNCTION IsItem% (a$) DECLARE FUNCTION GetWord$ (a$, n%) DECLARE FUNCTION VerbUnlock% (a$) DECLARE FUNCTION ContainsToken% (a$) DECLARE FUNCTION VerbMove% (a$) DECLARE FUNCTION VerbLook% (a$) DECLARE FUNCTION VerbQuit% (a$) DECLARE FUNCTION VerbLoadGame% (a$) DECLARE FUNCTION VerbSaveGame% (a$) DECLARE FUNCTION NounItem% (a$, x%) DECLARE FUNCTION VerbGive% (a$) DECLARE FUNCTION DoRandomFeature% () DECLARE FUNCTION VerbTalk% (a$) DECLARE FUNCTION VerbFunnyGet% (a$) DECLARE FUNCTION IsVerb% (a$, b$) DECLARE FUNCTION StripConcat$ (x$) DECLARE FUNCTION GetInput$ () DECLARE FUNCTION VerbLookAtItems% (a$) DECLARE FUNCTION VerbGetDrop% (a$) DECLARE FUNCTION VerbGo% (a$) DECLARE FUNCTION GetPromptLine$ (x%) DECLARE FUNCTION MakeTime$ () DECLARE FUNCTION RemoveColor$ (te$) DECLARE FUNCTION GetChoice% (o AS INTEGER) DECLARE FUNCTION VariFile% (a$) DECLARE FUNCTION KbIn$ (Lmax%, a$, cc$, SB%) DECLARE FUNCTION MciCode$ (a$) DECLARE FUNCTION BadCommand% (a$) DECLARE FUNCTION VerbClimb% (a$) '**** ansi routine declarations ******************************************* '*** I wrote this stuff a LONG time ago, and I always just re-use it. The '*** OPRINT routine is VERY neat. It interprets ANSI and also allows the '*** use of color codes `1, `2, `3.. `$... etc. :) Very cool routine :) COMMON SHARED Savedxx AS INTEGER, Savedyy AS INTEGER, Didit, Flash COMMON SHARED Oldx1 AS INTEGER, OldX2 AS INTEGER, OldX3 AS INTEGER COMMON SHARED ret$, Abort AS INTEGER, FileExists AS INTEGER, OldFg, OldBg COMMON SHARED TransColor() AS INTEGER, Ver$ '**** Prompt Line delcrations. Invented this stuff for Breath Pirates :) COMMON SHARED TLocX, TLocy, nolag, TagLine$, PromptLineNum, WaitState COMMON SHARED ErrorFound AS INTEGER 'For global error trapping COMMON SHARED ScoreToggle 'Used to swap room description with current score COMMON SHARED SoundOn AS INTEGER, TPlay AS INTEGER COMMON SHARED ScrollBackCommand$() COMMON SHARED ScrollBackItem$() COMMON SHARED ScrollCommandCount AS INTEGER, ScrollItemCount AS INTEGER COMMON SHARED TempCommand$ 'For storing buffered input during "EVENT" COMMON SHARED TempCommandNumber1 AS INTEGER COMMON SHARED TempCommandNumber2 AS INTEGER '**** variables specific to THIS routine ******* COMMON SHARED lo AS INTEGER, OldLo AS INTEGER COMMON SHARED Uo$() 'Will accept up to FOUR nouns for each object COMMON SHARED oc$() 'What the object is called in the Room & Inventory COMMON SHARED Dir() 'Which DIRECTIONS are available!?! COMMON SHARED LDir() AS INTEGER 'What limitations on movement are there? COMMON SHARED MaxLDir 'How many Limitations are there? COMMON SHARED CanGo() AS INTEGER 'When showing room, CanGo is set to DIR's avail. COMMON SHARED o() AS INTEGER 'Where item is LOCATED. 0=In Inventory!! COMMON SHARED Special() AS INTEGER 'How many "Special" things are there? COMMON SHARED NoRecurse 'Used to keep StatLine from calling itself COMMON SHARED MultiCommand AS INTEGER 'Used for CONCATENATED COMMANDS! COMMON SHARED OnHold$ 'When doing Multi-Commands, what's the NEXT portion? COMMON SHARED RandomFeature AS INTEGER COMMON SHARED Token$(), TokenCount AS INTEGER COMMON SHARED score AS INTEGER