/*
Title: superglazz
Author: D. Fabian
Date: 9 November 2017
*/
'
' -- SUPER GLAZZ --
'
'
' THIS IS PUBLIC DOMAIN SOFTWARE
'
  DECLARE SUB WaitForKey ()
  DECLARE SUB InputKey ()
  CLS
  PRINT " ***************"
  PRINT " * SUPER GLAZZ *"
  PRINT " ***************"
  PRINT
  PRINT
  PRINT "Dies ist das Spiel `SUPER GLAZZ'"
  PRINT
  PRINT "Super Glazz kann alleine, zu zweit, zu siebt, zu vierzehnt und zu einundzwan-"
  PRINT "zigst gespielt werden..."
  PRINT
  PRINT "Wnschen Sie die Anleitung ?"
  DO
 a$ = LCASE$(INPUT$(1))
 IF a$ = "n" THEN
   CLS
   PRINT "Ich rate Ihnen nur eines:"
   PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~"
   PRINT
   PRINT "Lesen Sie die Spielregeln!!!"
   PRINT
   PRINT "Verdammt noch mal!!!!!"
   PRINT
   PRINT "Wnschen Sie die Anleitung ?"
 END IF
  LOOP WHILE a$ <> "j"
  CLS
  PRINT "Gespielt wird auf einem 8 mal 7 Felder groáen Spielfeld, dem Pnunf. Die Felder"
  PRINT "heissen Plunze. Wer am Zug ist hat einen Banuz. Sieben Banuze sind ein Palawaum."
  PRINT
  PRINT "Hat ein Spieler in der ersten Runde einen Palawaum erreicht, erh„lt er einen"
  PRINT "Gahleff. Diesen kann er sich gutschreiben lassen oder eine neue Runde beginnen."
  PRINT
  PRINT "Als erster ist der an der am Zug, der einen Palawaum hatte, oder sich einen"
  PRINT "Gahleff gutschreiben lieá, w„hrend ein Spieler einen Banuz hatte."
  PRINT "Wer keinen Banuz hat, aber einen Palawaum erreichen konnte, ist ein Plunz. Ein"
  PRINT "Plunz, der einen Palawaum bekommt, w„hrend sich ein Mitspieler gerade einen"
  PRINT "Gahleff gutschreibt bekommt einen Onsel und scheidet aus..."
  WaitForKey
  CLS
  PRINT "Nun zum Spielvorgang selbst:"
  PRINT :
  PRINT "Der erste Spieler erh„lt einen Banuz und schaut auf das linke obere Plunz des"
  PRINT "8 mal 7 Pnunfs. Er wartet bis dort ein Kalahuii erscheint. Dann zieht er zwei"
  PRINT "Plunze und bekommt einen Punkt..."
  PRINT "Nun ist der Gegenspieler am Zug!"
  PRINT "Die Dramatik spitzt sich zu..."
  PRINT "Am besten setzt der Gegner jetzt einen Palawaum ein. Er muá besonders darauf"
  PRINT "achten, daá das Kalahuii nicht den Pnunf verl„át, sonst gibt dies ein kleines"
  PRINT "Karawunsel. Dies z„hlt drei Punkte..."
  PRINT
  PRINT "Wer zuerst sieben Punkte hat, hat gewonnen"
  PRINT
  PRINT "Am besten machen Sie ein Probespiel."
  WaitForKey
  CLS
  PRINT "Zuerst brauche ich noch ein paar Daten:"
  PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  PRINT
  INPUT "Anzahl der Spieler : ", a$
  IF a$ <> "1" THEN
 PRINT "Kommt nicht in Frage! Sie spielen alleine gegen mich!!!"
  END IF
  INPUT "Ihr Name : ", a$
  PRINT
  PRINT "Spielen Sie zum ersten mal ?"
  InputKey
  PRINT "Spielen Sie zum zweiten mal ?"
  InputKey
  PRINT "Spielen Sie zum dritten mal ?"
  InputKey
  PRINT "Spielen Sie zum vierten mal ?"
  InputKey
  PRINT "Spielen Sie zum letzten mal ?"
  InputKey
  WaitForKey
  CLS
  PRINT "Weiter gehts:"
  PRINT "~~~~~~~~~~~~~"
  PRINT
  PRINT "Schnell oder Langsam ?"
  InputKey
  PRINT "Stark oder Schwach ?"
  InputKey
  PRINT "Gut oder Schlecht ?"
  InputKey
  PRINT "Hoch oder Niedrig ?"
  InputKey
  PRINT "Mit oder ohne Wind ?"
  InputKey
  PRINT "Mit oder ohne Rauch ?"
  InputKey
  PRINT "Mit oder ohne Ton ?"
  InputKey
  PRINT "Mit oder ohne Feind ?"
  InputKey
  PRINT "Vorw„rts oder Rckw„rts ?"
  InputKey
  PRINT "Gerecht oder mit Schmu ?"
  InputKey
  PRINT "Lang oder Kurz ?"
  InputKey
  PRINT "Oben oder unten beginnen ?"
  InputKey
  PRINT "Links oder rechts beginnen ?"
  InputKey
  PRINT "Diagonal oder gerade spielen ?"
  InputKey
  PRINT "Senkrecht oder wagrecht spielen ?"
  InputKey
  PRINT "Wollen Sie anfangen ?"
  InputKey
  INPUT "Warum ? ", a$
  PRINT "M”chten Sie einen Banuz ?"
  InputKey
  PRINT "Einen Kalawaum ?"
  InputKey
  INPUT "Wie viele Punkte wollen Sie ? ", a$
  ap = VAL(a$)
  IF ap < 80 OR ap > 1600 THEN
 ap = 800
 PRINT "Nein, Sie bekommen 800 Punkte!"
  END IF
  a = TIMER + 2
  DO
  LOOP WHILE a > TIMER
  CLS
  PRINT "Achtung! Ihre Punkte kommen!"
  a = TIMER + 2
  DO
  LOOP WHILE a > TIMER
  CLS
  PRINT
  apf = ap
  FOR i% = 1 TO INT(ap / 10) * 10 STEP 10
 PRINT "..........";
 a = TIMER + .1
 apf = apf - 10
 DO
 LOOP WHILE TIMER < a
  NEXT i%
  PRINT STRING$(apf, ".")
  PRINT
  PRINT
  PRINT "Hier sind "; ap; " Punkte..."
  a = TIMER + 2
  DO
  LOOP WHILE a > TIMER
  CLS
  PRINT "Und wenn Sie jetzt noch `x' drcken haben Sie gewonnen!!!"
  DO
 a$ = INKEY$
  LOOP UNTIL a$ = ""
  a$ = INPUT$(1)
  IF a$ <> "x" THEN
 CLS
 PRINT "Sie haben `x' verfehlt. Die Taste befindet sich unten links auf Ihrer Tastatur."
 PRINT
 COLOR 12
 PRINT "Schade..."
 COLOR 7
 PRINT
 PRINT "Lassen Sie sich nicht den Mut nehmen!"
 PRINT
 PRINT "Versuchen Sie es noch ein mal!"
  ELSE
 CLS
 COLOR 12
 PRINT "Hurra..."
 PRINT
 COLOR 7
 PRINT "Sie sind Sieger"
 PRINT
 PRINT "Sie drfen sich jetzt zwei Gorunze gutschreiben und sich ab sofort Oberplunzi"
 PRINT "nennen... Sie haben sich den Titel ehrlich verdient!"
 PRINT
 PRINT "Nur wenige BEKLOPPTE haben bis hierhin mitgespielt..."
  END IF
  WaitForKey
  CLS
  PRINT "Das war --- SUPER GLAZZ ---"
SUB InputKey
  DO
 a$ = INKEY$
  LOOP UNTIL a$ = ""
  a$ = INPUT$(1)
  IF a$ = CHR$(27) THEN
 CLS
 END
  END IF
END SUB
SUB WaitForKey
  COLOR 15
  LOCATE 20
  PRINT "Taste zum fortfahren..."
  DO
 a$ = INKEY$
  LOOP UNTIL a$ = ""
  a$ = INPUT$(1)
  IF a$ = CHR$(27) THEN
 CLS
 END
  END IF
  COLOR 7
END SUB