changeset 3:e98ade2107de

more refactoring
author meillo@marmaro.de
date Tue, 04 Sep 2007 23:59:39 +0200
parents 53d9408c7cdb
children 81ecf448ab30
files Midds_reco.bas
diffstat 1 files changed, 231 insertions(+), 216 deletions(-) [+]
line wrap: on
line diff
--- a/Midds_reco.bas	Mon Sep 03 20:51:10 2007 +0200
+++ b/Midds_reco.bas	Tue Sep 04 23:59:39 2007 +0200
@@ -127,7 +127,6 @@
 
 ort_flur :
 '''''''' Flur '''''''
-'IF kerzenst% = 1 GOTO 116
 
 COLOR 7
 
@@ -138,31 +137,59 @@
   select case B$
     case "sprechen mit herr fisch"
       goto gespraech_herrfisch
+
     case "gehen heim"
       PRINT "  Du Angsthase!"
+
     case "umschauen", "untersuchen flur"
-      GOTO 117
+      IF tinaangerufen = 1 and tinaistda = 0 then
+        COLOR 2
+        PRINT "Links geht es die Treppe zum Schlafzimmer hinauf,"
+        PRINT "gerade aus geht's ins Esszimmer und rechts ins"
+        PRINT "Arbeitszimmer. Im Flur steht Herr Fisch und ..."
+        print
+        PRINT "... gerade klingelt es an der Tuer. Herr Fisch"
+        PRINT "macht auf und Tina kommt herein."
+        tinaistda = 1
+      else
+        COLOR 2
+        PRINT "Links geht es die Treppe zum Schlafzimmer"
+        PRINT "hinauf, gerade aus geht's ins Esszimmer und"
+        PRINT "rechts ins Arbeitszimmer. Im Flur steht"
+        PRINT "Herr Fisch und beantwortet gern deine Fragen."
+      end if
+
     case "gehen in schlafzimmer"
       goto ort_schlafzimmer
+
     case "gehen in arbeitszimmer"
       GOTO ort_arbeitszimmer
+
     case "gehen in esszimmer"
       GOTO ort_esszimmer
+
     case "gehen in kueche"
       GOTO ort_kueche
+
     case "gehen in lagerhalle"
       if kx% = 1 AND sx% = 1 GOTO 132
+
     case "sprechen mit Tina"
       if tinaistda = 1 then GOTO 118
+
     case "q"
       END
+
     case "i"
       GOSUB inventar
+
     case "b"
       GOSUB befehle
+
     case else
       PRINT "  Keine Lust!"
       PRINT
+
   end select
 
   zuege% = zuege% + 1
@@ -433,7 +460,32 @@
 
     case "gehen in Geheimgang"
       if kx% = 1 AND sx% = 1 then
-        goto 127
+        COLOR 2
+        IF tlampe% = 0 THEN PRINT "Da geh' ich ohne Licht nicht rein."
+        do
+        loop until inkey <> ""
+
+        IF tlampe% = 0 GOTO ort_arbeitszimmer
+
+        COLOR 10
+        PRINT "Geheimgang"
+        do
+        loop until inkey <> ""
+
+        COLOR 2
+        PRINT "Gut, dass ich eine Taschenlampe dabei habe."
+        PRINT "Oh, es geht steil bergab .... ich muss schon"
+        PRINT "mindestens 5 Meter unter der Erdoberflaeche"
+        PRINT "sein .... Jetzt bin ich schon 10 Minuten"
+        PRINT "unterwegs ..... da vorne kommt eine Tuer"
+        PRINT "genau so gesichert wie die hinter dem Regal"
+        PRINT "gut, dass ich den Schluessel habe und den"
+        PRINT "Code kenne ..... Wo bin ich denn jetzt?"
+        PRINT "Sieht aus, wie der Keller eines Hauses"
+        PRINT "ist aber ganz schoen zerfallen."
+        do
+        loop until inkey <> ""
+        GOTO ort_keller
       end if
 
     case "z"
@@ -611,29 +663,6 @@
 
 
 
