Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Tennis in Qbasic

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 08.08.2006, 02:32    Titel: Tennis in Qbasic Antworten mit Zitat

Hallo an alle!

Ich hab mal angefangen Tennis in Qbasic zu programmieren es auch hinbekommen, aber wie kann man so was noch besser programmieren?


TENNIS:


Bei Tennis sollte man zwei Schläger steuern können, den Ball diagonal bzw. geradeaus schlagen lassen können, einen Punktestand links sehen können, eine kleine Bedienerführung rechts sehen können, gegen den Computer spielen können und einen Schwierigkeitsgrad einstellen können.

Kann mir da jemand Helfen?

Quellcode ist noch in Version 20 vorhanden!

EMAIL: alex.lenhard@vr-web.de[/u]

Gruß Alexander Lenhard!!!


Zuletzt bearbeitet von ALWIM am 08.08.2006, 04:37, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 08.08.2006, 03:22    Titel: Antworten mit Zitat

Moin Alexander,

dieses Forum ist nicht dazu da um Hausaufgaben zu posten und diese von den Usern lösen zu lassen. Niemand wird dir irgendein Programm zuschicken.

Anders sieht es da schon aus wenn du diese Aufgabe schon mal angefangen hast zu programmieren und du an einigen Code-Stellen Probleme hast bei denen du nicht weiterkommst. In diesem Fall darfst du die Probleme natürlich posten und wir helfen gerne.
Aber SO nicht!

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*


Zuletzt bearbeitet von A.K. am 08.08.2006, 14:41, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 08.08.2006, 04:16    Titel: Antworten mit Zitat

Ja angefangen habe ich das schon mal!

Aber wie könnte ich es noch verbessern oder ganz einfach neu Programmieren das es besser wird?

Gruß Alexander!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 08.08.2006, 04:35    Titel: Antworten mit Zitat

Verbesserungen kannst du durch neue Funktionen erreichen oder durch eine Code-Optimierung.

Aber um konstruktive Vorschläge machen zu können, müßten wir erstmal wissen (und sehen) was du bisher geschrieben hast bei deinem Versuch.
Also evtl. mal den Code zu deinem Programm posten.

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 08.08.2006, 04:52    Titel: Antworten mit Zitat

Hier der Code! Etwas zu lang möglicherweise Fehler durch das Einfügen!!!

Alle Ö, Ä, Ü sind hier nicht richtig dargestellt.
Die Grafik mit PRINT bei Zeile 1900 ist hier auch nicht richtig dargestellt.
(Sollte Tennis darstellen)

Und noch auch so ein paar Grafiken mit PRINT "***"
(Sollte ein Tennisschläger sein)

so in etwa sieht mein Quellcode aus stammt noch aus den Zeiten von
Qb 1.1!

Ziemlich unübersichtlich und naja ohne Subs!
Genau genommen Marode bis zum geht nicht mehr.

Code:

1000 REM **************************************************************
1010 REM Tennisprogramm Ausbaustufe 20 in Basic
1020 REM **************************************************************
1030 REM Dieses Programm bildet auf dem Bildschirm
1040 REM des PCs ein Tennisfeld ab.
1050 REM Im Tennisfeld werden zwei Tennisschl„ger
1060 REM dargestellt. Der obere Schl„ger l„sst sich
1070 REM durch die Tasten Q und W den steuert der Computer oder der Mensch
1080 REM der untere  Schl„ger durch die Tasten O und P
1090 REM den steuert der Mensch nach links oder nach rechts bewegen.
1100 REM Mit der Taste T wird das Spiel beendet.
1110 REM
1200 REM Durch Bet„tigen der Taste A kann
1210 REM f?r den Computer oder (Mensch1) der Ball aufgeschlagen werden
1220 REM der Mensch(2) benutzt daf?r die Taste L.
1230 REM Der Ball wird an den Tennisschl„gern
1240 REM reflektiert und verschwindet am Rand des
1250 REM Spielfeldes, wenn er nicht gehalten wird.
1260 REM
1270 REM Zum diagonalen Schlagen des Balls k”nnen bei (dem Mensch oder bei)
1310 REM dem Computer die Tasten S,D und F (steuert Computer von selbst)
1320 REM bei Spieler 2 die Tasten H,J und K benutzt werden.
1330 REM Zum Bewegen der beiden Schl„ger nach oben
1340 REM und nach unten k”nnen die Tasten U und I
1350 REM benutzt werden.
1360 REM Zum Einstellen der Schlagst„rke bzw. der
1370 REM Ballgeschwindigkeit k”nnen die Tasten V und B
1380 REM benutzt werden oder alternativ ?ber die Taste G.
1400 REM In der Mitte des Spielfeldes wird ein Netz
1410 REM eingeblendet. Das Netz muss vom Ball ?berwunden
1420 REM werden. Bleibt der Ball im Netz h„ngen, so
1430 REM verschwindet er anschlieáend vom Tennisfeld.
1440 REM
1500 REM Die Bedienung des Computerspiels wird durch
1510 REM eine einfache Bedienerf?hrung erleichtert.
1520 REM Dazu wird am rechten Bildschirmrand
1530 REM die Funktion der Tasten angezeigt.
1540 REM Am linken Bildrand werden die Punkte der
1560 REM beiden Spieler angezeigt.
1570 REM
1580 REM Ein „ndern der Farbe wird ab der Version 5 m”glich sein.
1590 REM Als Standardfarbe ist Schwarz-Weiá eingestellt.
1600 REM Es kann auf 3 verschiedene Farben umgestellt werden.
1610 REM F?r das Žndern der Farbe ben”tigt man ein Password.
1620 REM Mit den Tasten Y, X und C kann man die Farbe „ndern.
1630 REM F?r Farbe Schwarz-Weiá (X) ben”tigt man KEIN Password.
1800 REM                                         ----
1802 REM In Ausbaustufe 6 ist ein CHEAT-Modus vorhanden.
1803 REM Mit einer bestimmten Taste (Spieler1=? und Spieler2=?) werden
1804 REM einfach Punkte (15) zu der vorhandenen Punktezahl hinzuaddiert
1805 REM aber leider auch die Farbe auf Schwarz-Weiá gesetzt.
1806 REM Mit der Taste Z werden die Punkte auf Null und die Farbe
1807 REM auf Schwarz-Weiá zur?ckgesetzt.
1808 REM
1809 REM Es wird bei Version 6 auch so sein, dass ab einer bestimmten
1810 REM Punktezahl (300) der dann gewonnen hat, der sie zu erst erreicht hat.
1811 REM Anschlieáend wird das Programm erneut von vorne gestartet, bis mit
1812 REM der Taste T das Tennisspiel beendet wird.
1814 REM
1815 REM Bei Ausbaustufe 7 ist das Eingeben von Spielernamen m”glich.
1816 REM Zu Beginn eines Spieles muss man die Spielernamen eingeben,
1817 REM bevor man spielen kann.
1818 REM Auch kann man bei Version 7 bei Anzeige des Gewinners mit 1 und der
1819 REM Entertaste das Spiel beenden, ohne das
1820 REM Spiel erneut von vorne starten zu m?ssen.
1821 REM
1822 REM In Version 7 ist die Schrift "TENNIS" Kursiv.
1830 REM
1832 REM In Version 8 ist die Schrift "ENDE" nicht gleich voll da, sondern
1833 REM erscheint Zeile f?r Zeile.
1834 REM
1835 REM In der Ausbaustufe 9 ist die Anzeige der Ballgeschwindigkeit
1836 REM vorhanden so dass ein Wert zwischen 1 und 32767 angezeigt wird.
1837 REM
1838 REM Mit der Taste G kann man in der Ausbaustufe 10
1839 REM die Ballgeschwindigkeit direkt durch eine Zahl zwischen 1 und 32767
1840 REM eingeben. Weiterhin gibt es die Tasten B und V
1841 REM zum Feineinstellen (+1, -1) der aktuellen Ballgeschwindigkeit.
1842 REM
1843 REM In der Ausbaustufe 11 werden die Spielernamen und die Punkte
1844 REM gespeichert und k”nnen bei Beginn eines neuen Spieles
1845 REM angeschaut werden.
1846 REM
1847 REM Ausbaustufe 12 beinhaltet einen Computermodus der immer mit dem
1848 REM Schl„ger dort hingeht wo der Ball ist. Der Computer schl„gt auch mal
1849 REM den Ball diagonal oder geradeaus. Spielt fair und normal!
1850 REM Den Computermodus erreicht man mit Pfeil-Oben Taste und š - Taste.
1851 REM Pfeil-Oben Taste und ™ - Taste. dr?cken ist der Zweispielermodus.
1852 REM Man kann erneut wie zu Beginn die Spielernamen eingeben.
1853 REM
1854 REM Ausbaustufe 13 behebt den Fehler der ensteht wenn die Farbe
1855 REM von Gr?n/Weiá auf Schwarz/Weiá automatisch zur?ckgesetzt wird
1856 REM nachdem der Ball erneut aufgeschlagen wird.
1857 REM Dann bleibt auch die Farbe auf der sie zuletzt
1858 REM eingestellt worden ist.
1859 REM
1860 REM Mit Ausbaustufe 14 kann die Spieldauer festgelegt werden.
1861 REM Diese wird nach den Spielernamen festgelegt und auf dem Bildschirm
1862 REM angezeigt. Wird die Zahl mit der Punktezahl erreicht
1863 REM oder ?berschritten, ist das Spiel somit beendet.
1864 REM
1865 REM Jetzt gibt es Ausbaustufe 15 mit folgendem Inhalt:
1866 REM In der Version 15 von Tennis l„át sich jetzt die Punktetafel
1867 REM TENN20.DAT l”schen. Mit der Taste Ž und Pfeil Taste ist dies m”glich.
1868 REM Man wird vorher gefragt ob man sie wirklich l”schen m”chte.
1869 REM Eingabe "Ja oder Nein" (jJ/nN)!!!
1870 REM
1871 REM Toll ist die Ausbaustufe 16 mit der Bedienungsanleitung im Spiel.
1872 REM Diese erreicht man ?ber Taste Ž. Eingabe von 1 und Anzeige erfolgt.
1873 REM
1874 REM HUI! Was ist das? Das ist die Ausbaustufe 17?!
1875 REM Mit der Version 17 kann man die Spielst„rke des PCs einstellen!!!
1876 REM Ist doch toll oder? Ja gleich am Start von Tennis geht das!
1877 REM
1878 REM Hey! Super! Hier ist Tennis in Version 18!!!
1879 REM Bessere Spielst„rke des PCs ist programmiert worden!
1880 REM Das ist Tennis 18!!!
1890 REM
1891 REM Boah! Tennis in Version 19! Und was ist anders?
1892 REM Ein zweiter Cheatmodus ist vorhanden!
1893 REM
1894 REM Juhu! Tennis gibt es jetzt in Version 20. Jetzt kann PC - PC spielen.
1895 REM Der PC w„hlt Geschwindigkeit und Farbe selber aus!
1896 REM    *****************************************************
1897 REM !!!ICH WšNSCHE EUCH SONST VIEL SPASS BEIM TENNIS SPIELEN!!!
1898 REM    *****************************************************
1899 REM *******************************************************************
1900 OPEN "A", #1, "TENN20.DAT"
     CLOSE #1
     COLOR 15, 2
     CLS
     COLOR 15, 2
