Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't actually run, error in line 1299 #4

Open
SkybuckFlying opened this issue Jan 23, 2020 · 3 comments
Open

Doesn't actually run, error in line 1299 #4

SkybuckFlying opened this issue Jan 23, 2020 · 3 comments

Comments

@SkybuckFlying
Copy link

1299 SCREEN 0,1:IF SAMPLES$="YES" THEN CHAIN"samples",1000 ELSE COLOR 7,0,0:CLS:END

,1000 unexpected end of statement or something like that it says in QBASIC in ms-dos 6.22

@SkybuckFlying
Copy link
Author

SkybuckFlying commented Jan 23, 2020

I Found this version, which does actually run, I call it donkey2.bas:
REM The IBM Personal Computer Donkey
REM Version 1.10 (C)Copyright IBM Corp 1981, 1982
REM Licensed Material - Program Property of IBM
DEF SEG : POKE 106, 0
SAMPLES$ = "NO"
DIM CAR%(900)
GOTO 1010
SAMPLES$ = "YES"
1010 KEY OFF: SCREEN 0, 1: COLOR 15, 0, 0: WIDTH 40: CLS : LOCATE 5, 19: PRINT "IBM"
LOCATE 7, 12, 0: PRINT "Personal Computer"
COLOR 10, 0: LOCATE 10, 9, 0: PRINT CHR$(213) + STRING$(21, 205) + CHR$(184)
LOCATE 11, 9, 0: PRINT CHR$(179) + " DONKEY " + CHR$(179)
LOCATE 12, 9, 0: PRINT CHR$(179) + STRING$(21, 32) + CHR$(179)
LOCATE 13, 9, 0: PRINT CHR$(179) + " Version 1.10 " + CHR$(179)
LOCATE 14, 9, 0: PRINT CHR$(212) + STRING$(21, 205) + CHR$(190)
COLOR 15, 0: LOCATE 17, 4, 0: PRINT "(C) Copyright IBM Corp 1981, 1982"
COLOR 14, 0: LOCATE 23, 7, 0: PRINT "Press space bar to continue"
1100 IF INKEY$ <> "" THEN GOTO 1100
1110 CMD$ = INKEY$
IF CMD$ = "" THEN GOTO 1110
IF CMD$ = CHR$(27) THEN GOTO 1298
IF CMD$ = " " THEN GOTO 1160
GOTO 1110
1160 DEF SEG = 0
IF (PEEK(&H410) AND &H30) <> &H30 THEN DEF SEG : GOTO 1291
WIDTH 80: CLS : LOCATE 3, 1
PRINT "HOLD IT!"
PRINT "YOU'RE NOT USING THE COLOR/GRAPHICS MONITOR ADAPTER!"
PRINT "THIS PROGRAM USES GRAPHICS AND REQUIRES THAT ADAPTER."
PRINT "PRESS THE SPACE BAR TO CONTINUE."
DEF SEG
1240 IF INKEY$ <> "" THEN GOTO 1240
1250 CMD$ = INKEY$
IF CMD$ = "" THEN GOTO 1250
IF CMD$ = CHR$(27) THEN GOTO 1298
IF CMD$ = " " THEN GOTO 1298
GOTO 1250
1291 KEY OFF
ON ERROR GOTO 1295
PLAY "p16"
GOTO 1300
1295 COLOR 31, 0, 0
PRINT "THIS PROGRAM REQUIRES ADVANCED BASIC -- USE COMMAND 'BASICA'": COLOR 15, 0, 0: FOR I = 1 TO 9000: NEXT: RESUME 1298
1298 ON ERROR GOTO 0
SCREEN 0, 1: COLOR 7, 0, 0: CLS : END
1300 REM
COLOR 0
DEFINT A-Y
SCREEN 1, 0: COLOR 8, 1
DIM Q%(500)
DIM D1%(150), D2%(150), C1%(200), C2%(200)
DIM DNK%(300)
GOSUB 1940
GOSUB 1780
CLS
DIM B%(300)
FOR I = 2 TO 300: B%(I) = -16384 + 192: NEXT
B%(0) = 2: B%(1) = 193
1540 REM
CX = 110: CLS
LINE (0, 0)-(305, 199), , B
LINE (6, 6)-(97, 195), 1, BF
LINE (183, 6)-(305, 195), 1, BF
LOCATE 3, 5: PRINT "Donkey"
LOCATE 3, 29: PRINT "Driver"
LOCATE 19, 25: PRINT "Press Space ";
LOCATE 20, 25: PRINT "Bar to switch";
LOCATE 21, 25: PRINT "lanes ";
LOCATE 23, 25: PRINT "Press ESC ";
LOCATE 24, 25: PRINT "to exit ";
FOR Y = 4 TO 199 STEP 20: LINE (140, Y)-(140, Y + 10): NEXT
CY = 105: CX = 105
LINE (100, 0)-(100, 199): LINE (180, 0)-(180, 199)
1670 LOCATE 5, 6: PRINT SD: LOCATE 5, 31: PRINT SM
CY = CY - 4: IF CY < 60 THEN 2230
PUT (CX, CY), CAR%, PRESET
DX = 105 + 42 * INT(RND * 2)
FOR Y = (RND * -4) * 8 TO 124 STEP 6
SOUND 20000, 1
A$ = INKEY$: IF A$ = CHR$(27) THEN 1298 ELSE POKE 106, 0: IF LEN(A$) > 0 THEN LINE (CX, CY)-(CX + 28, CY + 44), 0, BF: CX = 252 - CX: PUT (CX, CY), CAR%, PRESET: SOUND 200, 1
IF Y >= 3 THEN PUT (DX, Y), DNK%, PSET
IF CX = DX AND Y + 25 >= CY THEN 2060
IF Y AND 3 THEN PUT (140, 6), B%
NEXT: LINE (DX, 124)-(DX + 32, 149), 0, BF: GOTO 1670
1780 CLS
DRAW "S8C3"
DRAW "BM12,1r3m+1,3d2R1ND2u1r2d4l2u1l1"
DRAW "d7R1nd2u2r3d6l3u2l1d3m-1,1l3"
DRAW "m-1,-1u3l1d2l3u6r3d2nd2r1u7l1d1l2"
DRAW "u4r2d1nd2R1U2"
DRAW "M+1,-3"
DRAW "BD10D2R3U2M-1,-1L1M-1,1"
DRAW "BD3D1R1U1L1BR2R1D1L1U1"
DRAW "BD2BL2D1R1U1L1BR2R1D1L1U1"
DRAW "BD2BL2D1R1U1L1BR2R1D1L1U1"
LINE (0, 0)-(40, 60), , B
PAINT (1, 1)
REM DIM CAR%(900)
GET (1, 1)-(29, 45), CAR%
RETURN
1940 CLS
DRAW "S08"
DRAW "BM14,18"
DRAW "M+2,-4R8M+1,-1U1M+1,+1M+2,-1"
DRAW "M-1,1M+1,3M-1,1M-1,-2M-1,2"
DRAW "D3L1U3M-1,1D2L1U2L3D2L1U2M-1,-1"
DRAW "D3L1U5M-2,3U1"
PAINT (21, 14), 3
PRESET (37, 10): PRESET (40, 10)
PRESET (37, 11): PRESET (40, 11)
GET (13, 0)-(45, 25), DNK%
RETURN
2060 SD = SD + 1: LOCATE 14, 6: PRINT "BOOM!"
GET (DX, Y)-(DX + 16, Y + 25), D1%
D1X = DX: D1Y = Y: D2X = DX + 17
GET (DX + 17, Y)-(DX + 31, Y + 25), D2%
GET (CX, CY)-(CX + 14, CY + 44), C1%
GET (CX + 15, CY)-(CX + 28, CY + 44), C2%
C1X = CX: C1Y = CY: C2X = CX + 15
FOR P = 6 TO 0 STEP -1: Z = 1 / (2 ^ P): Z1 = 1 - Z
PUT (C1X, C1Y), C1%: PUT (C2X, C1Y), C2%
PUT (D1X, D1Y), D1%: PUT (D2X, D1Y), D2%
C1X = CX * Z1: D1Y = Y * Z1: C2X = C2X + (291 - C2X) * Z
D1X = DX * Z1: C1Y = C1Y + (155 - C1Y) * Z: D2X = D2X + (294 - D2X) * Z
PUT (C1X, C1Y), C1%: PUT (C2X, C1Y), C2%
PUT (D1X, D1Y), D1%: PUT (D2X, D1Y), D2%
SOUND 37 + RND * 200, 4: NEXT
FOR Y = 1 TO 2000: NEXT
CLS : GOTO 1540
2230 SM = SM + 1: LOCATE 7, 25: PRINT "Donkey loses!"
FOR Y = 1 TO 1000: NEXT
CLS : GOTO 1540

@SkybuckFlying
Copy link
Author

SkybuckFlying commented Jan 23, 2020

LOL Seems like Bill Gates was quite the saddist lol. There is a counter in there, counting how many donkeys were hit lol. Makes me laugh lol.

CARMAGEDON ! =D

This game proves Bill Gates was truely ahead of his time ! LOLOLOLOL. Or carmagedon was inpsired by this lol, you pick which =D

Also quite funny how the real PC speakers keeps humming if VMWare or the game is quite while it s humming/buzzing woopsie ! =D
I don't understand where there is a driver counter though, it just says zero, maybe there is a multiplayer version or an end to this game probably not though.
I also like how the car and the donkey explodes, such an advanced graphics ! ;) =D

LOL I had to start this game again to get rid of the buzzing lol of the pc speakers. Never seen that before ! ;) :)

@coding-horror
Copy link
Owner

There's a variety of BASIC out there, so I'm not entirely sure which one this was for. Presumably the IBM PC, I'd have to dig around -- if you find any sources let me know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants