 |
Das deutsche QBasic- und FreeBASIC-Forum Fr euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nchstes Thema anzeigen |
Autor |
Nachricht |
programmer404
Anmeldungsdatum: 07.09.2021 Beitrge: 12 Wohnort: Herford
|
Verfasst am: 09.09.2021, 13:19 Titel: Ballonspiel |
|
|
DEF SEG = (&HB800)
CLS
PRINT "Loading"
SLEEP 2
CLS
COLOR 3
PRINT " Loading"
SLEEP 1.1
LOCATE 1, 1: COLOR 15: PRINT " Please wait"
SLEEP 1
FOR s = 15 TO 24: e = 11 * SIN(e / 111): POKE s * 2 - 1, 15
POKE s * 2, 46
NEXT s
SLEEP 2
REM Fortschrittsanzeige
COLOR 8
FOR s = 10 TO 10000: o = o / 2 + 44 * SIN(s / s) + s: NEXT s
CLS
FOR x = 15 TO 60
LOCATE 23, x
PRINT CHR$(176); INT(100 * (x - 15) / (80 - 15)); "%"
SOUND 22222, 18.2 * 1.2 / 8
NEXT
FOR r = 1 TO 20
LOCATE 23 - r, x - 1
PRINT CHR$(176); INT(100 * (r + x - 16) / (80 - 15)); "%"
SOUND 22222, 18.2 * 1.2 / 8
NEXT r
CLS : REM Bildschirm Spielname
FOR x = 1 TO 14
LOCATE x + 3, x: COLOR INT(x / 2) + 2: PRINT ""
NEXT x
FOR x = 14 TO 1 STEP -1
LOCATE x + 3, 15 - x: COLOR INT(x / 2) + 2: PRINT ""
NEXT x
FOR x = 1 TO 14: REM Buchstabe I
LOCATE x + 3, 25: COLOR INT(x / 2) + 2: PRINT ""
NEXT x
FOR x = 1 TO 1: REM unterer Strich vom L
LOCATE x + 16, 28: COLOR INT(x / 2) + 2: PRINT ""
NEXT x
FOR x = 1 TO 14: REM Buchstabe I
LOCATE 18 - x, 37: COLOR INT(x / 2) + 2: PRINT ""
NEXT x
SLEEP 5
COLOR 7
SCREEN 13
LOCATE 2, 2: PRINT "BEDIENUNG mit der Tastatur"
SLEEP 4
LOCATE 2, 2: PRINT " "
LOCATE 24, 1: PRINT "Beenden mit ESC"
y = 80
FOR d = 0 TO 200
FOR x = 0 TO 319 STEP .2: IF INKEY$ = CHR$(27) THEN 100
IF y < 38 THEN SOUND 220, 1: y = y + 5
IF INP(&H60) < 57 THEN t = INP(&H60)
y = y + t / 50 - .3
IF y > 120 THEN SOUND 37, .1: IF INKEY$ = CHR$(27) THEN GOTO 100
CIRCLE (x, y), 14, 0: REM altes Frame lschen
CIRCLE (x, y), 15, 0: REM altes Frame lschen
CIRCLE (x, y), 16, 0: REM altes Frame lschen
IF INKEY$ = CHR$(27) THEN 100
CIRCLE (x - 10, y - 1), 17, 0: REM altes Frame lschen
CIRCLE (x - 20, y - 2), 18, 0: REM altes Frame lschen
CIRCLE (x + 10, y + 1), 19, 0: REM altes Frame lschen
CIRCLE (x + 2, y + 2), 20, 0: REM altes Frame lschen
CIRCLE (x, y), 13, 3: REM Kreis zeichnen
IF INKEY$ = CHR$(27) THEN 100
NEXT x, d
100 CLS : COLOR 5: LOCATE 6, 17: PRINT "ENDE": SLEEP 5: COLOR 0:
WHILE INKEY$ <> "": WEND: REM Tastaturpuffer leeren sonst
REM Tastatureingaben nach Programmende
REM auf der Eingabeaufforderung sichtbar |
|
Nach oben |
|
 |