PRINT "      ********   ******   ****    **   ****    **   **   *******"
PRINT "     ********   ******   ****    **   ****    **   **   *******"
PRINT "       **      **       ** **   **   ** **   **   **   **"
PRINT "      **      **       ** **   **   ** **   **   **   **"
PRINT "     **      ******   **  **  **   **  **  **   **   *******"
PRINT "    **      ******   **  **  **   **  **  **   **   *******"
PRINT "   **      **       **   ** **   **   ** **   **        **"
PRINT "  **      **       **   ** **   **   ** **   **        **"
PRINT " **      ******   **    ****   **    ****   **   *******"
PRINT "**     ******   **    ****   **    ****   **   *******"
PRINT
PRINT
PRINT
INPUT "Weiter mit <RETURN>-Taste!", TNC
CLS
 LOCATE 1, 1
 PRINT
 PRINT
 PRINT
 PRINT
 PRINT "                      *****                               "
 PRINT "                     *  #  *                              "
 PRINT "                    *  # # #*                             "
 PRINT "                   *  #   #  *                            "
 PRINT "                  *  # # # # #*                           "
 PRINT "                  * #   #   #  *                          "
 PRINT "                  *# # # # # # *                          "
 PRINT "                  *   #   #   #*                          "
 PRINT "                  *# # # # # # *                          "
 PRINT "                  * #   #   #  *                          "
 PRINT "                   **# # # #  *                           "
 PRINT "                  ****#   #  *                            "
 PRINT "                 ***** # #  *                             "
 PRINT "                *****  *****                              "
 PRINT "               *****              ##                      "
 PRINT "              *****              ####                     "
 PRINT "             *****               ####                     "
 PRINT "            *****                 ##                      "
 PRINT "           *****                                          "
 PRINT "            ***                                           "
 PRINT "             *                                            "
 PRINT
 PRINT
 SLEEP 8
 CLS
1958 LOCATE 2, 1
1959 PRINT "                Tennis-Computerspiel"
1960 PRINT "                ===================="
     PRINT
1961 OPEN "I", #1, "TENN20.DAT"
1962 PRINT "SPIELER 1      PUNKTE       SPIELER 2      PUNKTE        SCHWIERIGKEITSGRAD"
1963 IF EOF(1) THEN 1968
1964 INPUT #1, TD1$
     INPUT #1, TD2
     INPUT #1, TD3$
     INPUT #1, TD4
     INPUT #1, TD5
1966 PRINT TD1$, TD2, TD3$, TD4, TD5
1967 GOTO 1963
1968 CLOSE #1
1969 PRINT "SPIELER 1      PUNKTE       SPIELER 2      PUNKTE        SCHWIERIGKEITSGRAD"
1970 PRINT
1971 INPUT "Bitte Spiel mit <RETURN>-Taste fortsetzen", TNC
     PRINT
1972 CLS
     PRINT "Geben sie bitte den Spielernamen 1 ein!"
1973 INPUT NAME1$
     IF NAME1$ = "" THEN NAME1$ = "Spieler 1"
     PRINT
     PRINT "Geben sie bitte den Spielernamen 2 ein!"
1974 INPUT NAME2$
     IF NAME2$ = "" THEN NAME2$ = "Spieler 2"
     GOTO 1976
1975 CLS
     PRINT
     PRINT "Unter 15 Punkte geht leider nicht! Wir bitten sie um ihr Verst„ndnis!"
     SLEEP 4
     CLS
1976 PRINT
     PRINT
     PRINT "Bis wieviel Punkte wird gespielt?"
     INPUT PUNKTE
     IF PUNKTE < 15 THEN 1975 ELSE 1977
1977 PRINT
     PRINT
     PRINT "Welchen Schwierigkeitsgrad nehmen sie?"
     PRINT
     PRINT "Leicht = 1                   Zweispielermodus = 1            Leicht/Mittel = 2"
     PRINT "Mittel = 3                   Mittel/Schwer = 4               Schwer = 5"
     PRINT "Schwer/Keine Chance = 6      Keine Chance = 7"
     PRINT
     INPUT SCHWERGRAD
1978 IF SCHWERGRAD = 1 THEN 1991 ELSE 1979
1979 IF SCHWERGRAD = 2 THEN 1992 ELSE 1980
1980 IF SCHWERGRAD = 3 THEN 1993 ELSE 1981
1981 IF SCHWERGRAD = 4 THEN 1994 ELSE 1982
1982 IF SCHWERGRAD = 5 THEN 1995 ELSE 1983
1983 IF SCHWERGRAD = 6 THEN 1996 ELSE 1984
1984 IF SCHWERGRAD = 7 THEN 1997 ELSE CLS : GOTO 1977
1991 LEICHT = 1
     KMH = 1
     PCOM = 14
     CLS
     PRINT
     PRINT "Der Zweispielermodus ist aufgerufen worden!"
     PRINT "Man kann trotzdem gegen den Computer in der leichtesten Stufe spielen!"
     SLEEP 4
     GOTO 2050
1992 LEICHT = 2
     KMH = 2
     PCOM = 12
     PPCOM = 12
     CLS
     PRINT
     PRINT "Naja! Wenigstens gibt es ja zum Gl?ck 7 Spielstufen"
     PRINT "Es w„re sonst f?r mich zu langweilig!"
     SLEEP 7
     GOTO 2050
     REM *******************************************************************
1993 LEICHT = 2
     KMH = 3
     PCOM = 12
     PPCOM = 12
     CLS
     PRINT
     PRINT "Mann da h„ttest du gleich Stufe 2 nehmen k”nnen!"
     PRINT "Aber ich spiele schon ein bisschen schwieriger! Oder etwa nicht?"
     SLEEP 7
     GOTO 2050
1994 LEICHT = 2
     KMH = 4
     PCOM = 12
     PPCOM = 12
     CLS
     PRINT
     PRINT "Mir w„re es lieber es w„re schon eine Stufe schwerer als Mittel/Schwer! Gerade"
     PRINT "noch so und du h„ttest auf Fehler von mir warten k”nnen bis du Schwarz bist!"
     SLEEP 14
     GOTO 2050
1995 LEICHT = 2
     KMH = 5
     PCOM = 12
     PPCOM = 12
     CLS
     PRINT
     PRINT "F?nf und schon 50 in der Geschwindigkeit? Nee noch nicht!"
     PRINT "Streng dich an ich bin nicht ganz so einfach zu besiegen!"
     SLEEP 8
     GOTO 2050
1996 LEICHT = 2
     KMH = 6
     PCOM = 12
     PPCOM = 12
     CLS
     PRINT
     PRINT "Stufe Sechs und du bist nach ein paar Runden h„ulend wechs (weg)!"
     PRINT "Bin aber noch zu besiegen!"
     SLEEP 8
     GOTO 2050
1997 LEICHT = 2
     KMH = 7
     PCOM = 12
     PPCOM = 12
     CLS
     PRINT
     PRINT "HE! HE! HE!"
     PRINT "Jetzt bin ich unbesiegbar!!!"
     SLEEP 4
     REM *******************************************************************
2050 CLS
2052 REM
2054 REM *******************************************************************
2056 REM    Deklaration der Variablen
2058 DEFINT I
2060 DEFSTR C
2100 REM
2120 REM Initialisierung der Variablen
2200 C1$ = CHR$(218)
2210 C2$ = CHR$(191)
2220 C3$ = CHR$(192)
2230 C4$ = CHR$(217)
2240 C5$ = CHR$(196)
2250 C6$ = CHR$(205)
2260 C7$ = CHR$(179)
2270 C8$ = CHR$(32)
2280 C9$ = CHR$(219)
2300 CST1$ = STRING$(39, C5$)
2310 CST2$ = STRING$(39, C8$)
2320 CST3$ = STRING$(11, C6$)
2330 CST4$ = STRING$(15, C8$)
2340 CST5$ = STRING$(13, C8$)
2400 ISX1 = 29
2410 ISX2 = 31
2420 ISY1 = 5
2430 ISY2 = 19
2500 IDX1 = 0
2530 IDX2 = 0
2600 IBF = 0
2610 ICN = 1
2620 ICM = 1
2630 IPK1 = 0
2674 IPK2 = 0
2675 PC = 1
2676 IF PCOM = 12 THEN 2678 ELSE 2677
2677 PCOM = 0
     GOTO 2679
2678 PCOM = 1
2679 FFAARRBBEE = 0
2680 DPU = 1
2681 EP = 0
2682 PPC = 0
2684 IDXPC = 0
2685 PPPC = 0
2686 ZZZZ = 0
2688 ZZ = 0
2689 WEITER = 0
2690 WEITERR = 0
2691 XXX = 0
2692 GGE = 0
2693 PCPC = 0
3000 REM
3010 REM **********************************************************
3020 REM    Initialisierung des Bildschirms
3021 IF FFAARRBBEE = 1 THEN 3022 ELSE 3024
3022 COLOR 15, 0
     CLS
     COLOR 15, 2
     GOTO 3114
3024 IF FFAARRBBEE = 2 THEN 3026 ELSE 3080
3026 COLOR 19, 3
     CLS
     COLOR 17, 2
     GOTO 3114
3080 COLOR 13, 8
3100 CLS
3110 COLOR 15, 0
     IF PCOM = 0 THEN PCOM = 2
     IF PCOM = 3 THEN PCOM = 1
3114 LOCATE 2, 16
3120 PRINT C1$ + CST1$ + C2$
3130 FOR IY = 1 TO 19
3134 IY1 = IY + 2
3136 LOCATE IY1, 16
3140 PRINT C7$ + CST2$ + C7$
3150 NEXT IY
3156 LOCATE 22, 16
3160 PRINT C3$ + CST1$ + C4$
3180 LOCATE 12, 20
3190 PRINT "-   -   -   -   -   -   -   -   -  "
IF PCPC = 1 THEN 3591 ELSE 3191
3191 IF FFAARRBBEE = 1 THEN 3192 ELSE 3194
3192 COLOR 4, 0
3193 GOTO 3220
3194 IF FFAARRBBEE = 2 THEN 3200
3200 COLOR 15, 0
3220 IFX = 60
3300 LOCATE 2, IFX
3310 PRINT "Funktion        Taste"
3320 LOCATE 3, IFX
     IF PCOM = 1 THEN 3330 ELSE 3332
3330 LOCATE 3, IFX
     PRINT "Schl„ger 1       - - "
3332 IF PCOM = 2 THEN 3333 ELSE 3334
3333 LOCATE 3, IFX
     PRINT "Schl„ger 1       Q W "