-117 :
-
-IF tinaangerufen = 1 and tinaistda = 0 then
-  COLOR 2
-  PRINT "Links geht es die Treppe zum Schlafzimmer hinauf,"
-  PRINT "gerade aus geht's ins Esszimmer und rechts ins"
-  PRINT "Arbeitszimmer. Im Flur steht Herr Fisch und ..."
-  print
-  PRINT "... gerade klingelt es an der Tuer. Herr Fisch"
-  PRINT "macht auf und Tina kommt herein."
-  tinaistda = 1
-
-else
-  COLOR 2
-  PRINT "Links geht es die Treppe zum Schlafzimmer"
-  PRINT "hinauf, gerade aus geht's ins Esszimmer und"
-  PRINT "rechts ins Arbeitszimmer. Im Flur steht"
-  PRINT "Herr Fisch und beantwortet gern deine Fragen."
-end if
-
-goto ort_flur
-
-
 
 
 
@@ -648,7 +677,30 @@
 PRINT
 COLOR 9
 IF s$ = "A" THEN PRINT "Ich habe mich sofort auf den Weg gemacht."
-IF s$ = "B" GOTO 119
+IF s$ = "B" then
+  COLOR 9
+  PRINT "Okay, aber wo ist das Schlafzimmer?"
+  print
+
+  COLOR 12
+  PRINT "Welchen Weg beschreibst du ihr?"
+  PRINT
+  PRINT "a: Links die Treppe hinauf."
+  PRINT "b: Rechts die Treppe hinunter."
+  PRINT "c: Die Treppe hinauf, dann links."
+  PRINT
+  INPUT "a, b oder c?", w$
+  PRINT
+  COLOR 2
+  IF w$ = "c" THEN PRINT "Bravo, du hast ein gutes Gedaechtnis!"
+  IF w$ = "c" THEN cheat1 = 1
+  IF w$ = "a" THEN PRINT "Leider falsch.Die richtige Loesung war c."
+  IF w$ = "b" THEN PRINT "Leider falsch.Die richtige Loesung war c."
+  tinaistimschlafzimmer = 1
+  do
+  loop until inkey <> ""
+  GOTO ort_flur
+end if
 IF s$ = "C" GOTO ort_flur
 do
 loop until inkey <> ""
@@ -658,40 +710,6 @@
 
 
 
-119 :
-
-COLOR 9
-PRINT "Okay, aber wo ist das Schlafzimmer?"
-print
-
-COLOR 12
-PRINT "Welchen Weg beschreibst du ihr?"
-PRINT
-PRINT "a: Links die Treppe hinauf."
-PRINT "b: Rechts die Treppe hinunter."
-PRINT "c: Die Treppe hinauf, dann links."
-PRINT
-INPUT "a, b oder c?", w$
-PRINT
-COLOR 2
-IF w$ = "c" THEN PRINT "Bravo, du hast ein gutes Gedaechtnis!"
-IF w$ = "c" THEN cheat1 = 1
-IF w$ = "a" THEN PRINT "Leider falsch.Die richtige Loesung war c."
-IF w$ = "b" THEN PRINT "Leider falsch.Die richtige Loesung war c."
-tinaistimschlafzimmer = 1
-do
-loop until inkey <> ""
-GOTO ort_flur
-
-
-
-
-
-
-
-
-
-
 
 
 
@@ -717,42 +735,13 @@
 
 
 
-127 :
-
-COLOR 2
-IF tlampe% = 0 THEN PRINT "Da geh' ich ohne Licht nicht rein."
-do
-loop until inkey <> ""
-
-IF tlampe% = 0 GOTO ort_arbeitszimmer
-1000 :
-
-COLOR 10
-PRINT "Geheimgang"
-do
-loop until inkey <> ""
-
-COLOR 2
-PRINT "Gut, dass ich eine Taschenlampe dabei habe."
-PRINT "Oh, es geht steil bergab .... ich muss schon"
-PRINT "mindestens 5 Meter unter der Erdoberflaeche"
-PRINT "sein .... Jetzt bin ich schon 10 Minuten"
-PRINT "unterwegs ..... da vorne kommt eine Tuer"
-PRINT "genau so gesichert wie die hinter dem Regal"
-PRINT "gut, dass ich den Schluessel habe und den"
-PRINT "Code kenne ..... Wo bin ich denn jetzt?"
-PRINT "Sieht aus, wie der Keller eines Hauses"
-PRINT "ist aber ganz schoen zerfallen."
-do
-loop until inkey <> ""
-GOTO 130
 
 
 
 
 
 
-130 :
+ort_keller :
 '''''''''' Keller '''''''''''''
 
 COLOR 2
@@ -814,15 +803,6 @@
 
 
 
-131 :
-
-COLOR 2
-PRINT "In der Lagerhalle ist alles genau so"
-PRINT "zerfallen, wie im Keller. Ueberall sind Kartons"
-PRINT "gestapelt. Gerade aus geht eine Tuer ins Freie."
-do
-loop until inkey <> ""
-RETURN
 
 
 
@@ -832,35 +812,58 @@
 132 :
 '''''''' Lagerhalle '''''''''''
 