programmer404
Anmeldungsdatum: 07.09.2021 Beitrge: 12 Wohnort: Herford
|
|
Nach oben |
|
 |
SpionAtom
Anmeldungsdatum: 10.01.2005 Beitrge: 318
|
Verfasst am: 10.09.2021, 08:54 Titel: |
|
|
Fake Ladezeiten haben wir nicht alle so angefangen  _________________ Inzwischen gehre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht. |
|
Nach oben |
|
 |
programmer404
Anmeldungsdatum: 07.09.2021 Beitrge: 12 Wohnort: Herford
|
|
Nach oben |
|
 |
programmer404
Anmeldungsdatum: 07.09.2021 Beitrge: 12 Wohnort: Herford
|
Verfasst am: 12.09.2021, 17:42 Titel: |
|
|
RANDOMIZE TIMER
DEF SEG = (&HB800)
CONST PI = 3.14
a = SIN(90)
PRINT a
CLS
SCREEN 1 'Mittlere Auflsung, blauer Hintergrund.
WINDOW (-3, -2)-(3, 2) 'Wandle Bildschirm in kartesische
'Koordinaten um.
SLEEP 1
FOR n = 237 TO 224 STEP .033
PSET (1, 0) 'Setzt Startpunkt.
FOR Winkel = 0 TO 12 * PI STEP .76
IF INKEY$ = CHR$(27) THEN 100
OUT &H43, &HB6
OUT &H42, &HFF
OUT &H42, 64
OUT &H43, &H90
r = INP(&H61) OR 3
OUT &H61, 32 * SIN((r + 1) * (1 + x)) + y
OUT &H42, 1
r = 1 + SIN(n * Winkel) 'Polargleichung fr "Blte".
x = r * COS(Winkel) 'Wandle Polarkoordinaten in kartesische
y = r * SIN(Winkel) 'Koordinaten um.
COLOR 2, x
LINE -(x, y) 'Zeichne eine Gerade vom alten zum neuen
'Punkt.
IF n > 230 < 234 THEN LOCATE 5 + n / 27, 14: COLOR 8: PRINT "Blte":
NEXT Winkel, n
SCREEN 8: PRINT " changing screen-mode"
CLS
PRINT "Loading": OPEN "creativa.exe" FOR OUTPUT AS #1
COLOR 8: PRINT "Please wait"
REM Forchrittsanzeige
COLOR 9
SCREEN 0: PRINT "fucke": PRINT "gucke": PRINT "schrott"
CLS
RANDOMIZE TIMER
COLOR 11
SCREEN 13
0 CLS
COLOR 5
PRINT " (S)tart"
PRINT ""
COLOR 3
PRINT " (H)ilfe"
PRINT ""
COLOR 1
PRINT " (C)redits"
COLOR 9
PRINT " (E)nde"
1 IF INP(&H60) = 18 THEN END
IF INP(&H60) = 35 THEN GOTO 3
IF INP(&H60) = 31 THEN GOTO 10
IF INP(&H60) = 46 THEN GOTO 2
GOTO 1
2 IF INP(&H60) = 46 THEN CLS : PRINT "programmed by: Sebastian Grashoff, Mozartstrae 55, 32049 Herford": IF INP(&H60) = 18 THEN GOTO 0: IF INP(&H60) = 31 THEN GOTO 10: GOTO 2
3 IF INP(&H60) = 35 THEN CLS : LOCATE 1, 1: COLOR 15: PRINT "Steuerung mit den Tasten T und G": LOCATE 2, 1: PRINT "Kommen Sie den Planken nicht zu nah!": LOCATE 3, 1: PRINT "Sie haben gewonnen, wenn Sie 850 Punkte": LOCATE 4, 1: PRINT _
"erreicht haben": IF INP(&H60) = 18 THEN GOTO 0: GOTO 3
10 CLS
LOCATE 2, 1: COLOR 15: PRINT " "
LOCATE 23, 1: COLOR 15: PRINT " "
v = .314
y = 100: REM vertikale Startposition des Raumschiffs
t = 10.1: REM Startrichtung
sp = 2
FOR d = 0 TO 200
COLOR INT(d / 6)
FOR x = 0 TO 360 STEP sp * (2 * SIN(d / 6) + .1) + .5: IF INKEY$ = CHR$(27) THEN 100
IF p > 850 THEN GOTO 1000
IF p < -20 THEN CLS : LOCATE 9, 20: COLOR 12: PRINT " Loser! Loser!": SOUND 1440, 18.2 * 1.5: PRINT "Shame on you!": PRINT "Fuckhead": END
LOCATE 1, 1: COLOR 6: PRINT p: LOCATE 1, 32: COLOR 5: PRINT "Level"; 1 + INT(d / 6)
p = INT(d * 15 - a): REM Punktestand ermitteln
IF y < 24 + d / 6 THEN GOSUB 200: COLOR 0 + d
IF INP(&H60) = 20 THEN t = -1 'Tastenbelegung
IF INP(&H60) = 34 THEN t = 1.8
IF INP(&H60) = 40 THEN sp = sp + 1
IF INP(&H60) = 41 THEN sp = sp - 1
y = y + t / 25 - .5
IF y > 155 THEN GOSUB 201: COLOR 0 + d
IF INKEY$ = CHR$(27) THEN GOTO 100
CIRCLE (xx, yy), 13, 0, , , v - INT(d / 6): REM alten Kreis (Frame) lschen
CIRCLE (xx, yy), 12, 0, , , v - INT(d / 6)
CIRCLE (xx, yy), 11, 0, , , v - INT(d / 6)
CIRCLE (xx, yy), 10, 0, , , v - INT(d / 6)
CIRCLE (xx, yy), 9, 0, , , v - INT(d / 6)
CIRCLE (xx, yy), 8, 0, , , v + INT(d / 6)
CIRCLE (xx, yy), 7, 0, , , v + INT(d / 6)
IF d > 6 THEN ps = 1
IF d > 11 THEN ps = 0
IF d > 17 THEN ps = 2
IF d > 23 THEN ps = 0
IF d > 29 THEN ps = 3
IF ps = 1 THEN SOUND 555 + 2 * x - y, 1
IF ps = 2 THEN SOUND 1555 - 2 * x - y, .6
IF ps = 3 THEN SOUND 440, 1
CIRCLE (x, y), 13, INT(d / 6) + v * SIN(x + 1) + 80, , , v + INT(d / 6): REM Kreis zeichnen
CIRCLE (x, y), 12, INT(d / 6) + v * SIN(x + 2) + 81, , , v + INT(d / 6)
CIRCLE (x, y), 11, INT(d / 6) + v * SIN(x + 3) + 82, , , v + INT(d / 6)
CIRCLE (x, y), 10, INT(d / 6) + v * SIN(x + 4) + 83, , , v + INT(d / 6)
CIRCLE (x, y), 9, INT(d / 6) + 1 * SIN(x + 5) + 3, , , v + INT(d / 6)
CIRCLE (x, y), 8, INT(d / 6) + 2 * SIN(x + 6) + 2, , , v + INT(d / 6)
CIRCLE (x, y), 7, INT(d / 6) + 3 * SIN(x + 7) + 4, , , v + INT(d / 6)
IF INKEY$ = CHR$(27) THEN 100
xx = x: yy = y
NEXT x, d
100 SCREEN 13: CLS : k = .12
LOCATE 6, 17: PRINT " ENDE"
FOR h = 0 TO 20: SOUND 37 + h, 3: LOCATE 6, 17
OUT &H43, &HB6
OUT &H42, &HFF
OUT &H42, 9
OUT &H43, &H90
OUT &H61, h
OUT &H42, k
COLOR 8 + h: PRINT " ENDE": k = 21.12 * (SIN(k)) + k: NEXT h: COLOR 8
WHILE INKEY$ <> "": WEND: REM Tastaturpuffer leeren sonst
REM Tastatureingaben nach Programmende
REM auf der Eingabeaufforderung sichtbar
101 END
200 y = y + 25: REM Bildschirm soll bei Kollision mit Planke aufblinken
a = a + 1
FOR bc = 10 TO 920
OUT &H3C8, 0
OUT &H3C9, 255
OUT &H3C9, 255
OUT &H3C9, 255
OUT &H3C8, 0
OUT &H3C9, 0
OUT &H3C9, 0
OUT &H3C9, 0
NEXT bc
RETURN
201 y = y - 25
a = a + 1
FOR bc = 10 TO 920
OUT &H3C8, 0
OUT &H3C9, 255
OUT &H3C9, 255
OUT &H3C9, 255
OUT &H3C8, 0
OUT &H3C9, 0
OUT &H3C9, 0
OUT &H3C9, 0
NEXT bc
RETURN
1000 LOCATE 11, 17: COLOR 12: PRINT "WINNER": FOR r = 1 TO 20: POKE 12 * 80 + r, r: SOUND 1000 + RND * 152, 3: NEXT r: END
1001 RETURN
10000 RETURN |
|
Nach oben |
|
 |