3334 IF PCOM = 1 THEN 3340 ELSE 3352
3340 LOCATE 4, IFX
3350 PRINT "bewegen          - - "
3352 IF PCOM = 2 THEN 3354 ELSE 3360
3354 LOCATE 4, IFX
     PRINT "bewegen          E R "
3360 LOCATE 5, IFX
3370 PRINT "Aufschlag         A  "
     IF PCOM = 1 THEN 3380 ELSE 3391
3380 LOCATE 6, IFX
3390 PRINT "Diag. Schl.    - - - "
3391 IF PCOM = 2 THEN 3392 ELSE 3400
3392 LOCATE 6, IFX
     PRINT "Diag. Schl.    S D F "
3400 LOCATE 7, IFX
3410 PRINT "Schlagst„rke     V B "
3420 LOCATE 8, IFX
3430 PRINT "Spielende         T  "
3440 LOCATE 9, IFX
3450 PRINT "Schlagst„rke     V B "
3500 LOCATE 10, IFX
3510 PRINT "Diag. Schl.    H J K "
3520 LOCATE 11, IFX
3530 PRINT "Aufschlag         L  "
3540 LOCATE 12, IFX
3550 PRINT "Schl„ger 2       U I "
3560 LOCATE 13, IFX
3570 PRINT "bewegen          O P "
3571 LOCATE 14, IFX
3572 PRINT "FARBE:               "
3573 LOCATE 15, IFX
3574 PRINT "Schwarz-Weiá      X  "
3575 LOCATE 16, IFX
3576 PRINT "Gr?n-Weiá         C  "
3577 LOCATE 17, IFX
3578 PRINT "Gr?n-Blau         Y  "
3579 LOCATE 18, IFX
3580 PRINT "Punkte 0          Z  "
     LOCATE 19, IFX
     PRINT "                     "
3581 LOCATE 19, IFX
3582 PRINT "CHEAT"; " "; NAME1$; " "
     LOCATE 19, 78
     PRINT "?"
     LOCATE 20, IFX
     PRINT "                     "
3583 LOCATE 20, IFX
     PRINT "CHEAT"; " "; NAME2$; " "
3584 LOCATE 20, 78
     PRINT "?"
3585 LOCATE 21, IFX
3586 PRINT "Geschwindigkeit      "
3587 LOCATE 22, IFX
3588 PRINT "des Balles        G  "
3589 LOCATE 23, IFX
3590 PRINT "Funktion        Taste"
3591 IF FFAARRBBEE = 1 THEN 3592 ELSE 3594
3592 COLOR 15, 2
3593 GOTO 3800
3594 IF FFAARRBBEE = 2 THEN 3595 ELSE 3800
3595 COLOR 17, 2
3596 GOTO 3800
3600 COLOR 15, 0
3800 LOCATE 4, 1
3802 PRINT NAME1$
3810 PRINT "Punkte: "
3820 LOCATE 6, 1
3830 PRINT "        "
3840 LOCATE 6, 1
3850 PRINT IPK1
     LOCATE 8, 1
     PRINT " SPIELENDE:"
     PRINT PUNKTE; " "; "PUNKTE"
3860 LOCATE 18, 1
3870 PRINT "        "
3880 LOCATE 18, 1
3890 PRINT IPK2
3900 LOCATE 19, 1
3910 PRINT "Punkte: "
3912 PRINT NAME2$
3913 IF PCPC = 1 THEN 3914 ELSE 3952
3914 LOCATE 2, IFX
3915 PRINT "                     "
LOCATE 3, IFX
PRINT "                    "
LOCATE 4, IFX
PRINT "                    "
LOCATE 5, IFX
PRINT "                    "
LOCATE 6, IFX
PRINT "                    "
LOCATE 7, IFX
PRINT "                    "
LOCATE 8, IFX
PRINT "                    "
LOCATE 9, IFX
PRINT "                    "
LOCATE 10, IFX
PRINT "                    "
LOCATE 11, IFX
PRINT "                    "
LOCATE 12, IFX
PRINT "                    "
LOCATE 13, IFX
PRINT "                    "
LOCATE 14, IFX
PRINT "                    "
LOCATE 15, IFX
PRINT "                    "
LOCATE 16, IFX
PRINT "                    "
LOCATE 17, IFX
PRINT "                    "
LOCATE 18, IFX
PRINT "                    "
LOCATE 19, IFX
PRINT "                    "
LOCATE 20, IFX
PRINT "                    "
LOCATE 21, IFX
PRINT "                    "
LOCATE 22, IFX
PRINT "                    "
LOCATE 23, IFX
PRINT "                    "
LOCATE 24, IFX
PRINT "                    "
3952 IF PPCOM = 12 THEN 3953
     IF PCOM = 2 THEN PCOM = 0
     IF PCOM = 1 THEN PCOM = 3
3953 IF LEICHT = 2 THEN PPC = 1
3954 IF KMH = 3 THEN 3955 ELSE 3956
3955 ICM = 580: GOTO 4000
3956 IF KMH = 4 THEN 3957 ELSE 3958
3957 ICM = 400: GOTO 4000
3958 IF KMH = 5 THEN 3959 ELSE 3960
3959 ICM = 200: GOTO 4000
3960 IF KMH = 6 THEN 3961 ELSE 3962
3961 ICM = 120: GOTO 4000
3962 IF KMH = 7 THEN 3963 ELSE 4000
3963 ICM = 50: GOTO 4000
4000 REM
4010 REM *******************************************************************
4020 REM     Spielbeginn und Tastaturabfrage
4100 IC1 = -1
4110 WHILE IC1
4112 RANDOMIZE TIMER
4113 GGE = 0
4114 PC = INT(RND * (6 - 3))
4115 PCP = INT(RND * (3) + 3)
4116 ZUFALLSZAHL = INT(RND * (6 - 3))
4117 ZUFALLSZAHLL = INT(RND * (8) + 1)
4200 CC$ = INKEY$
4300 IF CC$ = "" THEN 4400
4310 ICI = ASC(CC$)
4320 ICI = ICI AND &HDF: REM Kleine = groáe Buchstaben
4330 CC$ = CHR$(ICI)
4400 IF CC$ = "T" THEN IC1 = 0: REM Spielende Abbruchbedingung
4500 IF CC$ = "C" AND XXX <> 1 THEN 13010
4600 IF CC$ = "X" AND XXX <> 1 THEN 23010
4700 IF CC$ = "N" THEN 50000
4800 IF CC$ = "Y" AND XXX <> 1 THEN 33010
4900 IF CC$ = "M" THEN 60000
4950 IF CC$ = "Z" THEN 65000
4955 IF KMH > 2 THEN 4980 ELSE 4960
4960 IF CC$ = "G" THEN GOTO 90000
4980 IF CC$ = "™" AND SCHWERGRAD < 2 THEN PRINT PCOM: PCOM = 2
4970 IF CC$ = "š" AND XXX <> 1 THEN GOTO 70000
4981 IF CC$ = "Ž" THEN GOTO 80000
4982 REM ********************************************************************
4984 REM Computername wird eingegeben!
4986 REM
4988 IF PCOM = 1 AND DPU <> 2 THEN 4989 ELSE 4998
4989 NAME1$ = "COMPUTER": DPU = 2
4990 LOCATE 4, 1
4991 PRINT "          "
     LOCATE 4, 1
     PRINT NAME1$
     LOCATE 5, 18
     PRINT "                                     "
     IF FFAARRBBEE = 1 THEN 4992 ELSE 4993
4992 COLOR 4, 0
     GOTO 4997
4993 IF FFAARRBBEE = 2 THEN 4994 ELSE 4994
4994 COLOR 15, 0
     GOTO 4997
4995 IF FFAARRBBEE = 3 THEN 4996 ELSE 4997
4996 COLOR 17, 2
4997 LOCATE 19, IFX
     PRINT "CHEAT"; " "; NAME1$; " "
     LOCATE 19, 78
     PRINT "?"
     LOCATE 3, IFX
     PRINT "Schl„ger 1       - - "
     LOCATE 4, IFX
     PRINT "bewegen          - - "
     LOCATE 6, IFX
     PRINT "Diag. Schl.    - - - "
     PCOM = 3
     DPU = 0
     EP = 1
     IF FFAARRBBEE = 0 THEN COLOR 15, 0
     IF FFAARRBBEE = 1 THEN COLOR 15, 2
     IF FFAARRBBEE = 2 THEN COLOR 17, 2
4998 IF PCOM = 2 THEN 4999 ELSE 5000
4999 CLS
     PRINT "Geben sie bitte den Spielernamen 1 ein!"
     INPUT NAME1$
     IF NAME1$ = "" THEN NAME1$ = "Spieler 1"
     PRINT
     PRINT "Geben sie bitte den Spielernamen 2 ein!"
     INPUT NAME2$
     IF NAME2$ = "" THEN NAME2$ = "Spieler 2"
     IF FFAARRBBEE = 1 THEN COLOR 15, 2
     IF FFAARRBBEE = 0 THEN COLOR 15, 0
     IF FFAARRBBEE = 2 THEN COLOR 17, 2
     PCOM = 0
     EP = 0
     GOTO 3010
     REM ********************************************************************
5000 REM
5010 REM ********************************************************************
5020 REM Horizontalbewegung der Tennisschl„ger
5030 IF EP = 1 THEN 5060 ELSE 5100
5060 ISX1 = -IBX + 6
5080 ISX1 = IBX - 6
IF PPPC = 1 THEN 5081 ELSE 5120
5081 ISX2 = -IBX + 6
     ISX2 = IBX - 6
5082 GOTO 5200
5100 IF CC$ = "Q" THEN ISX1 = ISX1 - 1
5110 IF CC$ = "W" THEN ISX1 = ISX1 + 1
5120 IF CC$ = "O" THEN ISX2 = ISX2 - 1
5130 IF CC$ = "P" THEN ISX2 = ISX2 + 1
5200 IF ISX1 < 17 THEN ISX1 = 17
5210 IF ISX1 > 43 THEN ISX1 = 43
5220 IF ISX2 < 17 THEN ISX2 = 17
5230 IF ISX2 > 43 THEN ISX2 = 43
6000 REM
6010 REM ********************************************************************
6020 REM    Vertikalbewegung der Tennisschl„ger
6160 IF SCHWERGRAD > 1 THEN 6400 ELSE 6200
6200 IF CC$ = "E" THEN 6210 ELSE 6300
6210 LOCATE ISY1, ISX1
6220 PRINT CST5$
6230 ISY1 = ISY1 - 2
6300 IF CC$ = "R" THEN 6310 ELSE 6400
6310 LOCATE ISY1, ISX1
6320 PRINT CST5$
6330 ISY1 = ISY1 + 2
6400 IF CC$ = "U" THEN 6410 ELSE 6500
6410 LOCATE ISY2, ISX2
6420 PRINT CST5$
6430 ISY2 = ISY2 - 1
6500 IF CC$ = "I" THEN 6510 ELSE 6600
6510 LOCATE ISY2, ISX2
6520 PRINT CST5$
6530 ISY2 = ISY2 + 1
6600 IF ISY1 < 4 THEN ISY1 = 4
6610 IF ISY1 > 10 THEN ISY1 = 10
6620 IF ISY2 < 14 THEN ISY2 = 14
6630 IF ISY2 > 20 THEN ISY2 = 20
6700 LOCATE ISY1, ISX1
6710 PRINT C8$ + CST3$ + C8$
6720 LOCATE ISY2, ISX2
6730 PRINT C8$ + CST3$ + C8$
6732 IF PPPC = 1 THEN ZZZZ = 1
7000 REM
7010 REM ********************************************************************
7020 REM    Aufschlag und Schlagrichtung des Balls
7040 IF PPPC = 1 AND ZZZZ = 1 AND IBF = 0 THEN ZZZZ = 2: GOTO 7110 ELSE 7100
7100 IF IBF = 0 AND PPC = 0 AND CC$ = "A" THEN 7110 ELSE 7200
7110 IBF = 1
7120 IBX = ISX1 + 6
7130 IBY = ISY1 + 1
7140 IDX = 0
7150 IDY = 1
7160 IDX1 = 0
7162 IF PPPC = 1 AND ZZZZ = 2 AND IBF = 0 THEN ZZZZ = 1: GOTO 7204 ELSE 7200
7200 IF IBF = 0 AND CC$ = "L" THEN 7204 ELSE 7300
7204 CLS
     IF FFAARRBBEE = 1 THEN 7205 ELSE 7206