-'LOCATE 13, 10
-COLOR 10
-PRINT "Lagerhalle"
+COLOR 2
+PRINT "Du bist in der Lagerhalle."
+print
+
+
 do
-loop until inkey <> ""
+  COLOR 7
+  INPUT "(Lagerhalle) Was machst du? ", B$
+  B$ = lcase(B$)
+  select case B$
+    case "gehen in Schlafzimmer"
+      goto ort_schlafzimmer
 
-a132:
+    case "gehen in Arbeitszimmer"
+      goto ort_arbeitszimmer
+
+    case "gehen in Esszimmer"
+      goto ort_esszimmer
+
+    case "gehen in Kueche"
+      goto ort_kueche
 
-COLOR 7
-INPUT "(Lagerhalle) Was machst du? ", B$
-zuege% = zuege% + 1
-IF B$ = "gehen in Schlafzimmer" goto ort_schlafzimmer
-IF B$ = "gehen in Arbeitszimmer" GOTO ort_arbeitszimmer
-IF B$ = "gehen in Esszimmer" GOTO ort_esszimmer
-IF B$ = "gehen in Kueche" GOTO ort_kueche
-IF B$ = "umschauen" THEN GOSUB 131
-IF B$ = "untersuchen Lagerhalle" THEN GOSUB 131
-IF B$ = "oeffnen Tuer" GOTO 133
-IF B$ = "untersuchen Kartons" THEN GOSUB 134
-IF B$ = "benutzen Messer" GOTO 136
-IF B$ = "q" THEN END
-IF B$ = "i" THEN GOSUB inventar
-IF B$ = "b" THEN GOSUB befehle
-PRINT ""
-PRINT "Nee!"
-PRINT
-do
+    case "umschauen", "untersuchen Lagerhalle"
+      COLOR 2
+      PRINT "In der Lagerhalle ist alles genau so"
+      PRINT "zerfallen, wie im Keller. Ueberall sind Kartons"
+      PRINT "gestapelt. Gerade aus geht eine Tuer ins Freie."
+      print
+
+    case "oeffnen Tuer"
+      goto 133
+
+    case "untersuchen Kartons"
+      GOSUB 134
+
+    case "benutzen Messer"
+      goto 136
+
+    case "q"
+      END
+
+    case "i"
+      GOSUB inventar
+
+    case "b"
+      GOSUB befehle
+
+    case else
+      PRINT "Nee!"
+
+  end select
 loop until inkey <> ""
-GOTO a132
 
 
 
@@ -876,28 +879,56 @@
 PRINT "hechten ohne, dass mich die Scheinwerfer erreichen."
 PRINT "Jetzt ist schnelles Handeln wichtig!"
 PRINT
+v% = 0
 do
