home *** CD-ROM | disk | FTP | other *** search
GFA-BASIC MS-DOS | 1991-03-07 | 25.0 KB | 613 lines |
- GFA-BASIC MS-DOS
- Sound
- Anzahl
- NrAlt
- Merki
- Merkh
- SchussX1
- SchussY1
- Reflektion
- SoundOn
- Again
- Turned
- Moved
- Shapes
- zeichnen
- 15======'
- Stone
- SchussX
- SchussY
- Shoot
- Shield
- Swupp
- Score=============================================NM
- MakeShapes StartGame
- DrawSegment
- DrawZiffer
- DrawMirror
- TurnMirror
- MoveMirror
- Shoot
- PBOXol1
- Sound
- rausDURE
- Haupt-SpielroutineDO
- ========================================================================'
- MIRROR-PC
- GFA-Basic
- einem
- Vorbild
- Wolfgang
- (GFA-ST
- 2.0),
- ATARImagazin
- Gerald
- Arend
- TOOLBOX
- ========================================================================'
- (20,8),
- (11,8),
- (11,8),
- (2,6)
- (6,6),
- (2)DIM
- (72),
- DEFMOUSE
- PROCEDURE
- COLOR
- ELSECOLOR
- ENDIF
- COLOR
- ELSECOLOR
- ENDIF
- COLOR
- ELSECOLOR
- ENDIF
- COLOR
- ELSECOLOR
- ENDIF
- COLOR
- ELSECOLOR
- ENDIF
- COLOR
- ELSECOLOR
- ENDIF
- COLOR
- ELSECOLOR
- ENDIF
- RETURN
- PROCEDURE
- Farbe
- Segment
- Farbe
- Segment
- Breite
- Segmente
- Y-Startposition
- ZiffernSELECT
- 36)CASE
- 93)CASE
- 46)CASE
- 37)CASE
- ENDSELECT
- RETURN
- Maustasten: <links> Spiegel drehen/schie
- en <rechts> Spiegel verschieben
- Spiegel zuerst verschieben, dann drehen! <Q> Spiel beenden oder neu
- (c) 1991 toolbox
- PROCEDURE
- Shapes
- zeichnen
- 15SCREEN
- Farben
- 3DEFFILL
- <2COLOR
- 12ELSECOLOR
- 10ENDIF
- PCIRCLE
- <2COLOR
- ELSECOLOR
- ENDIF
- DEFLINE
- CIRCLE
- 25,25,15
- COLOR
- 15DEFLINE
- =0LINE
- 10,10,40,40ENDIF
- SELECT
- 1,3LINE
- 10,40,40,10CASE
- 0,2LINE
- 10,10,40,40ENDSELECT
- 2,2,48,48,
- (8)DEFLINE
- COLOR
- 15DEFFILL
- GRAPHMODE
- *50,0,45+
- *50,50,
- )NEXT
- COLOR
- 13FOR
- *50,5+
- *50,45-
- *50,5+
- *50,45-
- )NEXT
- ERASE
- 2,2,48,48,
- COLOR
- DEFFILL
- 14PBOX
- DEFFILL
- 412,12,628,388
- 453COLOR
- 415,15,625,385BOX
- 416,16,624,384COLOR
- 14PRINT
- AT(54,3);"
- "PRINT
- AT(54,4);"
- "PRINT
- AT(54,5);"
- PRINT
- AT(54,6);"
- "PRINT
- AT(54,7);"
- COLOR
- 12BOX
- PRINT
- AT(3,27);"
- Maustasten:
- <links>
- Spiegel
- drehen/schie
- <rechts>
- Spiegel
- verschieben
- "PRINT
- AT(3,28);"
- Spiegel
- zuerst
- verschieben,
- drehen!
- Spiel
- beenden
- "COLOR
- PRINT
- AT(54,24);"
- toolbox"
- RETURN
- MakeShapes
- PROCEDURE
- einen
- Spiegelstein
- zeichnenPUT
- *50+2,
- *50+2,
- )RETURN
- Schwierigkeit@Z
- 1|2@H
- SoundeffekteZ
- An|AusH
- Anzahl Spiegel|16 Spiegel|20 Spiegel|24 Spiegel|28 Spiegel|32 Spiegel|36 Spiegel
- PROCEDURE
- Neuanfang
- ALERT
- "Schwierigkeit",
- "1|2",
- ALERT
- "Soundeffekte",
- "An|Aus",
- POPUP("Anzahl
- Spiegel|16
- Spiegel|20
- Spiegel|24
- Spiegel|28
- Spiegel|32
- Spiegel|36
- Spiegel",
- =FALSE
- GRAPHMODE
- COLOR
- 0DEFFILL
- 14PBOX
- 0,0,400,398CLR
- ARRAYFILL
- ARRAYFILL
- ARRAYFILL
- ARRAYFILL
- ARRAYFILL
- GRAPHMODE
- COLOR
- 14,1DEFFILL
- =RANDOM(9)
- )=25+
- )=75+
- *50PUT
- )-20,
- )-20,
- )PBOX
- *50,5+
- *350,95+
- *50,45+
- *50,5+
- *350,95+
- *50,45+
- *350TEXT
- *50,33+
- *350,2-
- Spiegelfeld
- zeichnenCOLOR
- 15,0DEFFILL
- 49,49,351,351DEFLINE
- 6LINE
- *50,50,50+
- *50,350
- *50+50,350,
- *50+50
- Spiegel
- setzen
- ARRAYFILL
- (),-1WHILE
- Spiegelsteine
- setzen
- =RANDOM(6)+1
- =RANDOM(6)+1
- =RANDOM(2+
- ENDIF
- WENDCOLOR
- 15DEFFILL
- GRAPHMODE
- 55,5,95,45
- 55,355,95,395GRAPHMODE
- (1)=1
- (1)=7
- (2)=1
- (2)=0COLOR
- DEFFILL
- RETURN
- StartGame
- PROCEDURE
- SELECT
- )CASE
- ENDSELECT
- =TRUEENDIF
- RETURN
- TurnMirror
- PROCEDURE
- Punkte
- abziehen
- Altes
- schenGRAPHMODE
- =FALSE
- REPEATMOUSE
- =INT(
- /50)*50
- =INT(
- /50)*50
- /50IF
- <=300
- <=300IF
- =TRUEELSE
- =FALSE
- ENDIF
- =FALSE
- ENDIF
- =TRUE
- *50+2,
- *50+2,
- ENDIF
- UNTIL
- =TRUE
- /50)=
- ckschreiben
- =TRUE
- beendetENDIF
- RETURN
- MoveMirror
- Wollen Sie das|Spiel beenden?eZ
- Weiter|Neu|QuituH
- PROCEDURE
- Haupt-SpielroutineDO
- Spielers
- anzeigen
- ENDIF
- Variablen
- schen
- GRAPHMODE
- WHILE
- MOUSEKWENDREPEATMOUSE
- =INT(
- /50)*50
- =INT(
- /50)*50
- =UPPER$(INKEY$)WHILE
- INKEY$<>""WENDIF
- Spiel
- abbrechenALERT
- 1,"Wollen
- das|Spiel
- beenden?",1,"Weiter|Neu|Quit",
- SELECT
- 2GOTO
- 3SCREEN
- ndeEND
- ENDSELECT
- ENDIF
- Spiegel
- drehen
- verschieben
- <=300
- <=300
- Out!=FALSE
- Screen-
- Feldkoordinaten
- umrechnen
- =INT(
- /50)*50
- Feldkoordinaten
- runden
- =INT(
- /50)*50IF
- SELECT
- Spiegel
- drehen
- Taste
- 1CASE
- )=>50
- verschieben
- Taste
- Punkte
- tig!ENDIF
- ENDSELECT
- ENDIF
- ENDIF
- Schwarzes
- bewegt
- sichIF
- /50<>
- <=300
- /50COLOR
- 15,0DEFFILL
- )*50+5,
- )*50+5,
- )*50+45,
- )*50+45
- 1)*7PBOX
- )*50+5,
- )*50+5,
- )*50+45,
- )*50+45COLOR
- 15DEFFILL
- ENDIF
- UNTIL
- <=300
- <=300
- =2))'
- SCHUSS!
- Startkoordinaten
- Strahl
- ermitteln
- )*50+25
- =25ENDIF
- )*50+25
- ENDIF
- Screen-sichern
- Artikel
- beschriebenen
- Methode
- wurde'
- ausdokumentiert.
- Grund:
- Speicherplatzprobleme.'
- n%+39,
- Monitor$(n%
- GRAPHMODE
- andere
- Methode:
- Linien
- XOR-Modus
- zeichnen
- COLOR
- REPEATFOR
- Linie
- einem
- chsten
- ziehenIF
- PAUSE
- ENDIF
- einzelne
- Punkte!
- Feldkoordinate
- Feldkoordinate
- Richtungen
- sichern
- SELECT
- Spiegeltyp
- checken
- SOUND
- neusten
- GFA-Version
- jetzt
- implementiert!SOUND
- 0ENDIF
- SOUND
- 0SOUND
- 0ENDIF
- ENDSELECT
- SELECT
- ENDIF
- ENDIF
- ENDSELECT
- ENDIF
- UNTIL
- =375'
- Screen-restaurieren
- Artikel
- beschriebenen
- Methode
- wurde
- ausdokumentiert.
- Grund:
- Speicherplatzprobleme.'
- Screen
- restaurieren
- Monitor$(n%
- SchussX1%,
- SchussX2%
- -1FOR
- Linie
- einem
- chsten
- ziehenADD
- Grundstein
- getroffen
- Scorefeld
- getroffenCLR
- +1)*10
- ENDIF
- =RANDOM(9)
- Scorestein
- animierenIF
- SOUND
- ENDIF
- ELSEPUT
- SOUND
- ENDIF
- ENDIF
- ELSEDEC
- ENDIF
- ENDIF
- :RETURN
- Spieler Y
- Drehe die Spiegel!
- Bewege die Spiegel!
- Q
- Schie
- auf den Gegner!
-
- Punkte Spieler 1:
- -####
- Punkte Spieler 2:
- -####
- PROCEDURE
- Infobox
- aktualisieren
- GRAPHMODE
- COLOR
- PRINT
- AT(59,10);"
- Spieler
- "COLOR
- 12PRINT
- AT(57,12);"Drehe
- Spiegel!"IF
- )=>50
- PRINT
- AT(57,13);"Bewege
- Spiegel!"
- ELSEPRINT
- AT(57,13);"
- ENDIF
- )=>200PRINT
- AT(55,14);"Schie
- Gegner!"
- ELSEPRINT
- AT(55,14);"
- ENDIF
- COLOR
- 15PRINT
- AT(55,16);"Punkte
- Spieler
- ";USING
- "-####",
- PRINT
- AT(55,17);"Punkte
- Spieler
- ";USING
- "-####",
- 1)+1)
- 1)+1)ENDIF
- )ENDIF
- RETURN
- Punkte im Soll!
- Da ist nix mehr!
- Markierter Stein!!
- Falsche Seite!
-
-
- PROCEDURE
- Zahlenfeld
- getroffenGRAPHMODE
- COLOR
- ),200IF
- ENDIF
- ENDIF
- =2)IF
- 1)+1)*50+25IF
- -25)/50)=FALSE
- )=>0COLOR
- DEFFILL
- +20COLOR
- =1000
- SOUND
- 1NEXT
- ENDIF
- -25)/50)=TRUE
- 1)+1),100INC
- )ENDIF
- =TRUEPRINT
- AT(59,20);"Punkte
- Soll!"
- ENDIF
- =TRUEPRINT
- AT(57,20);"Da
- mehr!"ENDIF
- =TRUEPRINT
- AT(57,20);"Markierter
- Stein!"
- ENDIF
- =TRUEPRINT
- AT(59,21);"Falsche
- Seite!"ENDIF
- =TRUE
- =FALSE
- 1)+1),100IF
- -2SOUND
- 0SOUND
- 1000-
- ELSEDELAY
- ENDIF
- COLOR
- PRINT
- AT(57,20);"
- PRINT
- AT(57,21);"
- ENDIF
- RETURN
- Spieler 2:|Du hast gewonnen!| Noch einmal?Z
- Jawoll!|Nee...H
- Spieler 1:|Du hast gewonnen!| Noch einmal?Z
- Jawoll!|Nee...H
- PROCEDURE
- Winner!IF
- ALERT
- Spieler
- 2:|Du
- gewonnen!|
- einmal?",1,"Jawoll!|Nee...",
- ELSEALERT
- Spieler
- 1:|Du
- gewonnen!|
- einmal?",1,"Jawoll!|Nee...",
- ENDIF
- =TRUEELSE
- Programmende
- SCREEN
- TextmodusEND '
- ENDIF
- RETURN
-