7205 COLOR 15, 0
     CLS
     COLOR 15, 2
     GOTO 7209
7206 IF FFAARRBBEE = 2 THEN 7207 ELSE 7208
7207 COLOR 19, 3
     CLS
     COLOR 17, 2
     GOTO 7209
7208 COLOR 13, 8
     CLS
     COLOR 15, 0
7209
 LOCATE 2, 16
 PRINT C1$ + CST1$ + C2$
 FOR IY = 1 TO 19
 IY1 = IY + 2
 LOCATE IY1, 16
 PRINT C7$ + CST2$ + C7$
 NEXT IY
 LOCATE 22, 16
 PRINT C3$ + CST1$ + C4$
 LOCATE 12, 20
 PRINT "-   -   -   -   -   -   -   -   -  "
 IF PCPC = 1 THEN STOP: GOTO 80 ELSE 70
70 IF FFAARRBBEE = 1 THEN 7210 ELSE 7211
7210
 COLOR 4, 0
 GOTO 7212
7211
 COLOR 15, 0
7212
 IFX = 60
 IF PCOM = 3 THEN PCOM = 1
 IF PCOM = 0 THEN PCOM = 2
 LOCATE 2, IFX
 PRINT "Funktion        Taste"
 IF PCOM = 1 THEN 7213 ELSE 7214
7213 LOCATE 3, IFX
 PRINT "Schl„ger 1       - - "
7214 IF PCOM = 2 THEN 7215 ELSE 7216
7215 LOCATE 3, IFX
 PRINT "Schl„ger 1       Q W "
7216 IF PCOM = 1 THEN 7217 ELSE 7218
7217 LOCATE 4, IFX
     PRINT "bewegen          - - ": REM BIS 7223 GEHT DIE ZEILENNUMMER
     GOTO 7219
7218 LOCATE 4, IFX
     PRINT "bewegen          E R "
7219 LOCATE 5, IFX
     PRINT "Aufschlag         A  "
     IF PCOM = 1 THEN 7220 ELSE 7221
7220 LOCATE 6, IFX
     PRINT "Diag. Schl.    - - - "
     GOTO 7222
7221 LOCATE 6, IFX
     PRINT "Diag. Schl.    S D F "
7222 LOCATE 7, IFX
 PRINT "Schlagst„rke     V B "
 LOCATE 8, IFX
 PRINT "Spielende         T  "
 LOCATE 9, IFX
 PRINT "Schlagst„rke     V B "
 LOCATE 10, IFX
 PRINT "Diag. Schl.    H J K "
 LOCATE 11, IFX
 PRINT "Aufschlag         L  "
 LOCATE 12, IFX
 PRINT "Schl„ger 2       U I "
 LOCATE 13, IFX
 PRINT "bewegen          O P "
 LOCATE 14, IFX
 PRINT "FARBE:               "
 LOCATE 15, IFX
 PRINT "Schwarz-Weiá      X  "
 LOCATE 16, IFX
 PRINT "Gr?n-Weiá         C  "
 LOCATE 17, IFX
 PRINT "Gr?n-Blau         Y  "
 LOCATE 18, IFX
 PRINT "Punkte 0          Z  "
 LOCATE 19, IFX
 PRINT "                     "
 LOCATE 19, IFX
 PRINT "CHEAT"; " "; NAME1$; " "
 LOCATE 19, 78
 PRINT "?"
 LOCATE 20, IFX
 PRINT "                     "
 LOCATE 20, IFX
 PRINT "CHEAT"; " "; NAME2$; " "
 LOCATE 20, 78
 PRINT "?"
 LOCATE 21, IFX
 PRINT "Geschwindigkeit      "
 LOCATE 22, IFX
 PRINT "des Balles        G  "
 LOCATE 23, IFX
 PRINT "Funktion        Taste"
80 IF PCOM = 1 THEN PCOM = 3
 IF PCOM = 2 THEN PCOM = 0
 IF FFAARRBBEE = 1 THEN 7223 ELSE 7224
7223 COLOR 15, 2
 GOTO 7227
7224 IF FFAARRBBEE = 2 THEN 7225 ELSE 7226
7225 COLOR 17, 2
     GOTO 7227
7226
 COLOR 15, 0
7227
 LOCATE 4, 1
 PRINT NAME1$
 LOCATE 5, 1
 PRINT "Punkte: "
 LOCATE 6, 1
 PRINT "        "
 LOCATE 6, 1
 PRINT IPK1
 LOCATE 8, 1
 PRINT " SPIELENDE:"
 PRINT PUNKTE; " "; "PUNKTE"
 LOCATE 18, 1
 PRINT "        "
 LOCATE 18, 1
 PRINT IPK2
 LOCATE 19, 1
 PRINT "Punkte: "
 PRINT NAME2$
IF PCPC = 1 THEN 4914 ELSE 7228
4914 LOCATE 2, IFX
4915 PRINT "                     "
LOCATE 3, IFX
PRINT "                    "
LOCATE 4, IFX
PRINT "                    "
LOCATE 5, IFX
PRINT "                    "
LOCATE 6, IFX
PRINT "                    "
LOCATE 7, IFX
PRINT "                    "
LOCATE 8, IFX
PRINT "                    "
LOCATE 9, IFX
PRINT "                    "
LOCATE 10, IFX
PRINT "                    "
LOCATE 11, IFX
PRINT "                    "
LOCATE 12, IFX
PRINT "                    "
LOCATE 13, IFX
PRINT "                    "
LOCATE 14, IFX
PRINT "                    "
LOCATE 15, IFX
PRINT "                    "
LOCATE 16, IFX
PRINT "                    "
LOCATE 17, IFX
PRINT "                    "
LOCATE 18, IFX
PRINT "                    "
LOCATE 19, IFX
PRINT "                    "
LOCATE 20, IFX
PRINT "                    "
LOCATE 21, IFX
PRINT "                    "
LOCATE 22, IFX
PRINT "                    "
LOCATE 23, IFX
PRINT "                    "
LOCATE 24, IFX
PRINT "                    "
7228 IBF = 2
7229 IBX = ISX2 + 6
7230 IBY = ISY2 - 1
7240 IDX = 0
7244 IDY = -1
7254 IF PPPC = 1 THEN 7303 ELSE 7260
7260 IDX2 = 0
7300 IF EP = 1 THEN 7301 ELSE 7310
7301 IF IDXPC = 1 THEN 7303 ELSE 7302
7302 IF LEICHT = 2 THEN 7307 ELSE 7308
7303 IF PC = 0 THEN IDX1 = 0
7304 IF PC = 1 THEN IDX1 = -1
7306 IF PC = 2 THEN IDX1 = 1
IF PPPC = 1 THEN 7305 ELSE 7308
7305 IF WEITERR = 0 THEN 7256 ELSE 7257
7256 IF ZUFALLSZAHL = 0 THEN FFAARRBBEE = 1: GGE = 1: WEITERR = 1: GOSUB 13010
    IF ZUFALLSZAHL = 1 THEN FFAARRBBEE = 2: GGE = 1: WEITERR = 1: GOSUB 23010
    IF ZUFALLSZAHL = 2 THEN FFAARRBBEE = 3: GGE = 1: WEITERR = 1: GOSUB 33010
7257 IF ZZ = 1 THEN 7253 ELSE 7245
7253 LOCATE 19, 18
     PRINT "                         ": ZZ = 0
7245 NAME2$ = "COMPUTER "
     IF FFAARRBBEE = 1 THEN 7246 ELSE 7247
7246 COLOR 4, 0
     GOTO 7250
7247 IF FFAARRBBEE = 2 THEN 7248 ELSE 7249
7248 COLOR 15, 0
     GOTO 7250
7249 COLOR 15, 0: REM Farbe SCHWARZ, WEIá
7250 IF PCPC = 0 THEN LOCATE 20, IFX
     IF PCPC = 0 THEN PRINT "CHEAT"; " "; NAME2$; " "
    IF FFAARRBBEE = 2 THEN COLOR 17, 2: REM Farbe GRšN, BLAU
    IF FFAARRBBEE = 1 THEN COLOR 15, 2: REM Farbe GRšN, WEIá
    IF FFAARRBBEE <> 1 AND FFAARRBBEE <> 2 AND PCPC = 0 THEN COLOR 15, 0: REM Farbe SCHWARZ, WEIá
    LOCATE 20, 1
    PRINT NAME2$
    IF WEITER = 0 THEN 7251 ELSE 7252
7251 IF ZUFALLSZAHLL = 1 THEN ICM = 10: WEITER = 1
     IF ZUFALLSZAHLL = 2 THEN ICM = 20: WEITER = 1
     IF ZUFALLSZAHLL = 3 THEN ICM = 30: WEITER = 1
     IF ZUFALLSZAHLL = 4 THEN ICM = 40: WEITER = 1
     IF ZUFALLSZAHLL = 5 THEN ICM = 50: WEITER = 1
     IF ZUFALLSZAHLL = 6 THEN ICM = 60: WEITER = 1
     IF ZUFALLSZAHLL = 7 THEN ICM = 70: WEITER = 1
     IF ZUFALLSZAHLL = 8 THEN ICM = 80: WEITER = 1
     SCHWERGRAD = 0
7252 IF PCP = 5 THEN IDX2 = 0
    IF PCP = 3 THEN IDX2 = -1
    IF PCP = 4 THEN IDX2 = 1
GOTO 7400
7307 IF CC$ = "H" THEN IDX1 = -1
     IF CC$ = "J" THEN IDX1 = 0
     IF CC$ = "K" THEN IDX1 = 1
     IF CC$ = "H" OR CC$ = "J" OR CC$ = "K" THEN IDXPC = 1