+  COLOR 7
+  INPUT "(Lagerhalle) Wo versteckst du dich? In ", v$
+  v$ = lcase(v$)
+  select case v$
+    case "leerem karton", "leerer karton", "leere kartons"
+      COLOR 2
+      PRINT "Das ist eine gute Idee. Ich mache mich"
+      PRINT "sofort an die Arbeit. Raschel, raschel"
+      PRINT "... uff ... so ... geich ... jetzt ..."
+      PRINT "Okay ich hab's geschafft. Jetzt kann"
+      PRINT "ich nur nichts mehr sehen. Ich sollte"
+      PRINT "mir ein Loch zum Rausschauen in den"
+      PRINT "Karton reissen. So ... uff, der ist zu"
+      PRINT "stabil, da brauche ich ein Werkzeug dazu."
+      print
+      GOTO 132
+
+    case "kartons"
+      PRINT "Ich kann mich doch nicht in vollen Kartons verstecken."
+
+    case "geheimgang"
+      PRINT "Dafuer reicht die Zeit nicht."
+
+    case "keller"
+      PRINT "Dafuer reicht die Zeit nicht."
+
+    case "umschauen", "untersuchen lagerhalle"
+      COLOR 2
+      PRINT "In der Lagerhalle ist alles genau so"
+      PRINT "zerfallen, wie im Keller. Ueberall sind Kartons"
+      PRINT "gestapelt. Gerade aus geht eine Tuer ins Freie."
+      print
+
+    case "untersuchen kartons"
+      GOSUB 134
+
+    case "q"
+      END
+
+    case else
+      PRINT "Da habe ich zu wenig Zeit dafuer."
+
+  end select
+
+  v% = v% + 1
+  IF v% = 5 THEN PRINT "Tipp: Schau dir die Lagerhalle noch einmal genau an."
+  IF v% > 8 THEN PRINT "Tipp: l..... K....."
 loop until inkey <> ""
-a133:
-COLOR 7
-INPUT "(Lagerhalle) Wo versteckst du dich? In ", v$
-v% = v% + 1
-IF v$ = "leerem Karton" GOTO 135
-IF v$ = "leerer Karton" GOTO 135
-IF v$ = "leere Kartons" GOTO 135
-IF v$ = "Kartons" THEN PRINT "Ich kann mich doch nicht in vollen Kartons verstecken."
-IF v$ = "Geheimgang" THEN PRINT "Dafuer reicht die Zeit nicht."
-IF v$ = "Keller" THEN PRINT "Dafuer reicht die Zeit nicht."
-IF v$ = "umschauen" THEN GOSUB 131
-IF v$ = "untersuchen Lagerhalle" THEN GOSUB 131
-IF v$ = "untersuchen Kartons" THEN GOSUB 134
-IF v$ = "q" THEN END
-IF v% = 9 THEN PRINT "Tipp: l..... K....."
-IF v% = 5 THEN PRINT "Tipp: Schau dir die Lagerhalle noch einmal genau an."
-PRINT "Da habe ich zu wenig Zeit dafuer."
-do
-loop until inkey <> ""
-GOTO a133
 
 
 
@@ -919,20 +950,6 @@
 
 
 
-135 :
-
-COLOR 2
-PRINT "Das ist eine gute Idee. Ich mache mich"
-PRINT "sofort an die Arbeit. Raschel, raschel"
-PRINT "... uff ... so ... geich ... jetzt ..."
-PRINT "Okay ich hab's geschafft. Jetzt kann"
-PRINT "ich nur nichts mehr sehen. Ich sollte"
-PRINT "mir ein Loch zum Rausschauen in den"
-PRINT "Karton reissen. So ... uff, der ist zu"
-PRINT "stabil, da brauche ich ein Werkzeug dazu."
-do
-loop until inkey <> ""
-GOTO 132
 
 
 
@@ -1058,31 +1075,29 @@
 loop until inkey <> ""
 
 
-143 :
 
-COLOR 9
-PRINT ""
-PRINT "Ja, hier Polizeirevier Ettlingen, Dieter"
-PRINT "Laenger. Was kann ich fuer Sie tun?"
-PRINT
-PRINT
-COLOR 12
-PRINT "a: Ich moechte Anzeige gegen einen Mann"
-PRINT "   in einem gruenen Auto erstatten."
-PRINT
-PRINT "b: Ich moechte eine Pizza essen."
-PRINT
-PRINT "c: Ich moechte, dass Sie einen Mann"
-PRINT "   in einem gruenen Auto verhaften."
-COLOR 12
-INPUT "Was antwortest du? (a,b,c)", a$
-IF a$ = "a" THEN GOTO 144
-IF a$ = "b" THEN PRINT "Du bist doch ein Spinner!"
-IF a$ = "c" THEN GOTO 144
-IF a$ = "q" THEN END
 do
