grim/gigamole

Make this compatible with qb64
default tip
13 months ago, Gary Kramlich
ed69802d944c
Parents 1903f369cb4a
Children
Make this compatible with qb64

I did this awhile ago, but never committed it.
  • +1352 -1351
    gigamole.bas
  • --- a/gigamole.bas Sun Feb 12 21:10:19 2017 -0600
    +++ b/gigamole.bas Fri Apr 07 01:56:02 2023 -0500
    @@ -44,1432 +44,1433 @@
    DECLARE SUB eclose (ex!, ey!)
    DECLARE SUB UpdateMenu ()
    -COMMON SHARED AnimateMenu, MenuTimer, MenuColor
    +Common Shared AnimateMenu, MenuTimer, MenuColor
    -CONST sclr = 11, oclr = 1
    -CONST True = 1, False = 0
    -CONST PI = 3.141593
    +Const sclr = 11, oclr = 1
    +Const True = 1, False = 0
    +Const PI = 3.141593
    -CLS
    -CenterT "Despite the long wait this is not the final version.", 1, 7
    -CenterT "Yes, I know, I've been working on this forever, but I want", 2, 7
    -CenterT "it to be perfect! And by that I mean no bugs and no glitches.", 3, 7
    -CenterT "So by playing this early version you agree that if you find", 5, 7
    -CenterT "anything that seems wrong, or something does not work, that", 6, 7
    -CenterT "you'll let me know! Call me if you know my number or else", 7, 7
    -CenterT "E-Mail Me : " + CHR$(34) + "GRiMofMS@AOL.COM" + CHR$(34), 9, 7
    -CenterT "Trust me, this game is well worth the wait! And the sequel,", 11, 7
    -CenterT "Opps, I shouldn't have said that... But anyways, it's going", 12, 7
    -CenterT "to be much better and if all goes according to plan, the user", 13, 7
    -CenterT "will be able to create their own animation sequences for the", 14, 7
    -CenterT "game! Not to mention everything else I have planned.", 15, 7
    -CenterT "But I bet No one will ever read to this far, so I'm gunna make", 17, 7
    -CenterT "you wait at 10 seconds before this screen will dispear!", 18, 7
    -CenterT "Aren't I a little shit!?!", 20, 7
    -COLOR 31, 7
    -LOCATE 22, 38: PRINT "Wait"
    -t = TIMER
    -Keys$ = ""
    -DO WHILE TIMER - t < 10
    - Key$ = INKEY$
    - IF LEN(Key$) THEN Keys$ = Keys$ + UCASE$(Key$)
    - IF Keys$ = "OK" THEN EXIT DO
    -LOOP
    -COLOR 0, 0
    -CenterT " Ok ", 22, 7
    -WHILE INKEY$ = ""
    -WEND
    +Cls
    +'CenterT "Despite the long wait this is not the final version.", 1, 7
    +'CenterT "Yes, I know, I've been working on this forever, but I want", 2, 7
    +'CenterT "it to be perfect! And by that I mean no bugs and no glitches.", 3, 7
    +'CenterT "So by playing this early version you agree that if you find", 5, 7
    +'CenterT "anything that seems wrong, or something does not work, that", 6, 7
    +'CenterT "you'll let me know! Call me if you know my number or else", 7, 7
    +'CenterT "E-Mail Me : " + Chr$(34) + "GRiMofMS@AOL.COM" + Chr$(34), 9, 7
    +'CenterT "Trust me, this game is well worth the wait! And the sequel,", 11, 7
    +'CenterT "Opps, I shouldn't have said that... But anyways, it's going", 12, 7
    +'CenterT "to be much better and if all goes according to plan, the user", 13, 7
    +'CenterT "will be able to create their own animation sequences for the", 14, 7
    +'CenterT "game! Not to mention everything else I have planned.", 15, 7
    +'CenterT "But I bet No one will ever read to this far, so I'm gunna make", 17, 7
    +'CenterT "you wait at 10 seconds before this screen will dispear!", 18, 7
    +'CenterT "Aren't I a little shit!?!", 20, 7
    +'Color 31, 7
    +'Locate 22, 38: Print "Wait"
    +'t = Timer
    +'Keys$ = ""
    +'Do While Timer - t < 10
    +' Key$ = InKey$
    +' If Len(Key$) Then Keys$ = Keys$ + UCase$(Key$)
    +' If Keys$ = "OK" Then Exit Do
    +'Loop
    +'Color 0, 0
    +'CenterT " Ok ", 22, 7
    +'While InKey$ = ""
    +'Wend
    AnimateMenu = False
    MenuColor = 4
    -TYPE Save
    - new AS INTEGER: snd AS INTEGER: Awake AS INTEGER: happ AS INTEGER: body AS INTEGER
    - hung AS INTEGER: madd AS INTEGER: sikk AS INTEGER: room AS INTEGER: Od AS INTEGER
    - Drunk AS INTEGER: months AS INTEGER: weeks AS INTEGER: days AS INTEGER: autosave AS INTEGER
    - AnimateMenu AS INTEGER
    -END TYPE
    +Type Save
    + new As Integer: snd As Integer: Awake As Integer: happ As Integer: body As Integer
    + hung As Integer: madd As Integer: sikk As Integer: room As Integer: Od As Integer
    + Drunk As Integer: months As Integer: weeks As Integer: days As Integer: autosave As Integer
    + AnimateMenu As Integer
    +End Type
    -DIM SHARED Game AS Save
    -DIM SHARED problem$(6)
    -DIM SHARED oprob(6)
    -DIM SHARED cprob(6)
    -DIM SHARED DebugMenu$(11)
    -DIM SHARED Variable(10)
    +Dim Shared Game As Save
    +Dim Shared problem$(6)
    +Dim Shared oprob(6)
    +Dim Shared cprob(6)
    +Dim Shared DebugMenu$(11)
    +Dim Shared Variable(10)
    -FOR i = 0 TO 6
    - oprob(i) = TIMER
    -NEXT
    +For i = 0 To 6
    + oprob(i) = Timer
    +Next
    -OPEN "GIGAMOLE.DAT" FOR BINARY AS #1
    -GET #1, , Game
    - new = Game.new: snd = Game.snd: Happy = Game.happ: Awake = Game.Awake
    - bo = Game.body: Hungry = Game.hung: Mad = Game.madd: sick = Game.sikk
    - broom = Game.room: Od = Game.Od: Drunk = Game.Drunk: months = Game.months
    - weeks = Game.weeks: days = Game.days: autosave = Game.autosave: AnimateMenu = Game.AnimateMenu
    -CLOSE #1
    +Open "GIGAMOLE.DAT" For Binary As #1
    +Get #1, , Game
    +new = Game.new: snd = Game.snd: Happy = Game.happ: Awake = Game.Awake
    +bo = Game.body: Hungry = Game.hung: Mad = Game.madd: sick = Game.sikk
    +broom = Game.room: Od = Game.Od: Drunk = Game.Drunk: months = Game.months
    +weeks = Game.weeks: days = Game.days: autosave = Game.autosave: AnimateMenu = Game.AnimateMenu
    +Close #1
    -IF new = 0 THEN
    - new = 1: snd = 1: Happy = 90: Awake = 100: bo = 0: Hungry = 10: Mad = 5
    - sick = 0: broom = 0: Od = 0: Drunk = 0: months = 0
    - weeks = 0: days = 0: autosave = 1: AnimateMenu = False
    -END IF
    +If new = 0 Then
    + new = 1: snd = 1: Happy = 90: Awake = 100: bo = 0: Hungry = 10: Mad = 5
    + sick = 0: broom = 0: Od = 0: Drunk = 0: months = 0
    + weeks = 0: days = 0: autosave = 1: AnimateMenu = False
    +End If
    '**************************Start of title screen*****************************
    RestorePalette
    -CLS 0
    -SCREEN 7
    -PALETTE sclr, MenuColor
    +Cls 0
    +Screen 7
    +Palette sclr, MenuColor
    grim
    anti
    -CLS
    +Cls
    '***************************Start of actual game*****************************
    Game:
    -RANDOMIZE TIMER
    -CLS
    +Randomize Timer
    +Cls
    st = 0: ss = 0: sel = 1: eye = 0: Mole = 0: xists = 0: sl = 0: eye = 1
    -ed = TIMER: md = TIMER: dm = TIMER: d = TIMER: problem = 0: cheat$ = ""
    -MenuTimer = TIMER
    +ed = Timer: md = Timer: dm = Timer: d = Timer: problem = 0: cheat$ = ""
    +MenuTimer = Timer
    MoleColor = 6
    -IF autosave = 0 THEN
    - AutoSaveDelay = TIMER
    -END IF
    +If autosave = 0 Then
    + AutoSaveDelay = Timer
    +End If
    Refresh 0, 0, sl
    -DO
    - IF Mad = 100 THEN
    - seizure
    - Dead xists
    - END IF
    - IF Drunk >= 85 THEN
    - heartattack snd!
    - Dead xists
    - END IF
    - IF Od >= 85 THEN
    - OverDose snd!, sl
    - Dead xists
    - END IF
    - IF Happy <= 10 THEN
    - knife
    - Dead xists
    - END IF
    - '*************************Check for Problems*****************************
    - CheckProblems broom, 60, problem, "Bathroom"
    - CheckProblems Ill, 35, problem, "Ill"
    - CheckProblems bo, 55, problem, "Stinks"
    - CheckProblems Mad, 55, problem, "Mad"
    - CheckProblems Hungry, 45, problem, "Hungry"
    - CheckProblems (-1 * Awake), (-1 * 40), problem, "Tired"
    - CheckProblems (-1 * Happy), (-1 * 30), problem, "Sad"
    - IF problem = 0 THEN
    - problem$(0) = "None"
    - END IF
    - '*************************increment variables****************************
    - IncrementVariable ticks, broom, 45, 10, 0
    - IncrementVariable ticks, sick, 45, 5, 1
    - DecrementVariable ticks, Awake, 30, 5, 2
    - IncrementVariable ticks, Hungry, 30, 30, 3
    - DecrementVariable ticks, Mad, 30, 5, 4
    - IncrementVariable ticks, bo, 20, 10, 5
    - SELECT CASE INT(2 * RND(1))
    - CASE 0: DecrementVariable ticks, Happy, 10, 3, 6
    - CASE 1: IncrementVariable ticks, Happy, 10, 3, 6
    - END SELECT
    - IF bo > 90 AND s / 10 = INT(s / 10) THEN
    - Happy = Happy - 1: CheckBounds Happy
    - END IF
    - FOR fp = 0 TO 5
    - cprob(fp) = TIMER
    - NEXT
    - '%%%%%%%%%%%%%%%%%%%%End of Incrementing Variables%%%%%%%%%%%%%%%%%%%%%%%
    - IF AnimateMenu = False AND MenuColor <> 4 THEN
    - PALETTE sclr, 4
    - END IF
    - UpdateMenu
    - IF autosave = 0 AND TIMER - AutoSaveDelay > 60 THEN
    - Save new, snd, Happy, Awake, bo, Hungry, Mad, sick, broom, Od, Drunk, months, weeks, days, autosave, AnimateMenu
    - center "Auto save in progress", 2, 7
    - Slow .5
    - center "", 2, 0
    - AutoSaveDelay = TIMER
    - END IF
    - IF Awake = 0 THEN sl = 1
    - IF sl = 0 AND ss = 0 THEN
    - eclose 0, 0
    - st = TIMER
    - ss = 1
    - END IF
    - IF TIMER - d > 10 THEN
    - ticks = ticks + 1
    - days = days + 1
    - IF days = 7 THEN
    - days = 0
    - weeks = weeks + 1
    - END IF
    - IF weeks = 4 THEN
    - weeks = 0
    - months = months + 1
    - END IF
    - d = TIMER
    - END IF
    - '**************************Manip time and date***************************
    - nosec$ = LEFT$(TIME$, 5)
    - IF VAL(LEFT$(nosec$, 2)) > 12 THEN
    - nosec$ = STR$(VAL((LEFT$(nosec$, 2))) - 12) + RIGHT$(nosec$, 3) + " PM"
    - ELSE
    - nosec$ = nosec$ + " AM"
    - END IF
    - IF VAL(LEFT$(nosec$, 2)) = 0 THEN
    - nosec$ = "12" + RIGHT$(nosec$, LEN(nosec$) - 2)
    - END IF
    - noyear$ = DATE$
    - noyear$ = LEFT$(noyear$, 2) + "/" + LEFT$(RIGHT$(noyear$, 7), 2) + "/"
    - noyear$ = noyear$ + RIGHT$(DATE$, 2)
    - '**************************Visual Problems****************************
    - SELECT CASE Mad
    - CASE IS >= 90: PALETTE 14, 12
    - CASE IS < 90: PALETTE 14, 14
    - END SELECT
    - SELECT CASE snd
    - CASE 0: snd$ = "Off"
    - CASE 1: snd$ = "On "
    - END SELECT
    - SELECT CASE autosave
    - CASE 0: autosave$ = "On "
    - CASE 1: autosave$ = "Off"
    - END SELECT
    - center ": " + snd$ + " Auto-Save: " + autosave$, 19, 3
    - IF months = 12 THEN
    - WIN snd!
    - KillDataFile xists
    - END
    - END IF
    - '*****************************Main Screen*******************************
    - grimstext "giga mole!", 1, 4, 2, 15, 1
    - SELECT CASE sl
    - CASE 0: sl$ = "Sleep"
    - CASE 1: sl$ = "Wake "
    - END SELECT
    - MainMenu sel, sl$
    - '*****************************animate mole*******************************
    - SELECT CASE Mole
    - CASE 1:
    - IF TIMER - dm > 1 THEN
    - CIRCLE (111, 68), 3, 14: CIRCLE (111, 68), 2, MoleColor: PAINT (111, 68), MoleColor, MoleColor
    - Mole = 0: dm = TIMER
    - END IF
    - CASE 0:
    - IF TIMER - dm > 1 THEN
    - CIRCLE (111, 68), 3, MoleColor: Mole = 1: dm = TIMER
    - END IF
    - END SELECT
    - '****************************Eye Animation*******************************
    - SELECT CASE eye
    - CASE 0:
    - IF TIMER - ed > .5 AND sl = 0 THEN
    - eopen 0, 0: eye = 1: ed = TIMER
    - ELSEIF TIMER - ed > .5 AND sl = 1 THEN
    - CALL z1: eye = 1: ed = TIMER: eclose 0, 0
    - END IF
    - CASE 1:
    - IF TIMER - ed > 2 AND sl = 0 THEN
    - eclose 0, 0: eye = 0: ed = TIMER
    - ELSEIF TIMER - ed > .5 AND sl = 1 THEN
    - CALL z2: eye = 0: ed = TIMER: eclose 0, 0
    - END IF
    - END SELECT
    +Do
    + If Mad = 100 Then
    + seizure
    + Dead xists
    + End If
    + If Drunk >= 85 Then
    + heartattack snd!
    + Dead xists
    + End If
    + If Od >= 85 Then
    + OverDose snd!, sl
    + Dead xists
    + End If
    + If Happy <= 10 Then
    + knife
    + Dead xists
    + End If
    + '*************************Check for Problems*****************************
    + CheckProblems broom, 60, problem, "Bathroom"
    + CheckProblems Ill, 35, problem, "Ill"
    + CheckProblems bo, 55, problem, "Stinks"
    + CheckProblems Mad, 55, problem, "Mad"
    + CheckProblems Hungry, 45, problem, "Hungry"
    + CheckProblems (-1 * Awake), (-1 * 40), problem, "Tired"
    + CheckProblems (-1 * Happy), (-1 * 30), problem, "Sad"
    + If problem = 0 Then
    + problem$(0) = "None"
    + End If
    + '*************************increment variables****************************
    + IncrementVariable ticks, broom, 45, 10, 0
    + IncrementVariable ticks, sick, 45, 5, 1
    + DecrementVariable ticks, Awake, 30, 5, 2
    + IncrementVariable ticks, Hungry, 30, 30, 3
    + DecrementVariable ticks, Mad, 30, 5, 4
    + IncrementVariable ticks, bo, 20, 10, 5
    + Select Case Int(2 * Rnd(1))
    + Case 0: DecrementVariable ticks, Happy, 10, 3, 6
    + Case 1: IncrementVariable ticks, Happy, 10, 3, 6
    + End Select
    + If bo > 90 And s / 10 = Int(s / 10) Then
    + Happy = Happy - 1: CheckBounds Happy
    + End If
    + For fp = 0 To 5
    + cprob(fp) = Timer
    + Next
    + '%%%%%%%%%%%%%%%%%%%%End of Incrementing Variables%%%%%%%%%%%%%%%%%%%%%%%
    + If AnimateMenu = False And MenuColor <> 4 Then
    + Palette sclr, 4
    + End If
    + UpdateMenu
    + If autosave = 0 And Timer - AutoSaveDelay > 60 Then
    + Save new, snd, Happy, Awake, bo, Hungry, Mad, sick, broom, Od, Drunk, months, weeks, days, autosave, AnimateMenu
    + center "Auto save in progress", 2, 7
    + Slow .5
    + center "", 2, 0
    + AutoSaveDelay = Timer
    + End If
    + If Awake = 0 Then sl = 1
    + If sl = 0 And ss = 0 Then
    + eclose 0, 0
    + st = Timer
    + ss = 1
    + End If
    + If Timer - d > 10 Then
    + ticks = ticks + 1
    + days = days + 1
    + If days = 7 Then
    + days = 0
    + weeks = weeks + 1
    + End If
    + If weeks = 4 Then
    + weeks = 0
    + months = months + 1
    + End If
    + d = Timer
    + End If
    + '**************************Manip time and date***************************
    + nosec$ = Left$(Time$, 5)
    + If Val(Left$(nosec$, 2)) > 12 Then
    + nosec$ = Str$(Val((Left$(nosec$, 2))) - 12) + Right$(nosec$, 3) + " PM"
    + Else
    + nosec$ = nosec$ + " AM"
    + End If
    + If Val(Left$(nosec$, 2)) = 0 Then
    + nosec$ = "12" + Right$(nosec$, Len(nosec$) - 2)
    + End If
    + noyear$ = Date$
    + noyear$ = Left$(noyear$, 2) + "/" + Left$(Right$(noyear$, 7), 2) + "/"
    + noyear$ = noyear$ + Right$(Date$, 2)
    + '**************************Visual Problems****************************
    + Select Case Mad
    + Case Is >= 90: Palette 14, 12
    + Case Is < 90: Palette 14, 14
    + End Select
    + Select Case snd
    + Case 0: snd$ = "Off"
    + Case 1: snd$ = "On "
    + End Select
    + Select Case autosave
    + Case 0: autosave$ = "On "
    + Case 1: autosave$ = "Off"
    + End Select
    + center ": " + snd$ + " Auto-Save: " + autosave$, 19, 3
    + If months = 12 Then
    + WIN snd!
    + KillDataFile xists
    + End
    + End If
    + '*****************************Main Screen*******************************
    + grimstext "giga mole!", 1, 4, 2, 15, 1
    + Select Case sl
    + Case 0: sl$ = "Sleep"
    + Case 1: sl$ = "Wake "
    + End Select
    + MainMenu sel, sl$
    + '*****************************animate mole*******************************
    + Select Case Mole
    + Case 1:
    + If Timer - dm > 1 Then
    + Circle (111, 68), 3, 14: Circle (111, 68), 2, MoleColor: Paint (111, 68), MoleColor, MoleColor
    + Mole = 0: dm = Timer
    + End If
    + Case 0:
    + If Timer - dm > 1 Then
    + Circle (111, 68), 3, MoleColor: Mole = 1: dm = Timer
    + End If
    + End Select
    + '****************************Eye Animation*******************************
    + Select Case eye
    + Case 0:
    + If Timer - ed > .5 And sl = 0 Then
    + eopen 0, 0: eye = 1: ed = Timer
    + ElseIf Timer - ed > .5 And sl = 1 Then
    + Call z1: eye = 1: ed = Timer: eclose 0, 0
    + End If
    + Case 1:
    + If Timer - ed > 2 And sl = 0 Then
    + eclose 0, 0: eye = 0: ed = Timer
    + ElseIf Timer - ed > .5 And sl = 1 Then
    + Call z2: eye = 0: ed = Timer: eclose 0, 0
    + End If
    + End Select
    - Key$ = INKEY$
    - SELECT CASE Key$
    - CASE CHR$(0) + "D"
    - IF sel = 7 THEN debug Happy, Awake, bo, Hungry, Mad, Ill, broom, Od, Drunk
    - CASE CHR$(0) + ";" 'F1
    - help
    - Refresh 0, 0, sl
    - CASE CHR$(0) + "<" 'F2
    - SELECT CASE snd
    - CASE 0: snd = 1: SOUND 200, .5
    - CASE 1: snd = 0
    - END SELECT
    - CASE CHR$(0) + "=" 'F3
    - center "Saving game...", 2, 7
    - Save new, snd, Happy, Awake, bo, Hungry, Mad, sick, broom, Od, Drunk, months, weeks, days, autosave, AnimateMenu
    - center "", 2, 0
    - CASE CHR$(0) + ">" 'F4
    - SELECT CASE autosave
    - CASE 0: autosave = 1
    - CASE 1: autosave = 0: AutoSaveDelay = TIMER
    - END SELECT
    - CASE CHR$(0) + "?"'F5
    - IF AnimateMenu = True THEN
    - AnimateMenu = False
    - ELSEIF AnimateMenu = False THEN
    - AnimateMenu = True
    - END IF
    - CASE CHR$(0) + "K":
    - SELECT CASE sel
    - CASE 1, 4, 7: sel = sel + 2
    - CASE ELSE: sel = sel - 1
    - END SELECT
    - CASE CHR$(0) + "M":
    - SELECT CASE sel
    - CASE 3, 6, 9: sel = sel - 2
    - CASE ELSE: sel = sel + 1
    - END SELECT
    - CASE CHR$(0) + "P":
    - SELECT CASE sel
    - CASE 7, 8, 9: sel = sel - 6
    - CASE ELSE: sel = sel + 3
    - END SELECT
    - CASE CHR$(0) + "H":
    - SELECT CASE sel
    - CASE 1, 2, 3: sel = sel + 6
    - CASE ELSE: sel = sel - 3
    - END SELECT
    - CASE CHR$(13), CHR$(32):
    - IF sel = 1 THEN
    - IF sl = 0 THEN
    - juggle sl
    - eopen 0, 0
    - Happy = Happy + 25: CheckBounds Happy
    - Mad = Mad - 10: CheckBounds Mad
    - Awake = Awake + 5: CheckBounds Awake
    - END IF
    - END IF
    - IF sel = 2 THEN
    - IF Hungry > 20 AND sl = 0 THEN
    - McMole snd!
    - Refresh 0, 0, sl
    - Hungry = Hungry - 30: CheckBounds Hungry
    - ELSEIF Hungry <= 20 THEN
    - LOCATE 2, 14: PRINT "I'm not hungry"
    - Speak 2, .5
    - Slow 1
    - LOCATE 2, 14: PRINT " "
    - END IF
    - END IF
    - IF sel = 3 THEN
    - IF sl = 0 THEN
    - sl = 1
    - eclose 0, 0
    - ELSEIF sl = 1 THEN
    - sl = 0
    - Awake = Awake + INT(TIMER - ss)
    - CheckBounds Awake
    - eopen 0, 0
    - END IF
    - END IF
    - IF sel = 4 THEN
    - IF sl = 0 THEN
    - IF broom < 60 THEN
    - LOCATE 2, 11: PRINT "I don't have to go"
    - Slow 1
    - LOCATE 2, 11: PRINT " "
    - ELSEIF broom >= 60 THEN
    - broom = broom - 25
    - bathroom snd!
    - Face 0, 0
    - END IF
    - END IF
    - END IF
    - IF sel = 5 THEN
    - IF bo >= 50 AND sl = 0 THEN
    - shower
    - bo = bo - 50
    - IF bo < 0 THEN bo = 0
    - Face 0, 0
    - center "All clean!", 2, 3
    - Slow 1
    - center "", 2, 0
    - ELSEIF bo < 50 AND sl = 0 THEN
    - eopen 0, 0
    - LOCATE 2, 9: PRINT "I don't want to shower"
    - Speak 3, .25
    - Slow 1
    - LOCATE 2, 9: PRINT " "
    - END IF
    - END IF
    - IF sel = 6 THEN
    - IF sl = 0 THEN
    - IF Ill > 35 THEN
    - doctor snd!
    - Face 0, 0
    - Ill = Ill - 50
    - CheckBounds Ill
    - ELSEIF Ill <= 35 THEN
    - LOCATE 2, 4: PRINT "I don't want to go to the doctor"
    + Key$ = InKey$
    + Select Case Key$
    + Case Chr$(0) + "D"
    + If sel = 7 Then debug Happy, Awake, bo, Hungry, Mad, Ill, broom, Od, Drunk
    + Case Chr$(0) + ";" 'F1
    + help
    + Refresh 0, 0, sl
    + Case Chr$(0) + "<" 'F2
    + Select Case snd
    + Case 0: snd = 1: Sound 200, .5
    + Case 1: snd = 0
    + End Select
    + Case Chr$(0) + "=" 'F3
    + center "Saving game...", 2, 7
    + Save new, snd, Happy, Awake, bo, Hungry, Mad, sick, broom, Od, Drunk, months, weeks, days, autosave, AnimateMenu
    + center "", 2, 0
    + Case Chr$(0) + ">" 'F4
    + Select Case autosave
    + Case 0: autosave = 1
    + Case 1: autosave = 0: AutoSaveDelay = Timer
    + End Select
    + Case Chr$(0) + "?" 'F5
    + If AnimateMenu = True Then
    + AnimateMenu = False
    + ElseIf AnimateMenu = False Then
    + AnimateMenu = True
    + End If
    + Case Chr$(0) + "K":
    + Select Case sel
    + Case 1, 4, 7: sel = sel + 2
    + Case Else: sel = sel - 1
    + End Select
    + Case Chr$(0) + "M":
    + Select Case sel
    + Case 3, 6, 9: sel = sel - 2
    + Case Else: sel = sel + 1
    + End Select
    + Case Chr$(0) + "P":
    + Select Case sel
    + Case 7, 8, 9: sel = sel - 6
    + Case Else: sel = sel + 3
    + End Select
    + Case Chr$(0) + "H":
    + Select Case sel
    + Case 1, 2, 3: sel = sel + 6
    + Case Else: sel = sel - 3
    + End Select
    + Case Chr$(13), Chr$(32):
    + If sel = 1 Then
    + If sl = 0 Then
    + juggle sl
    + eopen 0, 0
    + Happy = Happy + 25: CheckBounds Happy
    + Mad = Mad - 10: CheckBounds Mad
    + Awake = Awake + 5: CheckBounds Awake
    + End If
    + End If
    + If sel = 2 Then
    + If Hungry > 20 And sl = 0 Then
    + McMole snd!
    + Refresh 0, 0, sl
    + Hungry = Hungry - 30: CheckBounds Hungry
    + ElseIf Hungry <= 20 Then
    + Locate 2, 14: Print "I'm not hungry"
    + Speak 2, .5
    + Slow 1
    + Locate 2, 14: Print " "
    + End If
    + End If
    + If sel = 3 Then
    + If sl = 0 Then
    + sl = 1
    + eclose 0, 0
    + ElseIf sl = 1 Then
    + sl = 0
    + Awake = Awake + Int(Timer - ss)
    + CheckBounds Awake
    + eopen 0, 0
    + End If
    + End If
    + If sel = 4 Then
    + If sl = 0 Then
    + If broom < 60 Then
    + Locate 2, 11: Print "I don't have to go"
    + Slow 1
    + Locate 2, 11: Print " "
    + ElseIf broom >= 60 Then
    + broom = broom - 25
    + bathroom snd!
    + Face 0, 0
    + End If
    + End If
    + End If
    + If sel = 5 Then
    + If bo >= 50 And sl = 0 Then
    + shower
    + bo = bo - 50
    + If bo < 0 Then bo = 0
    + Face 0, 0
    + center "All clean!", 2, 3
    + Slow 1
    + center "", 2, 0
    + ElseIf bo < 50 And sl = 0 Then
    + eopen 0, 0
    + Locate 2, 9: Print "I don't want to shower"
    + Speak 3, .25
    + Slow 1
    + Locate 2, 9: Print " "
    + End If
    + End If
    + If sel = 6 Then
    + If sl = 0 Then
    + If Ill > 35 Then
    + doctor snd!
    + Face 0, 0
    + Ill = Ill - 50
    + CheckBounds Ill
    + ElseIf Ill <= 35 Then
    + Locate 2, 4: Print "I don't want to go to the doctor"
    + Speak 3, .25
    + Locate 2, 4: Print " "
    + End If
    + End If
    + End If
    + If sel = 7 Then
    + Cls 0
    + Color 7
    + Locate 25, 14: Print "Press [ESC] to continue..."
    + grimstext "Giga mole status", 1, 4, 2, 12, 1
    + Color 1
    + Locate 3, 14: Print "Age: "
    + Color 4
    + Select Case months
    + Case 1: months$ = "month"
    + Case Else: months$ = "months"
    + End Select
    + Locate 4, 15: Print months; months$
    + Select Case weeks
    + Case 1: weeks$ = "week"
    + Case Else: weeks$ = "weeks"
    + End Select
    + Locate 5, 15: Print weeks; weeks$
    + Select Case days
    + Case 1: days$ = "day"
    + Case Else: days$ = "days"
    + End Select
    + Locate 6, 15: Print days; days$
    + Color 1
    + Locate 8, 14: Print "Current Problems:"
    + Color 4
    + For p = 0 To problem
    + Locate p + 9, 15: Print problem$(p)
    + Next
    + statsdelay = Timer: sttsdly = 0
    + Do While InKey$ <> Chr$(27)
    + Select Case sttsdly
    + Case 0:
    + If Timer - statsdelay > 1 Then
    + grimstext "Giga mole status", 4, 2, 1, 12, 1
    + statsdelay = Timer: sttsdly = 1
    + End If
    + Case 1:
    + If Timer - statsdelay > 1 Then
    + grimstext "Giga mole status", 2, 1, 4, 12, 1
    + statsdelay = Timer: sttsdly = 2
    + End If
    + Case 2:
    + If Timer - statsdelay > 1 Then
    + grimstext "Giga mole status", 1, 4, 2, 12, 1
    + statsdelay = Timer: sttsdly = 0
    + End If
    + End Select
    + Loop
    + Cls 0
    + Refresh 0, 0, sl
    + End If
    + If sel = 8 Then
    + help
    + Refresh 0, 0, sl
    + End If
    + If sel = 9 Then
    + eopen 0, 0
    + Select Case SaveClose
    + Case 0:
    + center "", 2, 0
    + grimstext "Goodbye!", 1, 4, 2, 16, 2
    + Cls 0: RestorePalette
    + End
    + Case 1:
    + center "", 2, 0
    + Save new, snd, Happy, Awake, bo, Hungry, Mad, sick, broom, Od, Drunk, months, weeks, days, autosave, AnimateMenu
    + grimstext "Goodbye!", 1, 4, 2, 16, 2
    + Cls 0: RestorePalette
    + End
    + Case -1:
    + center "", 2, 0
    + End Select
    + End If
    + Case "!" TO "~":
    + cheat$ = cheat$ + UCase$(Key$)
    + End Select
    + If Right$(cheat$, 4) = "WEED" Then
    + weed snd!
    + Cls
    + Paint (1, 1), 2, 2
    + Face 0, 0
    + Od = Od + 10: CheckBounds Od
    + Happy = Happy + 50: CheckBounds Happy
    + Hungry = Hungry + 25: CheckBounds Hungry
    + cheat$ = ""
    + End If
    + If Right$(cheat$, 4) = "BEER" Then
    + beer snd!
    + Drunk = Drunk + 15: CheckBounds Drunk
    + Face 0, 0
    + cheat$ = ""
    + End If
    + If Right$(cheat$, 7) = "REFRESH" Then
    + Cls 0
    + Refresh 0, 0, sl
    + cheat$ = ""
    + End If
    + If Right$(cheat$, 4) = "TIME" Then
    + center "It is" + nosec$, 2, 3
    + Speak 2, .5
    + Slow .25
    + center "", 2, 0
    + cheat$ = ""
    + End If
    + If Right$(cheat$, 4) = "DATE" Then
    + center "It is " + noyear$, 2, 3
    + Speak 2, .5
    + Slow .25
    + center "", 2, 0
    + cheat$ = ""
    + End If
    + If Right$(cheat$, 3) = "VER" Or Right$(cheat$, 7) = "VERSION" Then
    + center "Your playing ver 0.9B", 2, 11
    + Speak 2, .5
    + Slow .25
    + center "", 2, 0
    + cheat$ = ""
    + End If
    + If Right$(cheat$, 6) = "PUNISH" Then
    + If sl = 0 Then
    + pun snd
    + Refresh 0, 0, sl
    + Mad = Mad + 25: CheckBounds Mad
    + Happy = Happy - 10: CheckBounds Happy
    + center "Why did you hit me?!?", 2, 3
    Speak 3, .25
    - LOCATE 2, 4: PRINT " "
    - END IF
    - END IF
    - END IF
    - IF sel = 7 THEN
    - CLS 0
    - COLOR 7
    - LOCATE 25, 14: PRINT "Press [ESC] to continue..."
    - grimstext "Giga mole status", 1, 4, 2, 12, 1
    - COLOR 1
    - LOCATE 3, 14: PRINT "Age: "
    - COLOR 4
    - SELECT CASE months
    - CASE 1: months$ = "month"
    - CASE ELSE: months$ = "months"
    - END SELECT
    - LOCATE 4, 15: PRINT months; months$
    - SELECT CASE weeks
    - CASE 1: weeks$ = "week"
    - CASE ELSE: weeks$ = "weeks"
    - END SELECT
    - LOCATE 5, 15: PRINT weeks; weeks$
    - SELECT CASE days
    - CASE 1: days$ = "day"
    - CASE ELSE: days$ = "days"
    - END SELECT
    - LOCATE 6, 15: PRINT days; days$
    - COLOR 1
    - LOCATE 8, 14: PRINT "Current Problems:"
    - COLOR 4
    - FOR p = 0 TO problem
    - LOCATE p + 9, 15: PRINT problem$(p)
    - NEXT
    - statsdelay = TIMER: sttsdly = 0
    - DO WHILE INKEY$ <> CHR$(27)
    - SELECT CASE sttsdly
    - CASE 0:
    - IF TIMER - statsdelay > 1 THEN
    - grimstext "Giga mole status", 4, 2, 1, 12, 1
    - statsdelay = TIMER: sttsdly = 1
    - END IF
    - CASE 1:
    - IF TIMER - statsdelay > 1 THEN
    - grimstext "Giga mole status", 2, 1, 4, 12, 1
    - statsdelay = TIMER: sttsdly = 2
    - END IF
    - CASE 2:
    - IF TIMER - statsdelay > 1 THEN
    - grimstext "Giga mole status", 1, 4, 2, 12, 1
    - statsdelay = TIMER: sttsdly = 0
    - END IF
    - END SELECT
    - LOOP
    - CLS 0
    - Refresh 0, 0, sl
    - END IF
    - IF sel = 8 THEN
    - help
    - Refresh 0, 0, sl
    - END IF
    - IF sel = 9 THEN
    - eopen 0, 0
    - SELECT CASE SaveClose
    - CASE 0:
    center "", 2, 0
    - grimstext "Goodbye!", 1, 4, 2, 16, 2
    - CLS 0: RestorePalette
    - END
    - CASE 1:
    - center "", 2, 0
    - Save new, snd, Happy, Awake, bo, Hungry, Mad, sick, broom, Od, Drunk, months, weeks, days, autosave, AnimateMenu
    - grimstext "Goodbye!", 1, 4, 2, 16, 2
    - CLS 0: RestorePalette
    - END
    - CASE -1:
    - center "", 2, 0
    - END SELECT
    - END IF
    - CASE "!" TO "~":
    - cheat$ = cheat$ + UCASE$(Key$)
    - END SELECT
    - IF RIGHT$(cheat$, 4) = "WEED" THEN
    - weed snd!
    - CLS
    - PAINT (1, 1), 2, 2
    - Face 0, 0
    - Od = Od + 10: CheckBounds Od
    - Happy = Happy + 50: CheckBounds Happy
    - Hungry = Hungry + 25: CheckBounds Hungry
    - cheat$ = ""
    - END IF
    - IF RIGHT$(cheat$, 4) = "BEER" THEN
    - beer snd!
    - Drunk = Drunk + 15: CheckBounds Drunk
    - Face 0, 0
    - cheat$ = ""
    - END IF
    - IF RIGHT$(cheat$, 7) = "REFRESH" THEN
    - CLS 0
    - Refresh 0, 0, sl
    - cheat$ = ""
    - END IF
    - IF RIGHT$(cheat$, 4) = "TIME" THEN
    - center "It is" + nosec$, 2, 3
    - Speak 2, .5
    - Slow .25
    - center "", 2, 0
    - cheat$ = ""
    - END IF
    - IF RIGHT$(cheat$, 4) = "DATE" THEN
    - center "It is " + noyear$, 2, 3
    - Speak 2, .5
    - Slow .25
    - center "", 2, 0
    - cheat$ = ""
    - END IF
    - IF RIGHT$(cheat$, 3) = "VER" OR RIGHT$(cheat$, 7) = "VERSION" THEN
    - center "Your playing ver 0.9B", 2, 11
    - Speak 2, .5
    - Slow .25
    - center "", 2, 0
    - cheat$ = ""
    - END IF
    - IF RIGHT$(cheat$, 6) = "PUNISH" THEN
    - IF sl = 0 THEN
    - pun snd
    - Refresh 0, 0, sl
    - Mad = Mad + 25: CheckBounds Mad
    - Happy = Happy - 10: CheckBounds Happy
    - center "Why did you hit me?!?", 2, 3
    - Speak 3, .25
    - center "", 2, 0
    - cheat$ = ""
    - END IF
    - END IF
    -LOOP
    + cheat$ = ""
    + End If
    + End If
    +Loop
    '********************************Music Subs**********************************
    inagoddadavida:
    -IF snd = 1 THEN PLAY "mbt60o2d8d8f16e16o1c16o2d8o3msa8g#8g8mno2f16"
    -RETURN
    +If snd = 1 Then Play "mbt60o2d8d8f16e16o1c16o2d8o3msa8g#8g8mno2f16"
    +Return
    creditsmusic:
    -IF snd = 1 THEN PLAY "mb t80 l8 o4 bdc o5 gad o4 ebg o3 acb"
    -RETURN
    +If snd = 1 Then Play "mb t80 l8 o4 bdc o5 gad o4 ebg o3 acb"
    +Return
    '********************************Menu Data***********************************
    menus:
    -DATA 20,8,Play,20,18,Feed,20,28,
    -DATA 21,8,Bathroom,21,18,Shower,21,28,Doctor
    -DATA 22,8,Stats,22,18,Help,22,28,Exit
    +Data 20,8,Play,20,18,Feed,20,28,
    +Data 21,8,Bathroom,21,18,Shower,21,28,Doctor
    +Data 22,8,Stats,22,18,Help,22,28,Exit
    DebugMenuCommands:
    -DATA Happiness,Awake,Body Odor,Hungry,Mad,Ill,Bathroom,Overdose,Drunk
    -DATA Exit
    +Data Happiness,Awake,Body Odor,Hungry,Mad,Ill,Bathroom,Overdose,Drunk
    +Data Exit
    -SUB anti
    - DIM RemoveY(66)
    - FOR i = 1 TO 66
    - RemoveY(i) = i
    - NEXT
    - FOR t = 0 TO INT(10 * RND(1)) + 1
    - FOR i = 1 TO 66
    - switch = INT(66 * RND(1)) + 1
    - temp = RemoveY(i)
    - RemoveY(i) = RemoveY(switch)
    - RemoveY(switch) = temp
    - NEXT
    - NEXT
    - CLS 0
    - COLOR 7: center "ANDERS", 13, 15
    - COLOR 15: center "Anti Anders Inc.", 19, 15
    - CIRCLE (160, 100), 30, 4: CIRCLE (160, 100), 38, 4: PAINT (125, 100), 4, 4
    - LINE (180, 80)-(130, 118), 4: LINE (190, 82)-(140, 120), 4: PAINT (160, 100), 4, 4
    - Slow 2
    - i = 1
    - WHILE i < 67
    - LINE (122, RemoveY(i) + 67)-(198, RemoveY(i) + 67), 0
    - RemoveY(i) = 0
    - SOUND INT(200 * RND(1)) + 40 + RemoveY(i), .5
    - IF INKEY$ <> INKEY$ THEN EXIT SUB
    - i = i + 1
    - WEND
    - Slow .1
    -END SUB
    +Sub anti
    + Dim RemoveY(66)
    + For i = 1 To 66
    + RemoveY(i) = i
    + Next
    + For t = 0 To Int(10 * Rnd(1)) + 1
    + For i = 1 To 66
    + switch = Int(66 * Rnd(1)) + 1
    + temp = RemoveY(i)
    + RemoveY(i) = RemoveY(switch)
    + RemoveY(switch) = temp
    + Next
    + Next
    + Cls 0
    + Color 7: center "ANDERS", 13, 15
    + Color 15: center "Anti Anders Inc.", 19, 15
    + Circle (160, 100), 30, 4: Circle (160, 100), 38, 4: Paint (125, 100), 4, 4
    + Line (180, 80)-(130, 118), 4: Line (190, 82)-(140, 120), 4: Paint (160, 100), 4, 4
    + Slow 2
    + i = 1
    + While i < 67
    + Line (122, RemoveY(i) + 67)-(198, RemoveY(i) + 67), 0
    + RemoveY(i) = 0
    + Sound Int(200 * Rnd(1)) + 40 + RemoveY(i), .5
    + If InKey$ <> InKey$ Then Exit Sub
    + i = i + 1
    + Wend
    + Slow .1
    +End Sub
    -SUB bathroom (snd)
    - FOR i = 0 TO 15
    - CIRCLE (100, 60 + i), 50 - i, 7, , , 1 / 8
    - NEXT
    - LINE (60, 15)-(140, 60), 7, BF
    - CIRCLE (100, 60), 50, 8, , , 1 / 8
    - PAINT (100, 60), 7, 8
    - CIRCLE (100, 60), 30, 8, , , 1 / 12
    - PAINT (100, 60), 0, 8
    - LINE (69, 75)-(131, 110), 7, B
    - PAINT (100, 80), 7, 7
    - CIRCLE (100, 75), 36, 8, 180 * (3.14 / 180), , 1 / 8
    - CIRCLE (75, 21), 4, 8
    - PAINT (75, 21), 8, 8
    - LINE (77, 18)-(62, 20), 8, BF
    - CIRCLE (62, 25), 15, 8, 10 * (3.14 / 180), 90 * (3.14 / 180), 1 / 4
    - LINE (69, 21)-(70, 21), 8
    - FOR ha = 0 TO 2
    - Slow 1
    - IF snd = 1 THEN SOUND 40, 5 * ((ha + 1) / 2)
    - NEXT
    - LINE (50, 10)-(150, 110), 2, BF
    -END SUB
    +Sub bathroom (snd)
    + For i = 0 To 15
    + Circle (100, 60 + i), 50 - i, 7, , , 1 / 8
    + Next
    + Line (60, 15)-(140, 60), 7, BF
    + Circle (100, 60), 50, 8, , , 1 / 8
    + Paint (100, 60), 7, 8
    + Circle (100, 60), 30, 8, , , 1 / 12
    + Paint (100, 60), 0, 8
    + Line (69, 75)-(131, 110), 7, B
    + Paint (100, 80), 7, 7
    + Circle (100, 75), 36, 8, 180 * (3.14 / 180), , 1 / 8
    + Circle (75, 21), 4, 8
    + Paint (75, 21), 8, 8
    + Line (77, 18)-(62, 20), 8, BF
    + Circle (62, 25), 15, 8, 10 * (3.14 / 180), 90 * (3.14 / 180), 1 / 4
    + Line (69, 21)-(70, 21), 8
    + For ha = 0 To 2
    + Slow 1
    + If snd = 1 Then Sound 40, 5 * ((ha + 1) / 2)
    + Next
    + Line (50, 10)-(150, 110), 2, BF
    +End Sub
    -SUB beer (snd)
    - LINE (65, 30)-(135, 110), 2, BF
    - FOR B = 49 TO 71
    - CIRCLE (100, B), 12, 8, , , 1 / 4
    - NEXT
    - FOR B = 50 TO 70
    - CIRCLE (100, B), 10, 7, , , 1 / 4
    - NEXT
    - FOR B = 49 TO 50
    - CIRCLE (100, B), 12, 8, , , 1 / 4
    - NEXT
    - CIRCLE (112, 62), 4, 8, 270 * (3.14 / 180), 90 * (3.14 / 180)
    - CIRCLE (112, 62), 5, 8, 270 * (3.14 / 180), 90 * (3.14 / 180)
    - CIRCLE (112, 62), 10, 8, 270 * (3.14 / 180), 90 * (3.14 / 180)
    - CIRCLE (112, 62), 11, 8, 270 * (3.14 / 180), 90 * (3.14 / 180)
    - PAINT (120, 62), 7, 8
    - PAINT (100, 50), 7, 8
    - PAINT (100, 60), 6, 8
    - LINE (90, 55)-(110, 55), 8
    - PAINT (90, 53), 7, 8
    - FOR y = 55 TO 70
    - FOR x = 90 TO 110
    - PSET (x, y), 7
    - NEXT
    - IF snd = 1 THEN SOUND 100, .5
    - Slow .5
    - NEXT
    -END SUB
    +Sub beer (snd)
    + Line (65, 30)-(135, 110), 2, BF
    + For B = 49 To 71
    + Circle (100, B), 12, 8, , , 1 / 4
    + Next
    + For B = 50 To 70
    + Circle (100, B), 10, 7, , , 1 / 4
    + Next
    + For B = 49 To 50
    + Circle (100, B), 12, 8, , , 1 / 4
    + Next
    + Circle (112, 62), 4, 8, 270 * (3.14 / 180), 90 * (3.14 / 180)
    + Circle (112, 62), 5, 8, 270 * (3.14 / 180), 90 * (3.14 / 180)
    + Circle (112, 62), 10, 8, 270 * (3.14 / 180), 90 * (3.14 / 180)
    + Circle (112, 62), 11, 8, 270 * (3.14 / 180), 90 * (3.14 / 180)
    + Paint (120, 62), 7, 8
    + Paint (100, 50), 7, 8
    + Paint (100, 60), 6, 8
    + Line (90, 55)-(110, 55), 8
    + Paint (90, 53), 7, 8
    + For y = 55 To 70
    + For x = 90 To 110
    + PSet (x, y), 7
    + Next
    + If snd = 1 Then Sound 100, .5
    + Slow .5
    + Next
    +End Sub
    -SUB center (line$, y, clr)
    - IF clr = 0 THEN
    - LOCATE y, 1: PRINT " "
    - END IF
    - COLOR clr
    - LOCATE y, (21 - INT(LEN(line$) / 2)): PRINT line$
    -END SUB
    +Sub center (line$, y, clr)
    + If clr = 0 Then
    + Locate y, 1: Print " "
    + End If
    + Color clr
    + Locate y, (21 - Int(Len(line$) / 2)): Print line$
    +End Sub
    -SUB CenterT (Text$, y!, clr!)
    - IF clr = 0 THEN
    - LOCATE y, 1: PRINT " "
    - END IF
    - x = 40 - INT(LEN(Text$) / 2)
    - COLOR clr
    - LOCATE y, x: PRINT Text$
    -END SUB
    +Sub CenterT (Text$, y!, clr!)
    + If clr = 0 Then
    + Locate y, 1: Print " "
    + End If
    + x = 40 - Int(Len(Text$) / 2)
    + Color clr
    + Locate y, x: Print Text$
    +End Sub
    -SUB CheckBounds (Variable)
    - IF Variable > 100 THEN Variable = 100
    - IF Variable < 0 THEN Variable = 0
    -END SUB
    +Sub CheckBounds (Variable)
    + If Variable > 100 Then Variable = 100
    + If Variable < 0 Then Variable = 0
    +End Sub
    -SUB CheckProblems (Variable, value, problem, probstr$)
    - IF Variable >= value THEN
    - q = 0
    - DO
    - IF problem$(q) = probstr$ THEN
    - EXIT DO
    - ELSEIF q = problem THEN
    - IF problem$(q) = "None" THEN
    - problem$(q) = ""
    - END IF
    - problem = problem + 1
    - problem$(q) = probstr$
    - EXIT DO
    - END IF
    - q = q + 1
    - IF q = 7 THEN EXIT DO
    - LOOP
    - ELSEIF Variable < value THEN
    - q = 0
    - DO
    - IF problem$(q) = probstr$ THEN
    - FOR L = q TO problem
    - problem$(L) = problem$(L + 1)
    - NEXT
    - problem = problem - 1
    - EXIT DO
    - END IF
    - IF q = problem THEN EXIT DO
    - q = q + 1
    - IF q = 7 THEN EXIT DO
    - LOOP
    - END IF
    -END SUB
    +Sub CheckProblems (Variable, value, problem, probstr$)
    + If Variable >= value Then
    + q = 0
    + Do
    + If problem$(q) = probstr$ Then
    + Exit Do
    + ElseIf q = problem Then
    + If problem$(q) = "None" Then
    + problem$(q) = ""
    + End If
    + problem = problem + 1
    + problem$(q) = probstr$
    + Exit Do
    + End If
    + q = q + 1
    + If q = 7 Then Exit Do
    + Loop
    + ElseIf Variable < value Then
    + q = 0
    + Do
    + If problem$(q) = probstr$ Then
    + For L = q To problem
    + problem$(L) = problem$(L + 1)
    + Next
    + problem = problem - 1
    + Exit Do
    + End If
    + If q = problem Then Exit Do
    + q = q + 1
    + If q = 7 Then Exit Do
    + Loop
    + End If
    +End Sub
    -SUB cmouth
    - CIRCLE (100, 75), 10, 4, , , 1 / 4
    - PAINT (100, 75), 12, 4
    - LINE (90, 75)-(110, 75), 4
    -END SUB
    +Sub cmouth
    + Circle (100, 75), 10, 4, , , 1 / 4
    + Paint (100, 75), 12, 4
    + Line (90, 75)-(110, 75), 4
    +End Sub
    -SUB Dead (xists)
    - IF xists = 0 THEN
    - KILL "GiGaMole.dat"
    - END IF
    - Slow 2
    - END
    -END SUB
    +Sub Dead (xists)
    + If xists = 0 Then
    + Kill "GiGaMole.dat"
    + End If
    + Slow 2
    + End
    +End Sub
    -SUB debug (Happy, Awake, bo, Hungry, Mad, Ill, broom, Od, Drunk)
    - RESTORE DebugMenuCommands
    - FOR i = 1 TO 10
    - READ DebugMenu$(i)
    - NEXT
    - CLS 0
    - dbug = 1
    - Variable(1) = Happy: Variable(2) = Awake: Variable(3) = bo
    - Variable(4) = Hungry: Variable(5) = Mad: Variable(6) = Ill
    - Variable(7) = broom: Variable(8) = Od: Variable(9) = Drunk
    - DO
    - FOR i = 1 TO 10
    - IF dbug = i THEN COLOR 4 ELSE COLOR 1
    - IF i < 10 THEN
    - LOCATE i, 1: PRINT DebugMenu$(i)
    - LOCATE i, 10: PRINT RTRIM$(STR$(Variable(i))); "% "
    - ELSEIF i = 10 THEN
    - LOCATE i + 1, 1: PRINT DebugMenu$(i)
    - END IF
    - NEXT
    - SELECT CASE INKEY$
    - CASE CHR$(0) + "Q"
    - IF dbug < 10 THEN
    - Variable(dbug) = Variable(dbug) - 10
    - IF Variable(dbug) < 0 THEN Variable(dbug) = 100
    - END IF
    - CASE CHR$(0) + "I"
    - IF dbug < 10 THEN
    - Variable(dbug) = Variable(dbug) + 10
    - IF Variable(dbug) > 100 THEN Variable(dbug) = 0
    - END IF
    - CASE CHR$(0) + "K"
    - IF dbug < 10 THEN
    - Variable(dbug) = Variable(dbug) - 1
    - IF Variable(dbug) < 0 THEN Variable(dbug) = 100
    - ELSEIF dbug = 10 THEN
    - EXIT DO
    - END IF
    - CASE CHR$(0) + "M", CHR$(13), CHR$(32)
    - IF dbug < 10 THEN
    - Variable(dbug) = Variable(dbug) + 1
    - IF Variable(dbug) > 100 THEN Variable(dbug) = 0
    - ELSEIF dbug = 10 THEN
    - EXIT DO
    - END IF
    - CASE CHR$(0) + "P"
    - dbug = dbug + 1
    - IF dbug = 11 THEN dbug = 1
    - CASE CHR$(0) + "H"
    - dbug = dbug - 1
    - IF dbug = 0 THEN dbug = 10
    - END SELECT
    - LOOP
    - CLS 0
    - cheat$ = ""
    - Refresh 0, 0, sl
    - Happy = Variable(1): Awake = Variable(2): bo = Variable(3)
    - Hungry = Variable(4): Mad = Variable(5): Ill = Variable(6)
    - broom = Variable(7): Od = Variable(8): Drunk = Variable(9)
    -END SUB
    +Sub debug (Happy, Awake, bo, Hungry, Mad, Ill, broom, Od, Drunk)
    + Restore DebugMenuCommands
    + For i = 1 To 10
    + Read DebugMenu$(i)
    + Next
    + Cls 0
    + dbug = 1
    + Variable(1) = Happy: Variable(2) = Awake: Variable(3) = bo
    + Variable(4) = Hungry: Variable(5) = Mad: Variable(6) = Ill
    + Variable(7) = broom: Variable(8) = Od: Variable(9) = Drunk
    + Do
    + For i = 1 To 10
    + If dbug = i Then Color 4 Else Color 1
    + If i < 10 Then
    + Locate i, 1: Print DebugMenu$(i)
    + Locate i, 10: Print RTrim$(Str$(Variable(i))); "% "
    + ElseIf i = 10 Then
    + Locate i + 1, 1: Print DebugMenu$(i)
    + End If
    + Next
    + Select Case InKey$
    + Case Chr$(0) + "Q"
    + If dbug < 10 Then
    + Variable(dbug) = Variable(dbug) - 10