7308 GOTO 7330
7310 IF CC$ = "S" THEN IDX1 = -1
7320 IF CC$ = "D" THEN IDX1 = 0
7322 IF CC$ = "F" THEN IDX1 = 1
7330 IF CC$ = "H" THEN IDX2 = -1
7340 IF CC$ = "J" THEN IDX2 = 0
7350 IF CC$ = "K" THEN IDX2 = 1
     IF Mittel = 1 THEN 7352 ELSE 7400
7352 IF CC$ = "H" THEN IDX1 = -1
     IF CC$ = "J" THEN IDX1 = 0
     IF CC$ = "K" THEN IDX1 = 1
7400 IF KMH > 2 THEN 8000 ELSE 7401
7401 IF CC$ = "V" THEN ICM = ICM + 1
7405 IF ICM > 32766 THEN ICM = 32766
7410 IF CC$ = "B" THEN ICM = ICM - 1
7420 IF ICM = 0 OR ICM < 0 THEN ICM = 1
8000 REM
8010 REM ********************************************************************
8020 REM Bewegung und Darstellung des Balles
8022 IF ICC = 50 THEN 8062 ELSE 8030
8030 REM * * * * * * * * * * * * * * * *
8040 REM Anzeige der Ballgeschwindigkeit
8050 LOCATE 23, 1
8060 PRINT "Ballgeschwindigkeit: "; ICM
8061 GOTO 8070
8062 LOCATE 23, 1
8063 PRINT "Ballgeschwindigkeit: "; ICC
8070 REM * * * * * * * * * * * * * * * *
8072 LOCATE 23, 30
8074 PRINT "Schwierigkeitsgrad: "; SCHWERGRAD
8100 IF IBF = 0 THEN 9000 ELSE 8120
8120 ICN = ICN - 1
8130 IF ICN = 0 THEN 8140 ELSE 9000
8140 ICN = ICM
8200 REM
8210 REM L”schen des Balls an alter Position
8220 LOCATE IBY, IBX
8230 PRINT C8$
8250 REM
8260 REM Ball neu positionieren
8270 IBX = IBX + IDX
8280 IBY = IBY + IDY
8300 REM
8310 REM Reflexion des Balls am Schl„ger 1
8320 IF IBY = ISY1 + 1 THEN 8330 ELSE 8400
8330 IF IBX < ISX1 + 1 THEN 8400 ELSE 8340
8340 IF IBX > ISX1 + 11 THEN 8400 ELSE 8350
8350 IDY = -IDY
8360 IDX = IDX1
8370 PLAY "L64N42"
8380 PLAY "P64"
     IF LEICHT = 3 THEN 8382 ELSE 8400
8382 IF CC$ = "H" THEN IDX1 = -1
     IF CC$ = "J" THEN IDX1 = 0
     IF CC$ = "K" THEN IDX1 = 1
     Mittel = 1
     GOTO 8401
8400 Mittel = 0
8401 REM
8410 REM Reflexion des Balls am Schl„ger 2
8420 IF IBY = ISY2 - 1 THEN 8430 ELSE 8500
8430 IF IBX < ISX2 + 1 THEN 8500 ELSE 8440
8440 IF IBX > ISX2 + 11 THEN 8500 ELSE 8450
8450 IDY = -IDY
8460 IDX = IDX2
8470 PLAY "L64N42"
8480 PLAY "P64"
8500 REM
8510 REM Test ob Ball das Netz ber?hrt
8520 IBXR = IBX
8530 IBXR = IBXR MOD 4
8540 IF ((IBXR = 0) AND (IBY = 12)) THEN 8550 ELSE 8600
8550 IBF = 0
8560 IF IDY = -1 THEN IPK2 = IPK2 - 1
8562 IF PCOM = 3 THEN 8563 ELSE 8580
8563 IF IDY = 1 THEN IPK1 = IPK1 + 15
8564 GOTO 8590
8580 IF IDY = 1 THEN IPK1 = IPK1 - 1
8590 LOCATE 6, 1
8592 PRINT IPK1
8594 LOCATE 18, 1
8596 PRINT IPK2
8600 REM
8610 REM Test ob Ball das Spielfeld verl„át
8620 IF IBX = 17 THEN GOTO 8660 ELSE 8630
8630 IF IBX = 56 THEN GOTO 8660 ELSE 8640
8640 IF IBY = 3 THEN 8660 ELSE 8650
8650 IF IBY = 21 THEN 8660 ELSE 8800
8660 IBF = 0
8700 IF IDY = -1 THEN IPK2 = IPK2 + 15
8710 IF IDY = 1 THEN IPK1 = IPK1 + 15
8720 LOCATE 6, 1
8730 PRINT IPK1
8740 LOCATE 18, 1
8750 PRINT IPK2
8800 REM
8810 REM Ball an neuer Position anzeigen
8820 IF IBF = 0 THEN 9000
8830 LOCATE IBY, IBX
8840 PRINT C9$
9000 REM
9020 IF IPK2 OR IPK1 >= PUNKTE THEN 9021 ELSE 9100
9021 LOCATE 25
     IF IPK1 >= PUNKTE THEN CLS : PRINT NAME1$; " "; "du hast gewonnen!": GOTO 9023 ELSE 9022
9022 IF IPK2 >= PUNKTE THEN CLS : PRINT NAME2$; " "; "du hast gewonnen!": GOTO 9023 ELSE 9100
9023 IF FFAARRBBEE = 0 THEN 9026 ELSE 9024: REM X  Schwarz Weiá
9024 IF FFAARRBBEE = 1 THEN 9027 ELSE 9025: REM C  Gr?n    Weiá
9025 IF FFAARRBBEE = 2 THEN 9028: REM           Y  Blau    Gr?n
9026 COLOR 31, 0
     PRINT
     PRINT "***   **   *   *  ***    ***  * *  ***  ***"
     PRINT "*    *  *  ** **  *      * *  * *  *    * *"
     PRINT "***  ****  * * *  **     * *  * *  **   ***"
     PRINT "* *  *  *  *   *  *      * *  * *  *    ** "
     PRINT "***  *  *  *   *  ***    ***   *   ***  * *"
     PRINT
     PRINT
     PRINT
     COLOR 15, 0
     PRINT "MIT <RETURN>-TASTEFORTSETZEN!"
     INPUT TNC
     GOTO 9088
9027 COLOR 31, 2
     PRINT
     PRINT "***   **   *   *  ***    ***  * *  ***  ***"
     PRINT "*    *  *  ** **  *      * *  * *  *    * *"
     PRINT "***  ****  * * *  **     * *  * *  **   ***"
     PRINT "* *  *  *  *   *  *      * *  * *  *    ** "
     PRINT "***  *  *  *   *  ***    ***   *   ***  * *"
     PRINT
     PRINT
     PRINT
     COLOR 15, 2
     PRINT "MIT <RETURN>-TASTE FORTSETZEN!"
     INPUT TNC
     GOTO 9088
9028 COLOR 31, 2
     PRINT
     PRINT "***   **   *   *  ***    ***  * *  ***  ***"
     PRINT "*    *  *  ** **  *      * *  * *  *    * *"
     PRINT "***  ****  * * *  **     * *  * *  **   ***"
     PRINT "* *  *  *  *   *  *      * *  * *  *    ** "
     PRINT "***  *  *  *   *  ***    ***   *   ***  * *"
     PRINT
     PRINT
     PRINT
     COLOR 15, 2
     PRINT "MIT <RETURN>-TASTE FORTSETZEN!"
     INPUT TNC
9088 IF TNC = 1 THEN 10000
9089 OPEN "A", #1, "TENN20.DAT"
9090 TD1$ = NAME1$
9091 TD2 = IPK1
9092 TD3$ = NAME2$
9093 TD4 = IPK2
     TD5 = SCHWERGRAD
9094 PRINT #1, TD1$
9095 PRINT #1, TD2
9096 PRINT #1, TD3$
9097 PRINT #1, TD4
     PRINT #1, TD5
9098 CLOSE #1
9099 CLS
     GOTO 1900
     REM ********************************************************************
     REM   Ende der Programmschleife und Spielende
9100 WEND
9189 OPEN "A", #1, "TENN20.DAT"
9190 TD1$ = NAME1$
9191 TD2 = IPK1
9192 TD3$ = NAME2$
9193 TD4 = IPK2
     TD5 = SCHWERGRAD
9194 PRINT #1, TD1$
9195 PRINT #1, TD2
9196 PRINT #1, TD3$
9197 PRINT #1, TD4
     PRINT #1, TD5
9198 CLOSE #1
9199 CLS
9300 LOCATE 23, 1
9310 PRINT "               Ende des Tennisspiels"
9400 END
13010 REM **********************************************************
13020 REM   Initialisierung des Bildschirms 1
      IF GGE = 1 THEN 13080 ELSE 13026
13026 LOCATE 11, 1
13028 PRINT "Sie ben”tigen"
      PRINT "das Password"
      PRINT "um die Farbe"
      PRINT "zu „ndern!"
13029 INPUT X$: IF X$ = "Larry" THEN 13080 ELSE END
13080 COLOR 15, 0
13100 CLS
13110 COLOR 15, 2
      IF PCOM = 3 THEN PCOM = 1
      IF PCOM = 0 THEN PCOM = 2
13111 FFAARRBBEE = 1
13114 LOCATE 2, 16
13120 PRINT C1$ + CST1$ + C2$
13130 FOR IY = 1 TO 19
13134 IY1 = IY + 2
13136 LOCATE IY1, 16
13140 PRINT C7$ + CST2$ + C7$
13150 NEXT IY
13156 LOCATE 22, 16
13160 PRINT C3$ + CST1$ + C4$
13180 LOCATE 12, 20
13190 PRINT "-   -   -   -   -   -   -   -   -  "
13191 IF PCPC = 1 THEN 13600 ELSE 13200
13200 COLOR 4, 0
13220 IFX = 60
13300 LOCATE 2, IFX
13310 PRINT "Funktion        Taste"
13320 LOCATE 3, IFX
      IF PCOM = 1 THEN 13330 ELSE 13332
13330 LOCATE 3, IFX
      PRINT "Schl„ger 1       - - "
13332 IF PCOM = 2 THEN 13333 ELSE 13334
13333 LOCATE 3, IFX
      PRINT "Schl„ger 1       Q W "
13334 IF PCOM = 1 THEN 13340 ELSE 13352
13340 LOCATE 4, IFX
13350 PRINT "bewegen          - - "
13352 IF PCOM = 2 THEN 13354 ELSE 13360
13354 LOCATE 4, IFX
      PRINT "bewegen          E R "
13360 LOCATE 5, IFX
13370 PRINT "Aufschlag         A  "
      IF PCOM = 1 THEN 13380 ELSE 13392
13380 LOCATE 6, IFX
13390 PRINT "Diag. Schl.    - - - "
13391 IF PCOM = 2 THEN 13392 ELSE 13400
13392 LOCATE 6, IFX
      PRINT "Diag. Schl.    S D F "