programmer404
Anmeldungsdatum: 07.09.2021 Beitrge: 12 Wohnort: Herford
|
Verfasst am: 12.09.2021, 17:42 Titel: noch eine Version |
|
|
RANDOMIZE TIMER
DEF SEG = (&HB800)
CONST PI = 3.14
a = SIN(90)
PRINT a
CLS
SCREEN 1 'Mittlere Auflsung, blauer Hintergrund.
WINDOW (-3, -2)-(3, 2) 'Wandle Bildschirm in kartesische
'Koordinaten um.
SLEEP 1
FOR n = 237 TO 224 STEP .033
PSET (1, 0) 'Setzt Startpunkt.
FOR Winkel = 0 TO 12 * PI STEP .76
IF INKEY$ = CHR$(27) THEN 100
OUT &H43, &HB6
OUT &H42, &HFF
OUT &H42, 64
OUT &H43, &H90
r = INP(&H61) OR 3
OUT &H61, 32 * SIN((r + 1) * (1 + x)) + y
OUT &H42, 1
r = 1 + SIN(n * Winkel) 'Polargleichung fr "Blte".
x = r * COS(Winkel) 'Wandle Polarkoordinaten in kartesische
y = r * SIN(Winkel) 'Koordinaten um.
COLOR 2, x
LINE -(x, y) 'Zeichne eine Gerade vom alten zum neuen
'Punkt.
IF n > 230 < 234 THEN LOCATE 5 + n / 27, 14: COLOR 8: PRINT "Blte":
NEXT Winkel, n
SCREEN 8: PRINT " changing screen-mode"
CLS
PRINT "Loading": OPEN "creativa.exe" FOR OUTPUT AS #1
COLOR 8: PRINT "Please wait"
REM Forchrittsanzeige
COLOR 9
SCREEN 0: PRINT "fucke": PRINT "gucke": PRINT "schrott"
CLS
RANDOMIZE TIMER
COLOR 11
SCREEN 13
0 CLS
COLOR 5
PRINT " (S)tart"
PRINT ""
COLOR 3
PRINT " (H)ilfe"
PRINT ""
COLOR 1
PRINT " (C)redits"
COLOR 9
PRINT " (E)nde"
1 IF INP(&H60) = 18 THEN END
IF INP(&H60) = 35 THEN GOTO 3
IF INP(&H60) = 31 THEN GOTO 10
IF INP(&H60) = 46 THEN GOTO 2
GOTO 1
2 IF INP(&H60) = 46 THEN CLS : PRINT "programmed by: Sebastian Grashoff, Mozartstrae 55, 32049 Herford": IF INP(&H60) = 18 THEN GOTO 0: IF INP(&H60) = 31 THEN GOTO 10: GOTO 2
3 IF INP(&H60) = 35 THEN CLS : LOCATE 1, 1: COLOR 15: PRINT "Steuerung mit den Tasten T und G": LOCATE 2, 1: PRINT "Kommen Sie den Planken nicht zu nah!": LOCATE 3, 1: PRINT "Sie haben gewonnen, wenn Sie 850 Punkte": LOCATE 4, 1: PRINT _
"erreicht haben": IF INP(&H60) = 18 THEN GOTO 0: GOTO 3
10 CLS
LOCATE 2, 1: COLOR 15: PRINT " "
LOCATE 23, 1: COLOR 15: PRINT " "
v = .314
y = 100: REM vertikale Startposition des Raumschiffs
t = 10.1: REM Startrichtung
sp = 2
FOR d = 0 TO 200
COLOR INT(d / 6)
FOR x = 0 TO 360 STEP sp * (2 * SIN(d / 6) + .1) + .5: IF INKEY$ = CHR$(27) THEN 100
IF p > 850 THEN GOTO 1000
IF p < -20 THEN CLS : LOCATE 9, 20: COLOR 12: PRINT " Loser! Loser!": SOUND 1440, 18.2 * 1.5: PRINT "Shame on you!": PRINT "Fuckhead": END
LOCATE 1, 1: COLOR 6: PRINT p: LOCATE 1, 32: COLOR 5: PRINT "Level"; 1 + INT(d / 6)
p = INT(d * 15 - a): REM Punktestand ermitteln
IF y < 24 + d / 6 THEN GOSUB 200: COLOR 0 + d
IF INP(&H60) = 20 THEN t = -1 'Tastenbelegung
IF INP(&H60) = 34 THEN t = 1.8
IF INP(&H60) = 40 THEN sp = sp + 1
IF INP(&H60) = 41 THEN sp = sp - 1
y = y + t / 25 - .5
IF y > 155 THEN GOSUB 201: COLOR 0 + d
IF INKEY$ = CHR$(27) THEN GOTO 100
CIRCLE (xx, yy), 13, 0, , , v - INT(d / 6): REM alten Kreis (Frame) lschen
CIRCLE (xx, yy), 12, 0, , , v - INT(d / 6)
CIRCLE (xx, yy), 11, 0, , , v - INT(d / 6)
CIRCLE (xx, yy), 10, 0, , , v - INT(d / 6)
CIRCLE (xx, yy), 9, 0, , , v - INT(d / 6)
CIRCLE (xx, yy), 8, 0, , , v + INT(d / 6)
CIRCLE (xx, yy), 7, 0, , , v + INT(d / 6)
IF d > 6 THEN ps = 1
IF d > 11 THEN ps = 0
IF d > 17 THEN ps = 2
IF d > 23 THEN ps = 0
IF d > 29 THEN ps = 3
IF ps = 1 THEN SOUND 555 + 2 * x - y, 1
IF ps = 2 THEN SOUND 1555 - 2 * x - y, .6
IF ps = 3 THEN SOUND 440, 1
CIRCLE (x, y), 13, INT(d / 6) + v * SIN(x + 1) + 80, , , v + INT(d / 6): REM Kreis zeichnen
CIRCLE (x, y), 12, INT(d / 6) + v * SIN(x + 2) + 81, , , v + INT(d / 6)
CIRCLE (x, y), 11, INT(d / 6) + v * SIN(x + 3) + 82, , , v + INT(d / 6)
CIRCLE (x, y), 10, INT(d / 6) + v * SIN(x + 4) + 83, , , v + INT(d / 6)
CIRCLE (x, y), 9, INT(d / 6) + 1 * SIN(x + 5) + 3, , , v + INT(d / 6)
CIRCLE (x, y), 8, INT(d / 6) + 2 * SIN(x + 6) + 2, , , v + INT(d / 6)
CIRCLE (x, y), 7, INT(d / 6) + 3 * SIN(x + 7) + 4, , , v + INT(d / 6)
IF INKEY$ = CHR$(27) THEN 100
xx = x: yy = y
NEXT x, d
100 SCREEN 13: CLS : k = .12
LOCATE 6, 17: PRINT " ENDE"
FOR h = 0 TO 20: SOUND 37 + h, 3: LOCATE 6, 17
OUT &H43, &HB6
OUT &H42, &HFF
OUT &H42, 9
OUT &H43, &H90
OUT &H61, h
OUT &H42, k
COLOR 8 + h: PRINT " ENDE": k = 21.12 * (SIN(k)) + k: NEXT h: COLOR 8
WHILE INKEY$ <> "": WEND: REM Tastaturpuffer leeren sonst
REM Tastatureingaben nach Programmende
REM auf der Eingabeaufforderung sichtbar
101 END
200 y = y + 25: REM Bildschirm soll bei Kollision mit Planke aufblinken
a = a + 1
FOR bc = 10 TO 920
OUT &H3C8, 0
OUT &H3C9, 255
OUT &H3C9, 255
OUT &H3C9, 255
OUT &H3C8, 0
OUT &H3C9, 0
OUT &H3C9, 0
OUT &H3C9, 0
NEXT bc
RETURN
201 y = y - 25
a = a + 1
FOR bc = 10 TO 920
OUT &H3C8, 0
OUT &H3C9, 255
OUT &H3C9, 255
OUT &H3C9, 255
OUT &H3C8, 0
OUT &H3C9, 0
OUT &H3C9, 0
OUT &H3C9, 0
NEXT bc
RETURN
1000 LOCATE 11, 17: COLOR 12: PRINT "WINNER": FOR r = 1 TO 20: POKE 12 * 80 + r, r: SOUND 1000 + RND * 152, 3: NEXT r: END
1001 RETURN
10000 RETURN |
|
Nach oben |
|
 |
