'Pacmon 1.0 ' 'Copyright (C) WendelSoft, 1997-2000 ' ' / F5 para jogar 'Tecle ' \ Alt+A,R para sair ' DECLARE SUB Start () DECLARE SUB PutObject (n%, x%, y%) DECLARE SUB Vertical (x%, y%) DECLARE SUB Horizontal (x%, y%) DECLARE SUB DoScreen (flag%) DECLARE SUB Segment (a%, B%, c%, d%) '$STATIC RANDOMIZE TIMER TYPE XY cx AS INTEGER cy AS INTEGER dir AS INTEGER count AS INTEGER END TYPE DEFINT A-Z VIEW PRINT tx! = TIMER FOR t! = 0 TO 2000: NEXT tx! = TIMER - tx! tx! = 20 / tx! CONST MaxEn = 5 CONST MaxLevel = 10 DIM SHARED PacmonCGF(2000) AS DOUBLE DIM SHARED Level, DLevel, eSpeed, SoundF DIM SHARED En(22) AS LONG, EnPos(1 TO MaxEn) AS XY, tEnemy DIM SHARED It1(22) AS LONG, It2(22) AS LONG, It3(22) AS LONG, It4(22) AS LONG DIM SHARED Object(8, 15), Direction(8, 15), tObject DIM SHARED Pm(22) AS LONG, xp, yp, Pt, Lf, vct, ct DIM SHARED V(8, 16), H(9, 15) RESTORE Pman: FOR i = 0 TO 22: READ Pm(i): NEXT RESTORE Enemy: FOR i = 0 TO 22: READ En(i): NEXT RESTORE Item1: FOR i = 0 TO 22: READ It1(i): NEXT RESTORE Item2: FOR i = 0 TO 22: READ It2(i): NEXT 'RESTORE Item3: FOR i = 0 TO 22: READ It3(i): NEXT 'RESTORE Item4: FOR i = 0 TO 22: READ It4(i): NEXT OPEN "Pacmon.CGF" FOR BINARY AS #1: FOR i = 0 TO 2000: GET #1, SEEK(1), PacmonCGF(i): NEXT: CLOSE #1 s$ = CHR$(14): SoundF = -1 vct = 4 DO Start Level = 1 Pt = 0: Lf = 5 Restart: DoScreen -1 DO LOCATE 1, 2: PRINT USING "Pts:##### Lf:\ \ !"; Pt; STRING$(Lf, 1); s$; vx = (xp + 13) \ 20 vy = (yp + 8) \ 20 axp = xp ayp = yp IF ct = 0 THEN SELECT CASE INKEY$ CASE CHR$(27): EXIT DO CASE "S", "s" SoundF = NOT SoundF: IF SoundF THEN s$ = CHR$(14) ELSE s$ = " " CASE CHR$(0) + "H": IF NOT H(vy, vx) THEN d = 1: ct = vct CASE CHR$(0) + "P": IF NOT H(vy + 1, vx) THEN d = 2: ct = vct CASE CHR$(0) + "M": IF NOT V(vy, vx + 1) THEN d = 3: ct = vct CASE CHR$(0) + "K": IF NOT V(vy, vx) THEN d = 4: ct = vct END SELECT IF ct = vct THEN Direction(vy, vx) = d END IF IF ct > 0 THEN ct = ct - 1 SELECT CASE d CASE 1: yp = yp - 20 \ vct CASE 2: yp = yp + 20 \ vct CASE 3: xp = xp + 20 \ vct CASE 4: xp = xp - 20 \ vct END SELECT END IF n = Object(vy, vx) IF n THEN Pt = Pt + n IF SoundF THEN SOUND 0, 0: PLAY "MBl32o4cdfg" IF Pt MOD 100 = 0 OR (n = 2 AND Pt MOD 100 = 1) THEN IF SoundF THEN SOUND 0, 0: PLAY "MBl32o5cdfgfg" Lf = Lf + 1 END IF IF Lf > 10 THEN Lf = 10 PutObject n, vx * 20 - 13, vy * 20 - 8 Object(vy, vx) = 0 tObject = tObject - 1 IF tObject = 0 THEN IF SoundF THEN PLAY "MFl32o2cdfgo3cdfgo4cdfg" Level = Level + 1 Lf = Lf + 1 IF Lf > 10 THEN Lf = 10 IF Level > MaxLevel THEN EXIT DO GOTO Restart END IF END IF PUT (axp, ayp), Pm PUT (xp, yp), Pm FOR i = 1 TO tEnemy xe = EnPos(i).cx ye = EnPos(i).cy de = EnPos(i).dir ect = EnPos(i).count axe = xe aye = ye vxe = (xe + 13) \ 20 vye = (ye + 8) \ 20 vf = 0 1 vf = vf + 1 IF vf = 4 THEN vf = 0: de = 0 IF ect = 0 THEN ch = INT(RND * 100) IF ch < 100 - DLevel OR de = 0 THEN de = (de + 1) MOD 5 IF de = 0 OR INT(RND * 4) = 0 THEN de = INT(RND * 5) ELSEIF ch THEN d2 = Direction(vye, vxe) IF d2 > 0 THEN de = d2 ELSE de = INT(RND * 5) END IF SELECT CASE de CASE 1 IF NOT H(vye, vxe) THEN ect = vct ELSE IF vf = 1 THEN de = 2 GOTO 1 END IF CASE 2 IF NOT H(vye + 1, vxe) THEN ect = vct ELSE IF vf = 1 THEN de = 1 GOTO 1 END IF CASE 3 IF NOT V(vye, vxe + 1) THEN ect = vct ELSE IF vf = 1 THEN de = 4 GOTO 1 END IF CASE 4 IF NOT V(vye, vxe) THEN ect = vct ELSE IF vf = 1 THEN de = 3 GOTO 1 END IF END SELECT END IF IF ect > 0 AND INT(RND * 10) < eSpeed THEN ect = ect - 1 SELECT CASE de CASE 1: ye = ye - 20 \ vct CASE 2: ye = ye + 20 \ vct CASE 3: xe = xe + 20 \ vct CASE 4: xe = xe - 20 \ vct END SELECT END IF PUT (axe, aye), En PUT (xe, ye), En IF vxe = vx AND vye = vy THEN IF SoundF THEN SOUND 0, 0: PLAY "MBl32o2cdfg" Lf = Lf - 1: IF Lf = 0 THEN EXIT DO FOR ky = yp TO 180 STEP 3 PUT (xp, ky), Pm PUT (xp, ky + 3), Pm FOR t! = 0 TO tx!: NEXT NEXT PUT (xp, ky), Pm DoScreen 0 EXIT FOR END IF EnPos(i).cx = xe EnPos(i).cy = ye EnPos(i).dir = de EnPos(i).count = ect NEXT FOR t! = 0 TO tx!: NEXT LOOP SCREEN 0 WIDTH 80 PRINT "Fim do jogo" PRINT IF Level > MaxLevel THEN PRINT "Parabens, voce venceu" PRINT USING "Pontos:#####"; Pt PRINT PRINT "Continua [s/n] ? "; DO: k$ = UCASE$(INPUT$(1)): LOOP UNTIL k$ = "S" OR k$ = "N" PRINT k$; BEEP LOOP UNTIL k$ = "N" PRINT SYSTEM Pman: DATA 1114146,0,0,0,0,0,5506304,-1457913856,1778450432,16797866,9478818 DATA -1867863551,-1431699200,1744896144,20490,43290,5506304,0,0,0,0,0,0 Enemy: DATA 1114146,0,0,-1442185216,167815338,11051682,-1467308022,715655680 DATA -1442185048,167815338,11051682,-1465210358,44042752,-1576402776,167815330,11053738,-1465210358,-1431696896,-1442185048,43178,3900,0,0 Item1: DATA 1114146,16255744,-89456640,-1560149888,167813362,2621440,167772200,10240 DATA 10485770,-1602223616,-2147352576,33554592,41088,10518530,679477760,655360 DATA 167772200,2560,-1610481624,40962,8432298,11012608,0 Item2: DATA 1114146, 11012608, 1453654016, 1510080640, 151019689, 10005162 DATA -1498764762,-1431689728,-1432747866,-1702843990,-2136364374,-1448432998 DATA -1431659904,-1432715095, 645966250, 10922666,-1498764762,-1431697152 DATA 1510080664, 24745, 8410789, 11012608, 0 ' ' ' ' ' Defini‡ao de telas ' || ' || ' \ || / ' \/ Scrn01: DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ/" DATA "|2 2|2 2 2 2|2|2 2|2 2 2|2 2 2|/" DATA "þ þ-þ-þ-þ-þ þ þ þ þ-þ þ þ þ-þ þ/" DATA "|2|1 1|1 1 1 1|1|1 1 1|1|1 1|2|/" DATA "þ þ þ þ þ-þ-þ-þ þ-þ-þ-þ þ-þ þ þ/" DATA "|2 1|1|1 1|1 1 1 1|1 1 1|1|1|2|/" DATA "þ-þ þ-þ-þ þ þ-þ þ þ þ-þ þ þ þ þ/" DATA "|2 1 1 1 1|1 1|p|1 1|1 1|e|1 2|/" DATA "þ-þ þ þ-þ þ-þ þ-þ þ-þ þ-þ þ þ-þ/" DATA "|2 1|e|1 1|1 1|1|1 1|1 1 1 1 2|/" DATA "þ þ þ þ þ-þ þ þ þ-þ þ þ-þ-þ þ-þ/" DATA "|2|1|1|1 1 1|1 1 1 1|1 1|1|1 2|/" DATA "þ þ þ-þ þ-þ-þ-þ þ-þ-þ-þ þ þ þ þ/" DATA "|2|1 1|1|1 1 1|1|1 1 1 1|1 1|2|/" DATA "þ þ-þ þ þ þ-þ þ þ þ þ-þ-þ-þ-þ þ/" DATA "|2 2 2|2 2 2|2 2|2|2 2 2 2|2 2|/" DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ#" Scrn02: DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ/" DATA "|1 1 1 1|1 1|1 2|1 1|1|1 1 1|2|/" DATA "þ þ þ-þ þ þ þ þ þ þ þ þ þ-þ þ þ/" DATA "|1|1 1|1 1|1 1|e 1|1 1|1 1|1 1|/" DATA "þ þ-þ þ-þ-þ þ-þ-þ-þ þ þ þ þ-þ þ/" DATA "|1|1|1 1 1|1 1|1|1 1|1 1|1|1|1|/" DATA "þ þ þ-þ-þ þ þ þ þ-þ-þ-þ-þ-þ þ þ/" DATA "|p|1 1 1 1|1|1|1 1 1 1 1 1|1 1|/" DATA "þ-þ-þ þ-þ-þ þ-þ-þ þ-þ-þ þ-þ-þ-þ/" DATA "|1 e|1 1|1 1 1 1|1 1|2 2 2 2 2|/" DATA "þ þ-þ þ þ þ-þ-þ þ-þ þ þ-þ-þ-þ þ/" DATA "|1|1 1|1|1|1|1 1 1|1|2|2 e 2 2|/" DATA "þ þ þ-þ þ-þ þ þ-þ þ þ-þ þ-þ-þ-þ/" DATA "|1 1 1 1|1 1|1 1 1 1|2|2|2 2 2|/" DATA "þ þ-þ þ þ þ-þ-þ-þ þ þ þ þ þ-þ þ/" DATA "|1|1 1|1 1 2 1 1 1|1 2|2 2|2 2|/" DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ#" Scrn03: DATA "þ-þ-þ þ þ þ þ þ þ þ þ þ þ þ-þ-þ/" DATA "|2 e| |2 2|/" DATA "þ þ þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ þ þ/" DATA "|1 1 1 1 1 1 1 1 1 1 1 1 1|1 1|/" DATA "þ-þ-þ þ-þ þ-þ þ-þ-þ-þ þ-þ þ þ-þ/" DATA " |2 1 1 1 1 1 p 1|1 1 1 1 2| /" DATA "þ þ þ-þ þ-þ þ-þ-þ þ þ-þ þ-þ þ þ/" DATA " |2|1 1 1 1 1|1 1|1 1 1 1|2| /" DATA "þ þ þ þ-þ þ-þ þ þ-þ-þ þ-þ þ þ þ/" DATA " |2|1 1 1 1 1|2|1 1 1 1 1|2| /" DATA "þ þ þ-þ þ-þ þ-þ þ-þ þ-þ þ-þ þ þ/" DATA " |2 1 1 1 1 1|e|1 1 1 1 1 2| /" DATA "þ-þ þ þ-þ þ-þ þ-þ þ-þ þ-þ þ-þ-þ/" DATA "|1 1|1 1 1 1 1 1 1 1 1 1 1 1 1|/" DATA "þ þ þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ þ þ/" DATA "|2 2| |e 2|/" DATA "þ-þ-þ þ þ þ þ þ þ þ þ þ þ þ-þ-þ#" Scrn04: DATA "þ-þ-þ-þ-þ-þ-þ-þ þ-þ-þ-þ-þ-þ-þ-þ/" DATA "|e 1 1 1 1 1 2| |2 1 1 1 1 1 e|/" DATA "þ þ-þ-þ-þ-þ-þ þ þ þ-þ-þ-þ-þ-þ þ/" DATA "|1| |1| |1| |1|/" DATA "þ þ þ þ þ þ þ þ-þ þ þ þ þ þ þ þ/" DATA "|1| |1 p 1| |1|/" DATA "þ þ-þ-þ-þ-þ-þ þ-þ þ-þ-þ-þ-þ-þ þ/" DATA "|2 1 1 1 1 1 2| |2 1 1 1 1 1 2|/" DATA "þ-þ-þ-þ þ-þ-þ-þ þ-þ-þ-þ þ-þ-þ-þ/" DATA "|2 1 1 1 1 1 2| |2 1 1 1 1 1 2|/" DATA "þ þ-þ-þ-þ-þ-þ þ-þ þ-þ-þ-þ-þ-þ þ/" DATA "|1| |1 2 1| |1|/" DATA "þ þ þ þ þ þ þ þ-þ þ þ þ þ þ þ þ/" DATA "|1| |1| |1| |1|/" DATA "þ þ-þ-þ-þ-þ-þ þ þ þ-þ-þ-þ-þ-þ þ/" DATA "|e 1 1 1 1 1 2| |2 1 1 1 1 1 e|/" DATA "þ-þ-þ-þ-þ-þ-þ-þ þ-þ-þ-þ-þ-þ-þ-þ#" Scrn05: DATA "þ-þ-þ-þ-þ-þ-þ-þ þ-þ-þ-þ-þ-þ-þ-þ/" DATA "|2 2 2 2 2 2 2| |2 2 2 2 2 2|2|/" DATA "þ þ-þ-þ þ-þ-þ þ-þ þ-þ-þ þ-þ-þ þ/" DATA "|2|2 2 2 2 2 2 e 1 1 1 1 2 2|2|/" DATA "þ þ-þ þ-þ-þ þ-þ þ-þ þ-þ-þ þ-þ þ/" DATA "|2|1 1 1 1 1 1 1 1 1 1 1 1 1|2|/" DATA "þ þ-þ-þ þ-þ-þ-þ þ-þ-þ-þ þ-þ-þ þ/" DATA "|2|1 1 1 1 1 1 1 1 1 1 1 1 1|2|/" DATA "þ þ-þ þ-þ-þ þ-þ þ-þ þ-þ-þ þ-þ þ/" DATA "|2|e 1 1 1 1 1 1 1 1 1 1 1 e|2|/" DATA "þ þ þ-þ-þ þ-þ-þ þ-þ-þ þ-þ-þ þ þ/" DATA "|2|1 1 1 1 1 1 p 1 1 1 1 1 1|2|/" DATA "þ þ-þ þ-þ þ-þ-þ þ-þ-þ þ-þ þ-þ þ/" DATA "|2|1 1 1 1 1 1 1 1 1 1 1 1 1|2|/" DATA "þ þ þ-þ-þ-þ-þ þ-þ þ-þ-þ-þ-þ-þ þ/" DATA "|2|2 2 2 2 2 e| |e 2 2 2 2 2 2|/" DATA "þ-þ-þ-þ-þ-þ-þ-þ þ-þ-þ-þ-þ-þ-þ-þ#" Scrn06: DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ/" DATA "|p 1 2 2 2 2 2 2 2 2 2 2 2 2 e|/" DATA "þ-þ-þ þ-þ-þ-þ-þ-þ=þ-þ þ-þ=þ-þ þ/" DATA " |2| |2| |2|/" DATA "þ-þ-þ þ-þ=þ-þ-þ-þ-þ-þ þ-þ=þ-þ þ/" DATA "|e 2 2 2 2 2 2 2 2 2 2 2 2 2 2|/" DATA "þ þ-þ-þ-þ-þ þ-þ=þ þ-þ-þ-þ-þ-þ-þ/" DATA "|2: |2| |2| /" DATA "þ þ-þ-þ=þ-þ þ-þ-þ þ-þ-þ-þ-þ-þ-þ/" DATA "|e 2 2 2 2 2 2 2 2 2 2 2 2 2 2|/" DATA "þ-þ-þ þ-þ-þ-þ-þ-þ-þ-þ þ-þ-þ-þ þ/" DATA " |2| |2| |2|/" DATA "þ-þ-þ þ-þ-þ-þ-þ-þ-þ-þ þ-þ-þ-þ þ/" DATA "|e 2 2 2 2 2 2 2 2 2 2 2 2 2 2|/" DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ#" DATA DATA Scrn07: DATA "þ-þ-þ-þ þ-þ-þ-þ þ-þ-þ-þ þ-þ-þ-þ/" DATA "|p 1 1| |1 1 1| |1 1 1| |1 1 1|/" DATA "þ þ-þ þ-þ þ-þ þ-þ þ-þ þ-þ þ-þ þ/" DATA "|1| |1 2 1| |1 2 1| |1 2 1| |1|/" DATA "þ þ-þ þ-þ þ-þ þ=þ þ-þ þ-þ þ-þ þ/" DATA "|1 1 1|2|1 1 1|2|1 1 1:2|1 1 1|/" DATA "þ-þ þ-þ þ-þ-þ-þ þ-þ-þ-þ þ-þ þ-þ/" DATA " |2|2 2 2 2 2 2 2 2 2 2 2|2| /" DATA "þ-þ þ-þ þ-þ-þ-þ þ-þ=þ-þ þ-þ þ-þ/" DATA "|1 1 1:2|1 1 1|2|1 1 1|2|1 1 1|/" DATA "þ þ-þ þ-þ þ-þ þ-þ þ-þ þ-þ þ-þ þ/" DATA "|1| |1 2 1| |1 2 1| |1 2 1| |1|/" DATA "þ þ-þ þ-þ þ-þ þ-þ þ-þ þ-þ þ-þ þ/" DATA "|1 e 1| |1 e 1| |1 e 1| |1 e 1|/" DATA "þ-þ-þ-þ þ-þ-þ-þ þ-þ-þ-þ þ-þ-þ-þ#" DATA DATA Scrn08: DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ/" DATA "|e 2 2 2 2 2 2 2 2 2 2 2 2 2 p|/" DATA "þ þ-þ-þ-þ-þ-þ=þ=þ=þ-þ-þ-þ-þ-þ-þ/" DATA "|e|2 2 1 1 1|1|1|1|2 2 2 2 2 2|/" DATA "þ þ þ þ-þ þ þ þ þ þ-þ-þ þ þ þ þ/" DATA "|e|2 2|1|1 1:1|1|1 1 1|1 1 1 1|/" DATA "þ þ-þ=þ þ þ þ þ-þ=þ-þ=þ-þ-þ=þ-þ/" DATA "|e|1 1|1:2 2|1 1|1| |1|1:1 1 1|/" DATA "þ þ þ þ-þ þ þ-þ-þ þ-þ þ-þ þ-þ-þ/" DATA "|e|1 1 1 2 2|1 1|1 1|1 1 1|2 2|/" DATA "þ þ-þ þ þ þ=þ=þ þ-þ-þ-þ-þ-þ þ þ/" DATA "|2|2|2 2 1|1:1|1 1 1 1 1 1:2 2|/" DATA "þ þ þ þ þ þ=þ-þ þ þ þ þ þ-þ-þ=þ/" DATA "|2|2|2 2 1|1|1 1 1 1 1 1|2 2 2|/" DATA "þ þ=þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ/" DATA "|2:2 2 2 2 2 2 2:2 2 2:2 2 2:2|/" DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ#" Scrn09: DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ/" DATA "|e 2 2 2 2 2 2|p:2 2 2 2 2 2 e|/" DATA "þ þ-þ=þ-þ-þ=þ-þ-þ-þ=þ-þ-þ-þ-þ þ/" DATA "|2|2 2 2 2 2 2 2 2 2 2 2 2 2:2|/" DATA "þ þ þ-þ-þ=þ-þ-þ=þ-þ=þ-þ-þ=þ þ þ/" DATA "|2|2|2 2 2 2 2 2 2 2 2 2 2|2|2|/" DATA "þ þ þ þ-þ-þ-þ-þ-þ=þ-þ=þ-þ þ þ þ/" DATA "|2|2|2:2 2 2 2 2 2 2 2 2:2|2|2|/" DATA "þ=þ þ þ þ-þ-þ=þ-þ-þ=þ-þ þ þ þ-þ/" DATA "|2:2|2|2 2 2 2 2 2 2 2 2|2|2|2|/" DATA "þ þ þ þ-þ-þ-þ=þ-þ-þ-þ=þ-þ þ þ þ/" DATA "|2|2|2 2 2 2 2 2 2 2 2 2 2:2|2|/" DATA "þ þ þ=þ-þ-þ-þ-þ-þ=þ-þ-þ-þ-þ þ þ/" DATA "|2|2 2 2 2 2 2 2 2 2 2 2 2 2|2|/" DATA "þ þ-þ-þ-þ-þ-þ=þ-þ-þ-þ-þ-þ-þ=þ þ/" DATA "|e 2 2 2 2 2 2:e|2 2 2 2 2 2 e|/" DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ#" Scrn10: DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ/" DATA "|e 2|2 2|2 2|2 2 2 2|2 2|2 2 e|/" DATA "þ þ-þ þ þ þ þ þ þ þ þ þ þ þ þ-þ/" DATA "|2 2 2|2 2|2 2|2 2|2 2|2 2|2 2|/" DATA "þ-þ þ þ þ þ þ þ þ þ þ þ þ þ-þ þ/" DATA "|2 2 2 2 2 2 2 2 2 2 2 2 2 2 2|/" DATA "þ þ-þ þ þ þ þ þ þ þ þ þ þ þ þ-þ/" DATA "|e 2 2 2 2 2 2 2 2 2 2 2 2 2 2|/" DATA "þ-þ þ þ þ þ þ þ þ þ þ þ þ þ-þ þ/" DATA "|2 2 2 2 2 2 2 2 2 2 2 2 2 2 p|/" DATA "þ þ-þ þ þ þ þ þ þ þ þ þ þ þ þ-þ/" DATA "|2 2 2 2 2 2 2 2 2 2 2 2 2 2 2|/" DATA "þ-þ þ þ þ þ þ þ þ þ þ þ þ þ-þ þ/" DATA "|2 2 2 2|2 2|2 2|2 2|2 2|2 2 2|/" DATA "þ þ-þ þ þ þ þ þ þ þ þ þ þ þ þ-þ/" DATA "|e 2 2|2 2|2 2|2 2|2 2|2 2|2 e|/" DATA "þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ-þ#" SUB DoScreen (flag) CLS tEnemy = 0 IF flag THEN tObject = 0 ERASE V, H, Object END IF i = 1 j = 0 SELECT CASE Level CASE 1: RESTORE Scrn01 CASE 2: RESTORE Scrn02 CASE 3: RESTORE Scrn03 CASE 4: RESTORE Scrn04 CASE 5: RESTORE Scrn05 CASE 6: RESTORE Scrn06 CASE 7: RESTORE Scrn07 CASE 8: RESTORE Scrn08 CASE 9: RESTORE Scrn09 CASE 10: RESTORE Scrn10 END SELECT l$ = "" DO IF l$ = "" THEN READ l$ p$ = LEFT$(l$, 1): l$ = MID$(l$, 2) j = j + 1 SELECT CASE p$ CASE "/": j = 0: i = i + 1 CASE "-": H(i \ 2 + 1, j \ 2) = -1 CASE "|": V(i \ 2, j \ 2 + 1) = -1 CASE "=": Horizontal 20 * (j \ 2) - 15, 20 * (i \ 2 + 1) - 10 CASE ":": Vertical 20 * (j \ 2 + 1) - 15, 20 * (i \ 2) - 10 CASE "#": EXIT DO CASE "1" TO "4": IF flag THEN Object(i \ 2, j \ 2) = VAL(p$): tObject = tObject + 1 CASE "p": xp = 20 * (j \ 2) - 13: yp = 20 * (i \ 2) - 8 CASE "e" tEnemy = tEnemy + 1 EnPos(tEnemy).cx = 20 * (j \ 2) - 13 EnPos(tEnemy).cy = 20 * (i \ 2) - 8 EnPos(tEnemy).dir = 0 EnPos(tEnemy).count = 0 CASE ELSE: IF i MOD 2 = 0 AND j MOD 2 = 0 AND flag THEN Object(i \ 2, j \ 2) = 0 END SELECT LOOP FOR i = 1 TO 8 FOR j = 1 TO 16 IF V(i, j) THEN Vertical j * 20 - 15, i * 20 - 10 NEXT NEXT FOR i = 1 TO 9 FOR j = 1 TO 15 IF H(i, j) THEN Horizontal j * 20 - 15, i * 20 - 10 NEXT NEXT FOR i = 1 TO 8 FOR j = 1 TO 15 IF NOT flag THEN Direction(i, j) = 0 n = Object(i, j) IF n > 0 THEN PutObject n, j * 20 - 13, i * 20 - 8 NEXT NEXT PUT (xp, yp), Pm FOR i = 1 TO tEnemy PUT (EnPos(i).cx, EnPos(i).cy), En NEXT IF SoundF THEN PLAY "MBo3l16ed#ed#edcdc= 0 AND DLevel <= 100 DO INPUT "Velocidade do adversario (1-10) :", eSpeed LOOP UNTIL eSpeed >= 1 AND eSpeed <= 10 PRINT PRINT "Pressione alguma tecla..." k$ = INPUT$(1) SCREEN 1 END SUB SUB Vertical (x, y) Segment x, y, x, y + 20 END SUB