13400 LOCATE 7, IFX
13410 PRINT "Schlagst„rke     V B "
13420 LOCATE 8, IFX
13430 PRINT "Spielende         T  "
13440 LOCATE 9, IFX
13450 PRINT "Schlagst„rke     V B "
13500 LOCATE 10, IFX
13510 PRINT "Diag. Schl.    H J K "
13520 LOCATE 11, IFX
13530 PRINT "Aufschlag         L  "
13540 LOCATE 12, IFX
13550 PRINT "Schl„ger 2       U I "
13560 LOCATE 13, IFX
13570 PRINT "bewegen          O P "
13571 LOCATE 14, IFX
13572 PRINT "FARBE:               "
13573 LOCATE 15, IFX
13574 PRINT "Schwarz-Weiá      X  "
13575 LOCATE 16, IFX
13576 PRINT "Gr?n-Weiá         C  "
13577 LOCATE 17, IFX
13578 PRINT "Gr?n-Blau         Y  "
13579 LOCATE 18, IFX
13580 PRINT "Punkte 0          Z  "
13581 LOCATE 19, IFX
13582 PRINT "CHEAT"; " "; NAME1$; " "
      LOCATE 19, 78
      PRINT "?"
13583 LOCATE 20, IFX
13584 PRINT "CHEAT"; " "; NAME2$; " "
      LOCATE 20, 78
      PRINT "?"
13585 LOCATE 21, IFX
13586 PRINT "Geschwindigkeit      "
13587 LOCATE 22, IFX
13588 PRINT "des Balles        G  "
13589 LOCATE 23, IFX
13590 PRINT "Funktion        Taste"
13600 COLOR 15, 2
13800 LOCATE 4, 1
13802 PRINT NAME1$
13804 LOCATE 5, 1
13810 PRINT "Punkte:   "
13820 LOCATE 6, 1
13830 PRINT "          "
13840 LOCATE 6, 1
13850 PRINT IPK1
      LOCATE 8, 1
      PRINT " SPIELENDE:"
      PRINT PUNKTE; " "; "PUNKTE"
13860 LOCATE 18, 1
13870 PRINT "          "
13880 LOCATE 18, 1
13890 PRINT IPK2
13900 LOCATE 19, 1
13910 PRINT "Punkte:   "
13911 LOCATE 20, 1
      PRINT NAME2$
IF PCPC = 1 THEN 13912 ELSE 13913
13912
LOCATE 4, IFX
PRINT "**    ***  *   *  ***"
LOCATE 5, IFX
PRINT "*  *  *    * * *  * *"
LOCATE 6, IFX
PRINT "*  *  **   *   *  * *"
LOCATE 7, IFX
PRINT "*  *  *    *   *  * *"
LOCATE 8, IFX
PRINT "**    ***  *   *  ***"
13913 IF PCOM = 1 THEN PCOM = 3
      IF PCOM = 2 THEN PCOM = 0
      IF WEITERR = 0 THEN 13920 ELSE 13914
13914 RETURN
13920 GOTO 9000
23010 REM **********************************************************
23020 REM    Initialisierung des Bildschirms 2
23026 LOCATE 11, 1
23080 COLOR 13, 8
23100 CLS
23110 COLOR 15, 0
      IF PCOM = 3 THEN PCOM = 1
      IF PCOM = 0 THEN PCOM = 2
23111 FFAARRBBEE = 0
23114 LOCATE 2, 16
23120 PRINT C1$ + CST1$ + C2$
23130 FOR IY = 1 TO 19
23134 IY1 = IY + 2
23136 LOCATE IY1, 16
23140 PRINT C7$ + CST2$ + C7$
23150 NEXT IY
23156 LOCATE 22, 16
23160 PRINT C3$ + CST1$ + C4$
23180 LOCATE 12, 20
23190 PRINT "-   -   -   -   -   -   -   -   -  "
23191 IF PCPC = 1 THEN 23600 ELSE 23200
23200 COLOR 15, 0
23220 IFX = 60
23300 LOCATE 2, IFX
23310 PRINT "Funktion        Taste"
23320 LOCATE 3, IFX
      IF PCOM = 1 THEN 23330 ELSE 23332
23330 LOCATE 3, IFX
      PRINT "Schl„ger 1       - - "
23332 IF PCOM = 2 THEN 23333 ELSE 23334
23333 LOCATE 3, IFX
      PRINT "Schl„ger 1       Q W "
23334 IF PCOM = 1 THEN 23340 ELSE 23352
23340 LOCATE 4, IFX
23350 PRINT "bewegen          - - "
23352 IF PCOM = 2 THEN 23354 ELSE 23360
23354 LOCATE 4, IFX
      PRINT "bewegen          E R "
23360 LOCATE 5, IFX
23370 PRINT "Aufschlag         A  "
      IF PCOM = 1 THEN 23380 ELSE 23391
23380 LOCATE 6, IFX
23390 PRINT "Diag. Schl.    - - - "
23391 IF PCOM = 2 THEN 23392 ELSE 23400
23392 LOCATE 6, IFX
      PRINT "Diag. Schl.    S D F "
23400 LOCATE 7, IFX
23410 PRINT "Schlagst„rke     V B "
23420 LOCATE 8, IFX
23430 PRINT "Spielende         T  "
23440 LOCATE 9, IFX
23450 PRINT "Schlagst„rke     V B "
23500 LOCATE 10, IFX
23510 PRINT "Diag. Schl.    H J K "
23520 LOCATE 11, IFX
23530 PRINT "Aufschlag         L  "
23540 LOCATE 12, IFX
23550 PRINT "Schl„ger 2       U I "
23560 LOCATE 13, IFX
23570 PRINT "bewegen          O P "
23571 LOCATE 14, IFX
23572 PRINT "FARBE:               "
23573 LOCATE 15, IFX
23574 PRINT "Schwarz-Weiá      X  "
23575 LOCATE 16, IFX
23576 PRINT "Gr?n-Weiá         C  "
23577 LOCATE 17, IFX
23578 PRINT "Gr?n-Blau         Y  "
23579 LOCATE 18, IFX
23580 PRINT "Punkte 0          Z  "
23581 LOCATE 19, IFX
23582 PRINT "CHEAT"; " "; NAME1$; " "
      LOCATE 19, 78
      PRINT "?"
23583 LOCATE 20, IFX
23584 PRINT "CHEAT"; " "; NAME2$; " "
      LOCATE 20, 78
      PRINT "?"
23585 LOCATE 21, IFX
23586 PRINT "Geschwindigkeit      "
23587 LOCATE 22, IFX
23588 PRINT "des Balles        G  "
23589 LOCATE 23, IFX
23590 PRINT "Funktion        Taste"
23600 COLOR 15, 0
23800 LOCATE 4, 1
23802 PRINT NAME1$
23804 LOCATE 5, 1
23810 PRINT "Punkte: "
23820 LOCATE 6, 1
23830 PRINT "        "
23840 LOCATE 6, 1
23850 PRINT IPK1
      LOCATE 8, 1
      PRINT " SPIELENDE:"
      PRINT PUNKTE; " "; "PUNKTE"
23860 LOCATE 18, 1
23870 PRINT "        "
23880 LOCATE 18, 1
23890 PRINT IPK2
23900 LOCATE 19, 1
23910 PRINT "Punkte: "
23911 LOCATE 20, 1
      PRINT NAME2$
IF PCPC = 1 THEN 23912 ELSE 23913
23912
LOCATE 4, IFX
PRINT "**    ***  *   *  ***"
LOCATE 5, IFX
PRINT "*  *  *    * * *  * *"
LOCATE 6, IFX
PRINT "*  *  **   *   *  * *"
LOCATE 7, IFX
PRINT "*  *  *    *   *  * *"
LOCATE 8, IFX
PRINT "**    ***  *   *  ***"
23913 IF PCOM = 1 THEN PCOM = 3
      IF PCOM = 2 THEN PCOM = 0
      IF WEITERR = 0 THEN 23920 ELSE 23914
23914 RETURN
23920 GOTO 9000
33010 REM **********************************************************
33020 REM    Initialisierung des Bildschirms 2
      IF GGE = 1 THEN 33080 ELSE 33026
33026 LOCATE 11, 1
33028 PRINT "Sie ben”tigen"
      PRINT "das Password"
      PRINT "um die Farbe"
      PRINT "zu „ndern!"
33029 INPUT X$: IF X$ = "Larry" THEN 33080 ELSE END
33080 COLOR 19, 3
33100 CLS
33110 COLOR 17, 2
      IF PCOM = 3 THEN PCOM = 1
      IF PCOM = 0 THEN PCOM = 2
33111 FFAARRBBEE = 2
33114 LOCATE 2, 16
33120 PRINT C1$ + CST1$ + C2$
33130 FOR IY = 1 TO 19
33134 IY1 = IY + 2
33136 LOCATE IY1, 16
33140 PRINT C7$ + CST2$ + C7$
33150 NEXT IY
33156 LOCATE 22, 16
33160 PRINT C3$ + CST1$ + C4$
33180 LOCATE 12, 20
33190 PRINT "-   -   -   -   -   -   -   -   -  "
33191 IF PCPC = 1 THEN 33600 ELSE 33200
33200 COLOR 15, 0
33220 IFX = 60
33300 LOCATE 2, IFX
33310 PRINT "Funktion        Taste"
33320 LOCATE 3, IFX
      IF PCOM = 1 THEN 33330 ELSE 33332
33330 LOCATE 3, IFX
      PRINT "Schl„ger 1       - - "
33332 IF PCOM = 2 THEN 33333 ELSE 33334
33333 LOCATE 3, IFX
      PRINT "Schl„ger 1       Q W "
33334 IF PCOM = 1 THEN 33340 ELSE 33352
33340 LOCATE 4, IFX
33350 PRINT "bewegen          - - "
33352 IF PCOM = 2 THEN 33354 ELSE 33360
33354 LOCATE 4, IFX
      PRINT "bewegen          E R "
33360 LOCATE 5, IFX
33370 PRINT "Aufschlag         A  "
      IF PCOM = 1 THEN 33380 ELSE 33391
33380 LOCATE 6, IFX
33390 PRINT "Diag. Schl.    - - - "
33391 IF PCOM = 2 THEN 33392 ELSE 33400
33392 LOCATE 6, IFX
      PRINT "Diag. Schl.    S D F "