+  COLOR 9
+  PRINT ""
+  PRINT "Ja, hier Polizeirevier Ettlingen, Dieter"
+  PRINT "Laenger. Was kann ich fuer Sie tun?"
+  PRINT
+  PRINT
+  COLOR 12
+  PRINT "a: Ich moechte Anzeige gegen einen Mann"
+  PRINT "   in einem gruenen Auto erstatten."
+  PRINT
+  PRINT "b: Ich moechte eine Pizza essen."
+  PRINT
+  PRINT "c: Ich moechte, dass Sie einen Mann"
+  PRINT "   in einem gruenen Auto verhaften."
+  COLOR 12
+  INPUT "Was antwortest du? (a,b,c)", a$
+  IF a$ = "a" THEN GOTO 144
+  IF a$ = "b" THEN PRINT "Du bist doch ein Spinner!"
+  IF a$ = "c" THEN GOTO 144
+  IF a$ = "q" THEN END
 loop until inkey <> ""
-GOTO 143
 
 
 
@@ -1092,23 +1107,22 @@
 
 144 :
 
-COLOR 9
-PRINT ""
-PRINT "Wie heisst der Mann denn?"
-PRINT
-COLOR 12
-PRINT "a: Karl von Burlafingen."
-PRINT "b: Regideur Eklansch."
-PRINT "c: Ich kenne seinen Namen nicht."
-PRINT ""
-INPUT "Wie heisst er? (a,b,c)", w$
-PRINT ""
-IF w$ = "a" THEN PRINT "Das kann doch nicht dein Ernst sein."
-IF w$ = "b" THEN PRINT "Verarsch mich halt!!"
-IF w$ = "c" GOTO 145
 do
+  COLOR 9
+  PRINT ""
+  PRINT "Wie heisst der Mann denn?"
+  PRINT
+  COLOR 12
+  PRINT "a: Karl von Burlafingen."
+  PRINT "b: Regideur Eklansch."
+  PRINT "c: Ich kenne seinen Namen nicht."
+  PRINT ""
+  INPUT "Wie heisst er? (a,b,c)", w$
+  PRINT ""
+  IF w$ = "a" THEN PRINT "Das kann doch nicht dein Ernst sein."
+  IF w$ = "b" THEN PRINT "Verarsch mich halt!!"
+  IF w$ = "c" GOTO 145
 loop until inkey <> ""
-GOTO 144
 
 
 
@@ -1117,28 +1131,27 @@
 
 145 :
 
-PRINT
-COLOR 9
-PRINT "Was fuer eine Autonummer hatte er denn?"
-PRINT
-PRINT
-COLOR 12
-PRINT "a: KS ET 26"
-PRINT
-PRINT "b: HS AB 37"
-PRINT
-PRINT "c: KA GR 48"
-PRINT
-PRINT
-COLOR 12
-INPUT "Welche Autonummer hatte er? (a,b,c)", a$
-PRINT
-IF a$ = "a" THEN PRINT "Du solltest dein Gedaechtnis verbessern!"
-IF a$ = "b" THEN PRINT "Du solltest dein Gedaechtnis verbessern!"
-IF a$ = "c" GOTO 146
 do
+  PRINT
+  COLOR 9
+  PRINT "Was fuer eine Autonummer hatte er denn?"
+  PRINT
+  PRINT
+  COLOR 12
+  PRINT "a: KS ET 26"
+  PRINT
+  PRINT "b: HS AB 37"
+  PRINT
+  PRINT "c: KA GR 48"
+  PRINT
+  PRINT
+  COLOR 12
+  INPUT "Welche Autonummer hatte er? (a,b,c)", a$
+  PRINT
+  IF a$ = "a" THEN PRINT "Du solltest dein Gedaechtnis verbessern!"
+  IF a$ = "b" THEN PRINT "Du solltest dein Gedaechtnis verbessern!"
+  IF a$ = "c" GOTO 146
 loop until inkey <> ""
-GOTO 145
 
 
 
@@ -1243,6 +1256,7 @@
 IF kerzenst% = 1 THEN   PRINT "|  Kerzenstaender       |"
 PRINT "|                       |"
 PRINT "+-----------------------+"
+color 7
 RETURN
 
 
@@ -1258,5 +1272,6 @@
 PRINT "sprechen mit <Person>"
 PRINT "gehen (in) <Ort>"
 PRINT "nehmen <Objekt>"
+color 7
 RETURN