'=========================================================================== ' Subject: BASKETBALL CHALLENGE Date: 02-16-98 (00:00) ' Author: Dominick Aguilar Code: QB, QBasic, PDS ' Origin: BCase10582@aol.com Packet: GAMES.ABC '=========================================================================== ' Dennis Rodman Basketball Challenge v1.0 ' By ' Dominick Aguilar ' Sorry, no intro screen, just the lame game ' Instructions: Squat Down to increase power /\ ' ------------ Move Arm to change angle < NumPad > ' \/ ' Ball inflation is just a little extra variation ' E-Mail BCase10582@aol.com ' 'NOTE: DELAY loop can be altered (see below) ' SCREEN 12 CLS pi = 3.14159: score = 0: hs = 0 mx = 14: my = 285: a = pi / 4: kx = 24: ky = 380: jjp = 0: v = 20 COLOR 1 CIRCLE (25, 300), 10, 6: PAINT (25, 300), 6, 6 LINE (15, 305)-(35, 295), 0: PAINT (22, 300), 2, 0 LINE (23, 310)-(27, 320), 6, BF CIRCLE (25, 325), 5, 15: PAINT (25, 325), 15, 15 LINE (20, 327)-(30, 350), 15, BF LINE (20, 352)-(30, 360), 3, BF LINE (20, 361)-(30, 361), 6 CIRCLE (25, 307), 2, 14 LINE (20, 400)-(22, 405), 12, BF LINE (20, 400)-(27, 405), 12 LINE (28, 403)-(35, 405), 12, BF DIM man(3000): GET (14, 285)-(36, 365), man DIM shoe(100): GET (19, 400)-(35, 410), shoe LINE (608, 100)-(609, 200), 15, B LINE (610, 160)-(622, 170), 8, BF LINE (615, 170)-(622, 409), 8, BF LINE (558, 160)-(598, 161), 6, B LINE (0, 411)-(625, 412), 14, B LINE (598, 162)-(607, 170), 4 LINE (598, 162)-(607, 162), 4 2 COLOR 15: LOCATE 10, 10: INPUT "Enter Ball Inflation pressure (1-20)", e LOCATE 10, 10: PRINT " " IF e < 1 OR e > 20 THEN 2 e = (e + 78) / 100 3 a$ = INKEY$: IF a$ = "" THEN 3 4 IF a$ = " " THEN jjp = 1 IF jjp = 1 THEN v = v + 1: a$ = "8" LINE (0, 200)-(70, 400), 0, BF IF a$ = "2" AND kx < 45 THEN kx = kx + 2: ky = ky + 1: my = my + 2 IF a$ = "8" AND kx > 24 THEN kx = kx - 2: ky = ky - 1: my = my - 2 IF a$ = "4" AND a < pi / 2.5 THEN a = a + pi / 180 IF a$ = "6" AND a > pi / 8 THEN a = a - pi / 180 PUT (mx, my), man, PSET PUT (19, 400), shoe, PSET CIRCLE (kx, ky), 2, 6 LINE (20, my + 77)-(kx - 1, ky), 6: LINE (30, my + 77)-(kx + 1, ky), 6 LINE (kx - 1, ky)-(23, 400), 6: LINE (kx + 1, ky)-(26, 403), 6 LINE (25, my + 42)-(25 + 40 * COS(a), my + 42 - 40 * SIN(a)), 6 LINE (25 + 40 * COS(a), my + 42 - 40 * SIN(a))-(25 + 40 * COS(a + pi / 4), my + 42 - 40 * SIN(a + pi / 4)), 6 xs = 25 + 40 * COS(a + pi / 4): ys = my + 42 - 40 * SIN(a + pi / 4) CIRCLE (xs, ys), 8, 6 IF ky <= 380 AND jjp = 1 THEN CIRCLE (xs, ys), 8, 0: jjp = 0: GOTO 5 IF jjp = 1 THEN 4 GOTO 3 5 COLOR 15 ac = 0: t = 0: vc = 0 10 REM LINE (558, 160)-(598, 161), 6, B LINE (598, 162)-(607, 170), 4 LINE (598, 162)-(607, 162), 4 t = t + .006: REM ------------- CHANGE .007 to .009 or .01 IF STILL TOO SLOW REM ----------- DELAY IS HERE -------- FOR d = 1 TO 20: NEXT d xx = 30 * (v * t * COS(a)) x = xs + xx yy = -30 * (v * t * SIN(a) - (16 * t ^ 2)) y = ys + yy IF y > 160 THEN sc = 2 IF y < 160 THEN sc = 0 IF v < .2 THEN msg$ = "Next!": GOTO 2000 IF INT(y) >= 400 THEN GOSUB 400: GOTO 10 IF INT(x) >= 590 AND y > 105 THEN GOSUB 100: GOTO 10 IF INT(x) > 650 THEN msg$ = "LOST BALL!": score = 0: GOTO 2000 IF INT(x) <= 0 THEN GOSUB 200: GOTO 10 IF sc = 2 AND ABS(INT(x - 604)) < 6 AND ABS(INT(y - 160)) < 5 THEN SOUND 100, .7: ys = y: v = v * .7 * e: xs = x: : t = 0: GOTO 10 IF sc = 2 AND ABS(INT(x - 558)) < 4 AND ABS(INT(y - 160)) < 6 THEN SOUND 120, .7: ys = y: v = v * .7 * e: xs = x: : t = 0: GOTO 10 IF sc = 2 AND INT(x) >= 558 AND INT(x) <= 602 AND ABS(INT(y - 160)) < 10 THEN scc = 2 IF scc = 2 AND ABS(INT(y - 160)) > 10 THEN score = score + 2: scc = 0: FOR d = 1 TO 10: SOUND 3000 * d, .4: NEXT d IF score > hs THEN hs = score 50 REM COLOR 0: CIRCLE (xc, yc), (8) xc = x: yc = y COLOR 6: CIRCLE (xc, yc), (8) COLOR 15 LOCATE 27, 5: PRINT "Score"; score, "High Score: "; hs GOTO 10 100 REM xs = 600 + (600 - xs) a = pi - a RETURN 200 REM xs = 10 - xs a = pi - a IF x < 60 THEN CIRCLE (xc, yc), 8, 0: msg$ = "Shoot Again!": GOTO 2000 RETURN 400 REM t = 0: v = vc + v * e: a = a + ac: xs = x: ys = y: vc = 0: ac = 0 SOUND 50, .6 RETURN 2000 : REM ---- Messages LOCATE 10, 10: PRINT msg$ DO: LOOP UNTIL INKEY$ <> "" LOCATE 10, 10: PRINT " " v = 20: a = pi / 4 LINE (25, my + 42)-(25 + 40 * COS(a), my + 42 - 40 * SIN(a)), 0 LINE (25 + 40 * COS(a), my + 42 - 40 * SIN(a))-(25 + 40 * COS(a + pi / 4), my + 42 - 40 * SIN(a + pi / 4)), 0 IF msg$ = "LOST BALL!" THEN score = 0: GOTO 2 ra = INT(RND(1) * 3) + 1: a = a + ra * (pi / 157) GOTO 3