33400 LOCATE 7, IFX
33410 PRINT "Schlagst„rke     V B "
33420 LOCATE 8, IFX
33430 PRINT "Spielende         T  "
33440 LOCATE 9, IFX
33450 PRINT "Schlagst„rke     V B "
33500 LOCATE 10, IFX
33510 PRINT "Diag. Schl.    H J K "
33520 LOCATE 11, IFX
33530 PRINT "Aufschlag         L  "
33540 LOCATE 12, IFX
33550 PRINT "Schl„ger 2       U I "
33560 LOCATE 13, IFX
33570 PRINT "bewegen          O P "
33571 LOCATE 14, IFX
33572 PRINT "FARBE:               "
33573 LOCATE 15, IFX
33574 PRINT "Schwarz-Weiá      X  "
33575 LOCATE 16, IFX
33576 PRINT "Gr?n-Weiá         C  "
33577 LOCATE 17, IFX
33578 PRINT "Gr?n-Blau         Y  "
33579 LOCATE 18, IFX
33580 PRINT "Punkte 0          Z  "
33581 LOCATE 19, IFX
33582 PRINT "                     "
      LOCATE 19, IFX
      PRINT "CHEAT"; " "; NAME1$; " "
      LOCATE 19, 78
      PRINT "?"
33583 LOCATE 20, IFX
33584 PRINT "                     "
      LOCATE 20, IFX
      PRINT "CHEAT"; " "; NAME2$; " "
      LOCATE 20, 78
      PRINT "?"
33585 LOCATE 21, IFX
33586 PRINT "Geschwindigkeit      "
33587 LOCATE 22, IFX
33588 PRINT "des Balles        G  "
33589 LOCATE 23, IFX
33590 PRINT "Funktion        Taste"
33600 COLOR 17, 2
33800 LOCATE 4, 1
33802 PRINT NAME1$
33804 LOCATE 5, 1
33810 PRINT "Punkte: "
33820 LOCATE 6, 1
33830 PRINT "        "
33840 LOCATE 6, 1
33850 PRINT IPK1
      LOCATE 8, 1
      PRINT " SPIELENDE:"
      PRINT PUNKTE; " "; "PUNKTE"
33860 LOCATE 18, 1
33870 PRINT "        "
33880 LOCATE 18, 1
33890 PRINT IPK2
33900 LOCATE 19, 1
33910 PRINT "Punkte: "
33911 LOCATE 20, 1
33912 PRINT NAME2$
IF PCPC = 1 THEN 33913
33913
LOCATE 4, IFX
PRINT "**    ***  *   *  ***"
LOCATE 5, IFX
PRINT "*  *  *    * * *  * *"
LOCATE 6, IFX
PRINT "*  *  **   *   *  * *"
LOCATE 7, IFX
PRINT "*  *  *    *   *  * *"
LOCATE 8, IFX
PRINT "**    ***  *   *  ***"
      IF PCOM = 1 THEN PCOM = 3
      IF PCOM = 2 THEN PCOM = 0
      IF WEITERR = 0 THEN 33922 ELSE 33914
33914 RETURN
33922 GOTO 9000
50000 IPK1 = IPK1 + 15
      IF PCOM = 3 THEN PCOM = 1
      IF PCOM = 0 THEN PCOM = 2
50001 GOTO 3000
60000 IF EP = 0 THEN 60001 ELSE 61001
60001 IF PCOM = 3 THEN PCOM = 1
      IF PCOM = 0 THEN PCOM = 2
      IPK2 = IPK2 + 15
      GOTO 3000
61001 CLS
      IF PCOM = 3 THEN PCOM = 1
      IF PCOM = 0 THEN PCOM = 2
61002 LOCATE 6, 1
61003 PRINT "Ist bei Ausbaustufe 18 mit dem Computer nicht m”glich!"
61004 SLEEP 4
61005 CLS
61006 LOCATE 6, 1
61007 PRINT "Ey schummeln gilt nicht!"
61008 IPK1 = IPK1 + 15
61009 SLEEP 4
61010 GOTO 3000
65000 IPK1 = 0
65001 IPK2 = 0
IF PCOM = 3 THEN PCOM = 1
IF PCOM = 0 THEN PCOM = 2
65002 GOTO 3000
10000 CLS
OPEN "A", #1, "TENN20.DAT"
TD1$ = NAME1$
TD2 = IPK1
TD3$ = NAME2$
TD4 = IPK2
TD5 = SCHWERGRAD
PRINT #1, TD1$
PRINT #1, TD2
PRINT #1, TD3$
PRINT #1, TD4
PRINT #1, TD5
CLOSE #1
CLS
      PRINT "*******  *           *  *****    *******"
      SLEEP 1
      PRINT "*        **          *  *    *   *"
      SLEEP 1
      PRINT "*        * *         *  *     *  *"
      SLEEP 1
      PRINT "*        *  *        *  *     *  *"
      SLEEP 1
      PRINT "*        *   *       *  *     *  *"
      SLEEP 1
      PRINT "*        *    *      *  *     *  *"
      SLEEP 1
      PRINT "****     *     *     *  *     *  ****"
      SLEEP 1
      PRINT "*        *      *    *  *     *  *"
      SLEEP 1
      PRINT "*        *       *   *  *     *  *"
      SLEEP 1
      PRINT "*        *        *  *  *     *  *"
      SLEEP 1
      PRINT "*        *         * *  *     *  *"
      SLEEP 1
      PRINT "*        *          **  *    *   *"
      SLEEP 1
      PRINT "*******  *           *  *****    *******"
      IF ENDE$ = "" THEN 9400 ELSE 10000
      GOTO 9400
70000 CLS
PRINT
PRINT "Sollen zwei Computer gegeneinandertreten oder der Computer gegen dich?"
PRINT
PRINT "Gib f?r PC - PC eine 1 ein und f?r PC - Mensch eine 2!"
INPUT MENSCH
IF MENSCH = 1 AND SCHWERGRAD = 1 THEN 3000
IF MENSCH = 1 AND SCHWERGRAD <> 1 THEN GOTO 70001 ELSE GOTO 70002
70001
CLS
PRINT
PRINT "Bis wieviel Punkte sollen die zwei PCs die gegeneinander antreten spielen?"
INPUT PUNKTE
IF PUNKTE < 15 THEN PUNKTE = 15
PCOM = 1: PPPC = 1: IDXPC = 1: ZZ = 1: XXX = 1: PCPC = 1
GOTO 3000
70002 PCOM = 1
PCPC = 0
GOTO 3000
80000 CLS
      LOCATE 6, 1
      PRINT "Punktetafel l”schen oder Bedienungsanleitung!"
      PRINT "Geben sie  0        oder     1 ein!"
      INPUT DEL
      IF DEL = 0 THEN CLS : GOTO 80001 ELSE GOTO 81000
80001 PRINT
80002 PRINT "Wollen sie wirklich die Namen mit Punkte l”schen (jJ/nN)?"
80003 INPUT OK$
80004 IF OK$ = "j" OR OK$ = "J" THEN GOTO 80005 ELSE 3000
80005 KILL "TENN20.DAT"
80006 CLS
80007 PRINT
80008 PRINT "DIE DATEI TENN20.DAT ZUM ABSPEICHERN DER PUNKTE UND DES NAMENS IST GEL™SCHT!!!"
80009 SLEEP 7
80010 IF PCOM = 3 THEN PCOM = 1
80011 IF PCOM = 0 THEN PCOM = 2
80012 GOTO 3000
81000 CLS
81001 PRINT
      PRINT "A  N  L  E  I  T  U  N  G    Z  U   T  E  N  N  I  S   !  !  !"
      PRINT
      PRINT "Dieses Programm bildet auf dem Bildschirm des PCs ein Tennisfeld ab."
      PRINT "Im Tennisfeld werden zwei Tennisschl„ger dargestellt."
      PRINT "Der obere Schl„ger l„sst sich durch die Tasten Q und W der untere Schl„ger"
      PRINT "durch die Tasten O und P bewegen. Mit der Taste T wird das Spiel beendet."
      PRINT "Durch Bet„tigen der Taste A kann f?r Spieler 1 der Ball aufgeschlagen werden"
      PRINT "Spieler 2 benutzt daf?r die Taste L."
      PRINT "Der Ball wird an den Tennisschl„gern reflektiert und verschwindet am Rand des"
      PRINT "Spielfeldes, wenn er nicht gehalten wird."
      PRINT
      PRINT "Zum diagonalen Schlagen des Balls k”nnen bei Spieler 1 die Tasten S,D und F"
      PRINT "bei Spieler 2 die Tasten H,J und K benutzt werden."
      PRINT "Zum Bewegen der zwei Schl„ger nach oben und nach unten k”nnen die Tasten U und I"
      PRINT "bzw. die Tasten E und R benutzt werden."
      PRINT "Zum Einstellen der Schlagst„rke bzw. der Ballgeschwindigkeit k”nnen"
      PRINT "die Tasten V und B benutzt werden oder alternativ ?ber die Taste G."
      PRINT "In der Mitte des Spielfeldes wird ein Netz eingeblendet. Das Netz muss vom"
      PRINT "Ball ?berwunden werden. Bleibt der Ball im Netz h„ngen, so"
      PRINT "verschwindet er anschlieáend vom Tennisfeld."
      PRINT
      PRINT "Weiter mit <RETURN>-Taste!": INPUT TNC$
      IF TNC$ = "800" THEN GOTO 81004
