DECLARE SUB gameover (win$) DECLARE SUB intro () DECLARE SUB start (play1$, play2$, li%) DECLARE SUB playy (skott1%, hjal%, li%, play1$, play2$) DECLARE SUB lineup (skott1%, hjal%) CLS RANDOMIZE TIMER intro borj: start play1$, play2$, li% lineup skott1%, hjal% playy skott1%, hjal%, li%, play1$, play2$ DIM SHARED hjal%(1 TO 200) DIM SHARED skott1%(1 TO 200) CONST true = 1 CONST false = 0 GOTO borj SUB gameover (win$) CLS SCREEN 12 BEEP PRINT " Congratulations "; win$; ", you won." PRINT "" PRINT "" PRINT " This game was made of Andreas Wennstr”m, Sweden." PRINT " " PRINT " Press Esc to quit." DO LOOP UNTIL INKEY$ = CHR$(27) END sla: END SUB SUB intro SCREEN 8 1 LOCATE 11 PRINT " W.E.P PRESENTS" a = a + 1 IF INKEY$ = CHR$(27) THEN GOTO sl IF a = 1200 THEN GOTO 2 GOTO 1 2 LOCATE 11 PRINT " A GAME DEVELOPED WITH SWEAT AND TEARS" b = b + 1 IF INKEY$ = CHR$(27) THEN GOTO sl IF b = 1200 THEN GOTO 3 GOTO 2 sl: 3 SCREEN 7 LOCATE 4 PRINT " Dogfight" LOCATE 6 PRINT " The first challange" LOCATE 7 PRINT " ver 1.011" LOCATE 9 PRINT " 31/3/97" LOCATE 16 PRINT " Press Esc to begin..." SOUND 45, 25 DO LOOP UNTIL INKEY$ = CHR$(27) END SUB SUB lineup (hjal%, skott1%) SCREEN 7 LINE (10, 10)-(13, 20), 3, BF DRAW "c1bl5bu7l3d1r3bl6l3u1r3bd5c4l4r11" CLS LINE (10, 10)-(13, 13), 4, BF GET (10, 10)-(13, 13), skott1% CLS LINE (10, 10)-(15, 20), 5, BF GET (10, 10)-(20, 25), hjal% CLS END SUB SUB playy (skott1%, hjal%, li%, play1$, play2$) m1 = 10 m2 = 10 n1 = 300 n2 = 180 dir = 1 dir2 = 3 kbd$ = INKEY$ e1% = li% e2% = li% LOCATE 20 PRINT "" PRINT "Nrg "; play$; " = "; e1%; " Nrg "; play2$; " = "; e2% DO PUT (m1, m2), hjal%, XOR PUT (n1, n2), hjal%, XOR IF aa = 1 THEN GOTO efteraa CLS LOCATE 20 PRINT "" s1 = m1 s2 = m2 REM PRINT " Nrg "; play1$; " = "; e1%; " Nrg "; play2$; " = "; e2% aa = 1 VIEW (30, 10)-(280, 150), 7 efteraa: IF ab = 1 THEN GOTO efterab t1 = n1 t2 = n2 CLS LOCATE 20 PRINT "" PRINT " Nrg "; play1$; " = "; e1%; " Nrg "; play2$; " = "; e2% ab = 1 VIEW (30, 10)-(280, 150), 7 efterab: kbd$ = INKEY$ SELECT CASE kbd$ CASE CHR$(0) + "M": m1 = m1 + 3: dir = 1 CASE CHR$(0) + "P": m2 = m2 + 3: dir = 2 CASE CHR$(0) + "K": m1 = m1 - 3: dir = 3 CASE CHR$(0) + "H": m2 = m2 - 3: dir = 4 CASE CHR$(97): IF shoot2 = 0 THEN shoot2 = 1: SOUND 95, 1 CASE CHR$(27): END CASE CHR$(103): n1 = n1 + 3: dir2 = 1 CASE CHR$(102): n2 = n2 + 3: dir2 = 2 CASE CHR$(114): n2 = n2 - 3: dir2 = 4 CASE CHR$(100): n1 = n1 - 3: dir2 = 3 CASE CHR$(13): IF shoot = 0 THEN shoot = 1: SOUND 95, 1 END SELECT s3 = s1 + 5 s4 = s2 + 5 t3 = t1 + 5 t4 = t2 + 5 REM IF s1 <= t3 AND s1 >= t1 AND s2 <= t4 AND s2 >= t2 OR t1 <= s3 AND t1 >= s1 AND t2 <= s4 AND t2 >= s2 THEN REM shoot2 = 0 REM shoot = 0 REM ex = 1 REM SOUND 45, 15 REM ab = 0 REM aa = 0 REM END IF IF m1 >= 240 THEN m1 = 240 IF m1 <= 1 THEN m1 = 1 IF m2 <= 1 THEN m2 = 1 IF m2 >= 125 THEN m2 = 125 IF n1 >= 240 THEN n1 = 240 IF n1 <= 1 THEN n1 = 1 IF n2 <= 1 THEN n2 = 1 IF n2 >= 125 THEN n2 = 125 n3 = n1 + 5 n4 = n2 + 10 m3 = m1 + 5 m4 = m2 + 10 IF s1 >= n1 AND s1 <= n3 AND s2 >= n2 AND s2 <= n4 THEN IF pl1% = false THEN e2% = e2% - 1 IF pl1% = true THEN e2% = e2% - 2 IF e2% <= 0 THEN win$ = play1$ IF e2% <= 0 THEN CALL gameover(win$) p1t = true IF p1t = true THEN shoot = 0 IF p1t = true THEN SOUND 65, 4 IF p1t = true THEN aa = 0 LOCATE 20 PRINT " "; play1$; " hits "; play2$ PRINT "Nrg "; play1$; " = "; e1%; " Nrg "; play2$; " = "; e2% RANDOMIZE TIMER p1% = INT(RND + 5) + 1 IF p1% = 1 THEN PRINT "Keep up the good job, "; play2$ IF p1% = 2 THEN PRINT "You are too slow "; play1$ IF p1% = 3 THEN PRINT "I think that hurts "; play1$ END IF IF t1 >= m1 AND t1 <= m3 AND t2 >= m2 AND t2 <= m4 THEN IF pl2% = false THEN e1% = e1% - 1 IF pl2% = true THEN e1% = e1% - 2 IF e1% <= 0 THEN win$ = play2$ IF e1% <= 0 THEN CALL gameover(win$) p2t = true IF p2t = true THEN shoot2 = 0 IF p2t = true THEN SOUND 65, 4 IF p2t = true THEN ab = 0 LOCATE 20 PRINT " "; play2$; " hits "; play1$ PRINT "Nrg "; play1$; " = "; e1%; " Nrg "; play2$; " = "; e2% RANDOMIZE TIMER p2% = INT(RND + 5) + 1 IF p2% = 1 THEN PRINT "Keep up the good job, "; play2$ IF p2% = 2 THEN PRINT "You are too slow "; play1$ IF p2% = 3 THEN PRINT "I think that hurts "; play1$ END IF PUT (m1, m2), hjal% PUT (n1, n2), hjal% IF shoot = 1 THEN dira = dir REM PUT (m1, m2), skott1% shoot = 2 s1 = m1 + 1 s2 = m2 + 3 SOUND 38, 2 END IF IF shoot2 = 1 THEN dirb = dir2 PUT (m1, m2), skott1% shoot2 = 2 t1 = n1 + 1 t2 = n2 + 3 SOUND 38, 2 END IF IF shoot = 2 THEN PUT (s1, s2), skott1%, XOR IF dira = 4 THEN s2 = s2 - .2 IF dira = 1 THEN s1 = s1 + .2 IF dira = 2 THEN s2 = s2 + .2 IF dira = 3 THEN s1 = s1 - .2 PUT (s1, s2), skott1% IF s2 <= 0 THEN shoot = 0 IF s2 <= 0 THEN SOUND 50, 3 IF s2 <= 0 THEN aa = 0 IF s2 >= 137 THEN shoot = 0 IF s2 >= 137 THEN SOUND 50, 3 IF s2 >= 137 THEN aa = 0 IF s1 <= 0 THEN shoot = 0 IF s1 <= 0 THEN SOUND 50, 3 IF s1 <= 0 THEN aa = 0 IF s1 >= 246 THEN shoot = 0 IF s1 >= 246 THEN SOUND 50, 3 IF s1 >= 246 THEN aa = 0 END IF IF shoot2 = 2 THEN PUT (t1, t2), skott1%, XOR IF dirb = 4 THEN t2 = t2 - .2 IF dirb = 1 THEN t1 = t1 + .2 IF dirb = 2 THEN t2 = t2 + .2 IF dirb = 3 THEN t1 = t1 - .2 PUT (t1, t2), skott1% IF t2 <= 0 THEN shoot2 = 0 IF t2 <= 0 THEN SOUND 50, 3 IF t2 <= 0 THEN ab = 0 IF t2 >= 137 THEN shoot2 = 0 IF t2 >= 137 THEN SOUND 50, 3 IF t2 >= 137 THEN ab = 0 IF t1 <= 0 THEN shoot2 = 0 IF t1 <= 0 THEN SOUND 50, 3 IF t1 <= 0 THEN ab = 0 IF t1 >= 246 THEN shoot2 = 0 IF t1 >= 246 THEN SOUND 50, 3 IF t1 >= 246 THEN ab = 0 END IF LOOP END SUB SUB start (play1$, play2$, li%) bor: CLS SCREEN 12 LOCATE 5 PRINT " Welcome to Dogfight ver 1.011." PRINT " 1. Start" PRINT " 2. Instructions" PRINT " 3. Quit" INPUT " ", svar IF svar = 1 THEN GOTO star IF svar = 3 THEN END IF svar = 2 THEN GOTO inst inst: CLS PRINT "" PRINT " Player 1 moves with the arrows and shoots with the Return key." PRINT " Player 2 moves with d r f g buttons and shoots with the a button." PRINT " The goal for you is to shoot your oppenent until thereďs nothing" PRINT " left of him. Good luck!" SLEEP 0 GOTO bor star: PRINT " Please input necessery data:" INPUT " Player 1 "; play1$ INPUT " Player 2 "; play2$ IF play1$ = "wingame" THEN PRINT " Be aware "; play2$; ", "; play1$; " is cheating!" IF play1$ = "wingame" THEN PRINT " Be aware "; play1$; ", "; play2$; " is cheating!" IF play1$ = "wingame" THEN pl1% = true IF play2$ = "wingame" THEN pl2% = true IF play1$ = "end" AND play2$ = "less" THEN win$ = "The best cheater": CALL gameover(win$) INPUT " Life:(default = 5) "; li% IF li% = 0 THEN li% = 5 END SUB