programmer404
Anmeldungsdatum: 07.09.2021 Beitrge: 12 Wohnort: Herford
|
Verfasst am: 17.09.2021, 05:53 Titel: Spaceball |
|
|
zt = TIMER
kb = 1: REM Kollisionsbehandlung
RANDOMIZE TIMER
DEF SEG = (&HB800)
CLS
SCREEN 13 'Mittlere Auflsung, blauer Hintergrund.
CONST PI = 3.141593
SCREEN 1: COLOR 13 'Mittlere Auflsung, blauer Hintergrund.
WINDOW (-3, -2)-(3, 2) 'Wandle Bildschirm in kartesische
'Koordinaten um.
N = 5
CLS
PSET (1, 0) 'Setzt Startpunkt.
FOR Winkel = 0 TO 2 * PI STEP .02
R = 1 + SIN(N * Winkel) 'Polargleichung fr "Blte".
x = R * COS(Winkel) 'Wandle Polarkoordinaten in kartesische
y = R * SIN(Winkel) 'Koordinaten um.
LINE -(x, y) 'Zeichne eine Gerade vom alten zum neuen
'Punkt.
NEXT
FOR er = 1 TO 2900: fk = 89 + 88 * SIN(SIN(fk / (SIN(fk + 1)))):
NEXT er
SCREEN 0: PRINT " changing screen-mode..."
CLS
PRINT "Loading": OPEN "creativa.exe" FOR OUTPUT AS #1
COLOR 8: PRINT "Please wait"
REM Forchrittsanzeige
SCREEN 13: PRINT "fucke": PRINT "spucke": PRINT "schrott"
CLS
RANDOMIZE TIMER
COLOR 9
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
CLS
OUT &H3C8, 0
OUT &H3C9, 61
OUT &H3C9, 117
OUT &H3C9, 12
PRINT "Spaceball"
ae = 0: ea = 80
be = 0: eb = 80
FOR d = 150 TO 167
FOR y = ae TO ea
IF INKEY$ = CHR$(27) THEN 10
FOR x = be TO eb
IF INKEY$ = CHR$(27) THEN 10
FOR g = 0 TO 11
CIRCLE (4 * x + 3 * SIN(x) + 32, 4 * y + 40), g, POINT(x, y) * d
NEXT g
NEXT x, y, d: LOCATE 1, 1: PRINT " "
FOR er = 1 TO 12900: fk = 89 + 88 * SIN(SIN(fk / (SIN(fk + 1)))):
IF INKEY$ = CHR$(27) THEN 100
NEXT er
c = 0
COLOR 11
CLS : SCREEN 13
0 IF c > 30 THEN GOTO 10: c = c + 3
fc = fc + 2: IF fc > 206 THEN fc = 100
LOCATE 3
PRINT ""
PRINT " (S)tart"
PRINT ""
PRINT " (H)ilfe"
PRINT ""
PRINT " (C)redits"
PRINT ""
PRINT " (E)xit to OS"
LOCATE 4, 16: COLOR fc + 10: PRINT "(S)"
LOCATE 6, 16: COLOR fc + 20: PRINT "(H)"
LOCATE 8, 16: COLOR fc + 30: PRINT "(C)"
LOCATE 10, 16: COLOR fc + 40: PRINT "(E)"
1
IF INP(&H60) = 18 THEN END
IF INP(&H60) = 35 THEN CLS : SHELL "type manual.txt": DO: LOOP UNTIL INKEY$ = CHR$(27): CLS
IF INP(&H60) = 31 THEN GOTO 10
IF INP(&H60) = 46 THEN CLS : SHELL "type credits.txt": DO: LOOP UNTIL INKEY$ = CHR$(27): CLS
IF INKEY$ = CHR$(27) THEN GOTO 10
GOTO 0
10
CLS
LOCATE 2, 1: COLOR 15: PRINT " "
LOCATE 23, 1: COLOR 15: PRINT " "
LOCATE 24, 29: PRINT "made on Covid"
v = 1.728: REM Form des Raumschiffs
y = 100: REM vertikale Startposition des Raumschiffs
t = 10.5: REM Startrichtung
COLOR 0
FOR d = 0 TO 200: CLS
FOR x = 0 TO 360 STEP s + 1: IF INKEY$ = CHR$(27) THEN GOTO 0
xx = x - 1: yy = y
IF INP(&H60) < 40 THEN t = INP(&H60)
s = INP(&H60) / 50
y = y + t / 25 - .5
v = .36
gh = 4
IF P > 849 THEN GOTO 1000
IF P < -19 THEN CLS : LOCATE 9, 20: COLOR 12: PRINT " Loser! Loser!": SOUND 1440, 18.2 * 1.5: PRINT "Shame on you!": PRINT "Fuckhead": END
LOCATE 1, 1: COLOR 6: PRINT P
IF INT(d / 6) < 10 THEN LOCATE 1, 33: COLOR 9: PRINT "Level"; 1 + INT(d / 6)
IF INT(d / 6) > 9 THEN LOCATE 1, 32: COLOR 10: PRINT "Level"; 1 + INT(d / 6)
IF INT(d / 6) > 99 THEN LOCATE 1, 31: COLOR 11: PRINT "Level"; 1 + INT(d / 6)
P = INT(d * 15 - a): REM Punktestand ermitteln
cf = x: IF cf > 255 THEN cf = 40: nf = 40
n2 = y: IF cf > 255 THEN cf = 50: nf = 50
IF ps = 3 THEN SWAP cf, n2
IF y < 18 THEN GOSUB 200
IF y > 155 THEN GOSUB 201
LOCATE 2, 1: COLOR cf: PRINT " "
LOCATE 23, 1: COLOR n2: PRINT " "
IF INKEY$ = CHR$(27) THEN GOTO 0
REM alten Kreis (Frame) lschen
CIRCLE (xx, yy), 13, 0, , , v - INT(d / 6)
CIRCLE (x, y), 13, 9, , , v - INT(d / 6)
CIRCLE (xx, yy), 12, 0, , , v - INT(d / 6)
CIRCLE (x, y), 12, 12, , , v - INT(d / 6)
CIRCLE (xx, yy), 11, 0, , , v - INT(d / 6)
CIRCLE (x, y), 11, 11, , , v - INT(d / 6)
IF d > 6 THEN ps = 1: REM Verschiedene Soundthemes
IF d > 8 THEN ps = 0: REM in Abhngigkeit vom
IF d > 14 THEN ps = 2: REM Level
IF d > 16 THEN ps = 0
IF d > 18 THEN ps = 3
IF d > 20 THEN ps = 4
IF d > 21 THEN ps = 5
IF ps = 1 THEN SOUND 37 + y, .1
IF ps = 2 THEN SOUND 18055 - 2 * x, .6
IF ps = 4 THEN SOUND 65 * SIN(x / 5) + 273, x / 1000
IF ps = 5 THEN SOUND 15625 + x - y, .09
IF INKEY$ = CHR$(27) THEN 0
NEXT x, d
100 SCREEN 0
FOR h = 0 TO 20: LOCATE 6, 17
OUT &H43, &HB6
OUT &H42, &HFF + h
OUT &H42, 90
OUT &H43, &H90
OUT &H61, h
OUT &H42, k
COLOR h + k: PRINT " ENDE": k = 21.12 * (SIN(k)) + k: NEXT h: COLOR 7
WHILE INKEY$ <> "": WEND: REM Tastaturpuffer leeren sonst
REM Tastatureingaben nach Programmende
REM auf der Eingabeaufforderung sichtbar
101 WHILE INKEY$ <> "": WEND: REM Tastaturpuffer leeren sonst
END
200
y = y + 25: REM Bildschirm soll bei Kollision mit Planke aufblinken
x = x + 1
a = a + 1
LOCATE 2, 1: COLOR 0: PRINT " "
SOUND 2000, 2.5: SOUND 2500, 1
IF kb = 0 THEN RETURN
FOR bc = 10 TO 920
OUT &H3C8, 0
OUT &H3C9, 64
OUT &H3C9, 128
OUT &H3C9, 255
OUT &H3C8, 0
OUT &H3C9, 0
OUT &H3C9, 0
OUT &H3C9, 0
NEXT bc
RETURN
201
y = y - 25
a = a + 1
x = x + 1
LOCATE 23, 1: COLOR 0: PRINT " "
SOUND 2000, 2.5: SOUND 2500, 1
IF kb = 0 THEN RETURN
FOR bc = 10 TO 920
OUT &H3C8, 0
OUT &H3C9, 64
OUT &H3C9, 128
OUT &H3C9, 255
OUT &H3C8, 0
OUT &H3C9, 0
OUT &H3C9, 0
OUT &H3C9, 0
NEXT bc
RETURN
1000 LOCATE 11, 17: COLOR 12: PRINT "WINNER": FOR R = 1 TO 20: POKE 12 * 80 + R, R: SOUND 1000 + RND * 152, 3: NEXT R: WHILE INKEY$ <> "": WEND: END
1001 RETURN
10000 RETURN |
|
Nach oben |
|
 |
|
|
Du kannst keine Beitrge in dieses Forum schreiben. Du kannst auf Beitrge in diesem Forum nicht antworten. Du kannst deine Beitrge in diesem Forum nicht bearbeiten. Du kannst deine Beitrge in diesem Forum nicht lschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|