81004 KMH = 800
      ICM = 800
      ICC = 50
      LOCATE 23, 1: PRINT "Ballgeschwindigkeit: "; ICC
      CLS
      PRINT
      PRINT "Die Bedienung des Computerspiels wird durch eine einfache"
      PRINT "Bedienerf?hrung erleichtert. Dazu wird am rechten Bildschirmrand"
      PRINT "die Funktion der Tasten angezeigt. Am linken Bildrand werden die Punkte der"
      PRINT "beiden Spieler angezeigt."
      PRINT
      PRINT "Mit den Tasten Y, X und C kann man die Farbe „ndern. Man ben”tigt dazu"
      PRINT "ein Password. F?r die Standardfarbe Schwarz-Weiá ist kein Password n”tig."
      PRINT "Mit der Taste Z werden die Punkte auf Null zur?ckgesetzt. Zu Beginn eines"
      PRINT "Spieles kann man die Namen eingeben sowie die Spieldauer in Punkte."
      PRINT "Diese Punktezahl die einer der Spieler als erster erreicht, hat gewonnen."
      PRINT "Anschlieáend erscheint eine Anzeige des Gewinners bei der man mit einer 1"
      PRINT "und ENTER-Taste das Spiel verlassen kann. Das Programm startet sonst von vorne."
      PRINT "Es erscheint bei verlassen an dieser sogenannten Stelle das Wort -ENDE- "
      PRINT
      PRINT "Es ist automatisch ein Zwei-Spieler-Modus eingestellt. Mit der š-Taste"
      PRINT "und Pfeil-Oben-Taste kann man ausw„hlen ob zwei PCs gegeneinander spielen oder"
      PRINT "f?r Spieler 1 der Computer den Schl„ger ?bernehmen wird."
      PRINT "Der PC bewegt den Schl„ger nach links und nach rechts. Den Ball schl„gt"
      PRINT "der PC Senkrecht und auch Diagonal nach links und nach rechts."
      PRINT "Mit Pfeil-Oben-Taste und ™-Taste kann man erneut wie zu Beginn die Spielernamen"
      PRINT "eingeben und gegen einen zweiten Menschen spielen. (Zwei-Spieler-Modus)"
      PRINT
      PRINT "Weiter mit <RETURN>-Taste!": INPUT TNC
      CLS
      PRINT
      PRINT "Mit der G-Taste kann eine Ballgeschwindigkeit zwischen 1 und 32767"
      PRINT "eingestellt werden. Auch die Tasten V und B „ndern die Geschwindigkeit"
      PRINT "des Balles aber nur um einen Z„hler (+1 und -1)."
      PRINT "Die Ballgeschwindigkeit wird links unten angezeigt."
      PRINT "Es gibt f?r jeden Treffer ins Aus 15 Punkte und 1 Punkt Abzug"
      PRINT "bei Teffer ins Netz."
      PRINT "Die Anzeige bis wieviel Punkte gespielt wird ist auf der linken Seite zu sehen."
      PRINT
      PRINT "Wie sie mittlerweile rausgefunden haben erreichen sie die Anleitung zu Tennis"
      PRINT "?ber Pfeil-Oben-Taste und Ž-Taste. Sie k”nnen dann w„hlen was sie tun m”chten."
      PRINT "0 und Entertaste l”scht den Namen und die Punkte in der Datei TENN20.DAT"
      PRINT "nach der Eingabe von Ja oder Nein. Mit 1 und Entertaste gelangen sie"
      PRINT "wo sie sich gerade befinden zur Bedienungsanleitung."
      PRINT "Sie k”nnen nur am Start eines Spieles festlegen bis wieviel Punkte sie spielen."
      PRINT "Abbrechen von Tennis wird zu jederzeit erm”glicht."
      PRINT "Punkte und Namen werden dann immer auf jeden Fall gespeichert."
      PRINT
      PRINT "Weiter mit <RETURN>-Taste!": INPUT TNC
      CLS
      PRINT
      PRINT "Es kann beim Start von Tennis die Spielstufe eingestellt werden."
      PRINT "Man wird gefragt ob man als Spielstufe Leicht, Mittel oder Schwer"
      PRINT "haben will. Bei Leicht wird der PC kaum im bestreben sein, den Ball"
      PRINT "ins gegnerische Aus zu bef”rdern. Bei Mittel geht der Ball 50%:50%"
      PRINT "einmal ins Aus und manchmal nicht ins Aus. In Schwierigkeitsgrad Schwer spielt"
      PRINT "der Computer sehr stark und l„sst dir keinen Ball ins Aus reingehen."
      PRINT "Der Computer selbst allerdings bringt den Ball fast immer ins Aus was ihm"
      PRINT "dann 15 Punkte f?r seine Punkteliste einbringt."
      PRINT
      PRINT "AUTOR: LENHARD ALEXANDER"
      PRINT "PROGRAMMIERSPRACHE: QBASIC"
      PRINT "1684 ZEILEN"
      PRINT
      PRINT "****************************************"
      PRINT "W?nsche viel Spass beim Tennisspielen!!!"
      PRINT "****************************************"
      PRINT
      PRINT "Weiter mit <RETURN>-Taste!": INPUT TNC
      IF PCOM = 3 THEN PCOM = 1
      IF PCOM = 0 THEN PCOM = 2
      GOTO 3000
90000
CLS
IF PCOM = 3 THEN PCOM = 1
IF PCOM = 0 THEN PCOM = 2
90001 PRINT "Geben sie eine Ballgeschwindigkeit von 1-32766 ein!"
90002 PRINT
90003 PRINT
90004 PRINT "Geschwindigkeit   1-100: SCHNELL"
90005 PRINT "Geschwindigkeit 100-220: M  I  T  T  E  L"
90006 PRINT "Geschwindigkeit ab  220: L    A    N    G    S    A    M"
90007 PRINT
90008 INPUT ICM: IF ICM > 32766 THEN ICM = 32766
90011 GOTO 3000



Editiert durch Moderator: Code-Tags hinzugefügt. (A.K.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 08.08.2006, 18:52    Titel: Antworten mit Zitat

Ähm ...
Wie kann ich das sagen?

Nimm mal die ganzen Zeilennummern und Gotos raus, das ist Unschön.

Die Ganzen Kommentare am Angang kannst du in ein Readme oder Changlog auslagern.

Denn
Code:
1961 OPEN "I", #1, "TENN20.DAT"

Syntax kenn ich nicht. Das wird Normallerweisse so gemacht:
Code:
OPEN "TENN20.DAT" for Input as #1


Code:
1978 IF SCHWERGRAD = 1 THEN 1991 ELSE 1979
1979 IF SCHWERGRAD = 2 THEN 1992 ELSE 1980
1980 IF SCHWERGRAD = 3 THEN 1993 ELSE 1981
1981 IF SCHWERGRAD = 4 THEN 1994 ELSE 1982
1982 IF SCHWERGRAD = 5 THEN 1995 ELSE 1983
1983 IF SCHWERGRAD = 6 THEN 1996 ELSE 1984
1984 IF SCHWERGRAD = 7 THEN 1997 ELSE CLS : GOTO 1977

Du kennst wohl Case nicht. Siehe Hilfe von QBasic.
Die Sprungaktion kannst du dir auch sparen, das geht schöner.

Sieh dir auch den If Befehl genauer an.
Das kann man z.B. mit IF machen:
Code:
input a$
if a$="hallo" then
  Print "Auch Hallo :-)"
elseif a$="test" then
  Print "Weiss nicht."
else
  Print "Dann halt nicht."
end if

Das spart einige Gotos.

Code:
LOCATE 3, IFX
PRINT "                    "
LOCATE 4, IFX
PRINT "                    "
LOCATE 5, IFX
PRINT "                    "
LOCATE 6, IFX
PRINT "                    "
LOCATE 7, IFX
PRINT "                    "
LOCATE 8, IFX
PRINT "                    "
LOCATE 9, IFX
PRINT "                    "
LOCATE 10, IFX
PRINT "                    "
LOCATE 11, IFX
PRINT "                    "
LOCATE 12, IFX
PRINT "                    "
LOCATE 13, IFX
PRINT "                    "
LOCATE 14, IFX
PRINT "                    "
LOCATE 15, IFX
PRINT "                    "
LOCATE 16, IFX
PRINT "                    "
LOCATE 17, IFX
PRINT "                    "
LOCATE 18, IFX
PRINT "                    "
LOCATE 19, IFX
PRINT "                    "
LOCATE 20, IFX
PRINT "                    "
LOCATE 21, IFX
PRINT "                    "
LOCATE 22, IFX
PRINT "                    "
LOCATE 23, IFX
PRINT "                    "
LOCATE 24, IFX
PRINT "                    "

Das geht so viel kürzer:
Code:
LOCATE 3, IFX
for i=3 to 24
   PRINT "                    "
next i


So, das ist ein Anfang.
Wenn du das gemacht hast, kann ich's mir genauer ansehen.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 09.08.2006, 01:14    Titel: Antworten mit Zitat

Ich sage ja ein uraltes Programm aus dem Jahre 1991

Der Quellcode stand in einem Buch drin mit all den Zeilennummern und all den Befehlen! Ich habe das Programm dann nur noch erweitert und dann enstand so etwas.

RPB
Franzis Taschenbuch Nr. 245
Wienicke
Computerspiele am PC selbst programmieren
Der Einstieg in verschiedene Programmiersprachen
mit einem Roulettespiel und einem Tennisspiel

Für die Sprachen Basic, Pascal, C, Assempler

aus dem Jahre 1991

Der Beginn meiner Programmierkarriere

im Jahre 200? (2000 oder 2001)
mit Basic 1.1
ohne Compiler!

Waren das noch Zeiten!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 09.08.2006, 18:05    Titel: Antworten mit Zitat

Wenn der Code in einem Buch aus dem Jahr 1991 steht ...

QBasic 1.1 stammt aus dem Jahr 1992, QuickBasic 4.5 ist von 1988 von dem her wäre schon ein "moderner" Programmierstil möglich.

Viel Spass beim optimieren und dazu lernen. zwinkern
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 09.08.2006, 23:46    Titel: Antworten mit Zitat

das war bestimmt gw-basic...


achja:

wann lernst du endlich-code-tags zu verwenden? diese rücken den text richtig ein und verwenden eine passende schriftart, sodass auch die schriftzüge nicht verzerrt werden.
verwende den tag so:
schreibe in deinen beitrag

[code]
dein sourcecode
[/code]
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Neo187



Anmeldungsdatum: 26.12.2005
Beiträge: 350
Wohnort: Oldenburg

BeitragVerfasst am: 10.08.2006, 00:05    Titel: Antworten mit Zitat

moin,

Code:
      PRINT "AUTOR: LENHARD ALEXANDER"
      PRINT "PROGRAMMIERSPRACHE: QBASIC"
      PRINT "1684 ZEILEN"


ALWIM hat Folgendes geschrieben:
Der Quellcode stand in einem Buch drin mit all den Zeilennummern und all den Befehlen! Ich habe das Programm dann nur noch erweitert und dann enstand so etwas.


nicht unbedingt die feine englische Art. lächeln

Mfg,
Neo187
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 10.08.2006, 17:12    Titel: Antworten mit Zitat

Ja vielleicht nicht so ganz korrekt.
Und ich hatte damals Autor Alexander Lenhard reingeschrieben, weil nie dabeistand wer der ursprüngliche Autor auf den Quellcode ist/war.

Ich habe mich damals schon oft gefragt wie könnte man dieses Programm verbessern oder
kann man es verbessern? Geht das überhaupt?

Jetzt weiß ich, dass man da einiges machen kann.


Es gibt anscheinend zwei möglichkeiten eine .DAT Datei zu öffnen.

1.
1961 OPEN "I", #1, "TENN20.DAT"

2.
OPEN "TENN20.DAT" for Input as #1

Wobei ich damals nur die erste Möglichkeit kannte!
Heute verwende ich nur noch die zweite!

Bei der ersten Möglichkeit steht das I für Input, A wäre Append!

Auch die Zeilen mit dem REM am Anfang sind wie ich jetzt weiß im Programm überflüssig drin.

Sogar den Computer könnte man sicher besser programmieren.

Ich hatte damals eine Möglichkeit gefunden einen Computergegner zu programmieren.

Der Schläger geht immer in die Richtung wo auch der Ball hinläuft.
Durch eine Zufallszahl (1,2 oder 3) wird der Ball in eine Richtung geschlagen.
Zum Beispiel: 1 = Diagonal links, 2 = geradeaus, 3 = Diagonal rechts

So habe ich einen Computer programmiert!

Wenn ich mich nocheinmal dazu aufraffe, werde ich diese Programm noch einmal komplett umprogrammieren.


Ich bin ja auch kein Profi nur ein halber Fortgeschrittener!

Gut wenn es Leute gibt die so etwas wissen und man die fragen kann!

Ich bin jedem dankbar für jeden Hinweis!

Mit freundlichen Grüßen
Alexander Lenhard
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 10.08.2006, 21:15    Titel: Antworten mit Zitat

ja, der erste open-syntax gehört in die hölle (zu lutz-ifer Hammer ) geschickt lachen
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz