Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
0 user currently in Programming. | 3 guests |
Acmlm's Board - I2 Archive - Programming - Need Help With QuickBasic | | | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Nebetsu Shmee Level: 55 Posts: 766/1574 EXP: 1291130 For next: 23059 Since: 09-01-04 From: Nebland Since last post: 3 hours Last activity: 1 hour |
| ||
Ok there's a couple things I want to be able to do. I want to be able to hold my bitmaps in seperate files, so I can make my main code smaller and easier to manage. I also need to know how to switch maps. Can anyone help??? Here is my edit of someone elses code. I took someone elses code and added sprites, edited sprites, changed the first map, and added a second map. I got the second map in there but I dont know how I would switch it efficiently. Any help would be appreciated. DIM guy(50), guysh(50), enemyx(100), enemyy(100) DIM sprite1(50), sprite2(50), sprite3(50), sprite4(50), sprite5(50) DIM sprite6(50), sprite7(50), sprite8(50), sprite9(50) DIM Map1(21, 15), Map2(21, 15) SCREEN 13 guyx = 11 guyy = 14 goodlife = 100 '!*!*!*!*!*!*!*!*! 'This is the amount of enemies in a game and randomizes the timer... RANDOMIZE TIMER enemies = 20 '!*!*!*!*!*!*!*!*! FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), sprite1 FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), sprite2 FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), sprite3 FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), sprite4 FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), sprite5 FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), sprite6 FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), sprite7 FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), sprite8 FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), sprite9 CLS FOR y = 1 TO 15 FOR x = 1 TO 21 READ Map1(x, y) NEXT: NEXT FOR y = 1 TO 15 FOR x = 1 TO 21 READ Map2(x, y) NEXT: NEXT FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), guy FOR y = 1 TO 13 FOR x = 1 TO 15 READ clr PSET (x, y), clr NEXT: NEXT GET (1, 1)-(15, 13), guysh CLS '!*!*!*!*!*!*!*!*! 'this gives a point to return to when the battle is over... 10 '!*!*!*!*!*!*!*!*! FOR y = 1 TO 15 FOR x = 1 TO 21 IF Map1(x, y) = 1 THEN PUT (x * 15 - 15, y * 13 - 13), sprite1 IF Map1(x, y) = 2 THEN PUT (x * 15 - 15, y * 13 - 13), sprite2 IF Map1(x, y) = 3 THEN PUT (x * 15 - 15, y * 13 - 13), sprite3 IF Map1(x, y) = 4 THEN PUT (x * 15 - 15, y * 13 - 13), sprite4 IF Map1(x, y) = 5 THEN PUT (x * 15 - 15, y * 13 - 13), sprite5 IF Map1(x, y) = 6 THEN PUT (x * 15 - 15, y * 13 - 13), sprite6 IF Map1(x, y) = 7 THEN PUT (x * 15 - 15, y * 13 - 13), sprite7 IF Map1(x, y) = 8 THEN PUT (x * 15 - 15, y * 13 - 13), sprite8 IF Map1(x, y) = 9 THEN PUT (x * 15 - 15, y * 13 - 13), sprite9 NEXT: NEXT PUT (guyx * 15 - 15, guyy * 13 - 13), guysh, AND PUT (guyx * 15 - 15, guyy * 13 - 13), guy, OR '!*!*!*!*!*!*!*!*! 'this gets random positions for each of the enemies... FOR i = 1 TO enemies enemyx(i) = INT(RND * 21) enemyy(i) = INT(RND * 15) NEXT '!*!*!*!*!*!*!*!*! DO press$ = INKEY$ IF press$ = CHR$(0) + CHR$(75) AND Map1(guyx - 1, guyy) <> 3 AND Map1(guyx - 1, guyy) <> 2 THEN IF guyx > 1 THEN guyx = guyx - 1 END IF IF press$ = CHR$(0) + CHR$(77) AND Map1(guyx + 1, guyy) <> 3 AND Map1(guyx + 1, guyy) <> 2 THEN IF guyx < 20 THEN guyx = guyx + 1 END IF IF press$ = CHR$(0) + CHR$(72) AND Map1(guyx, guyy - 1) <> 3 AND Map1(guyx, guyy - 1) <> 2 THEN IF guyy > 1 THEN guyy = guyy - 1 END IF IF press$ = CHR$(0) + CHR$(80) AND Map1(guyx, guyy + 1) <> 3 AND Map1(guyx, guyy + 1) <> 2 THEN IF guyy < 14 THEN guyy = guyy + 1 END IF IF oldguyx <> guyx OR oldguyy <> guyy THEN oldguyx = guyx oldguyy = guyy FOR y = 1 TO 15 FOR x = 1 TO 21 IF Map1(x, y) = 1 THEN PUT (x * 15 - 15, y * 13 - 13), sprite1, PSET IF Map1(x, y) = 2 THEN PUT (x * 15 - 15, y * 13 - 13), sprite2, PSET IF Map1(x, y) = 3 THEN PUT (x * 15 - 15, y * 13 - 13), sprite3, PSET IF Map1(x, y) = 4 THEN PUT (x * 15 - 15, y * 13 - 13), sprite4, PSET IF Map1(x, y) = 5 THEN PUT (x * 15 - 15, y * 13 - 13), sprite5, PSET IF Map1(x, y) = 6 THEN PUT (x * 15 - 15, y * 13 - 13), sprite6, PSET IF Map1(x, y) = 7 THEN PUT (x * 15 - 15, y * 13 - 13), sprite7, PSET IF Map1(x, y) = 8 THEN PUT (x * 15 - 15, y * 13 - 13), sprite8, PSET IF Map1(x, y) = 9 THEN PUT (x * 15 - 15, y * 13 - 13), sprite9, PSET NEXT: NEXT PUT (guyx * 15 - 15, guyy * 13 - 13), guysh, AND PUT (guyx * 15 - 15, guyy * 13 - 13), guy, OR END IF '!*!*!*!*!*!*!*!*! FOR i = 1 TO enemies IF enemyx(i) = guyx AND enemyy(i) = guyy THEN GOSUB BaTtLes NEXT '!*!*!*!*!*!*!*!*! LOOP UNTIL press$ = CHR$(27) FloorTile: DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 WaterTile: DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 WallTile: DATA 07,08,08,08,08,08,08,08,08,08,08,08,08,08,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,00,00,00,00,00,00,00,00,00,00,00,00,00,07 BridgeTileLeft: DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 BridgeTileRight: DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 BridgeTileBottom: DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 BridgeTileMiddle: DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 BridgeTileLeftBottom: DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 BridgeTileRightBottom: DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 Map1: DATA 3,3,3,3,3,3,3,3,4,7,7,7,5,3,3,3,3,3,3,3,3 DATA 1,1,1,1,1,1,1,1,4,7,7,7,5,1,1,1,1,1,1,1,1 DATA 2,2,2,2,2,2,2,2,4,7,7,7,5,2,2,2,2,2,2,2,2 DATA 2,2,2,2,2,2,2,2,4,7,7,7,5,2,2,2,2,2,2,2,2 DATA 2,2,2,2,2,2,2,2,4,7,7,7,5,2,2,2,2,2,2,2,2 DATA 1,1,1,1,1,1,1,1,8,6,6,6,9,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Map2: DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 00,00,00,00,00,00,09,09,09,09,00,00,00,00,00 DATA 00,00,00,00,00,09,09,09,09,09,09,00,00,00,00 DATA 00,00,00,09,09,66,09,09,09,09,09,66,00,00,00 DATA 00,00,15,00,00,66,66,66,66,66,66,66,00,00,00 DATA 00,00,00,00,00,00,66,00,66,00,66,00,00,00,00 DATA 00,00,00,00,00,00,66,66,66,66,66,00,00,00,00 DATA 00,00,00,00,00,00,00,66,00,66,00,00,00,00,00 DATA 00,00,00,00,00,00,01,01,01,01,01,00,00,00,00 DATA 00,00,00,00,00,01,00,01,01,01,00,01,00,00,00 DATA 00,00,00,00,00,01,00,01,01,01,00,01,00,00,00 DATA 00,00,00,00,00,66,00,01,01,01,00,66,00,00,00 DATA 00,00,00,00,01,00,00,07,00,07,00,00,01,00,00 DATA 00,00,00,00,00,01,01,01,00,01,01,01,00,00,00 'This is the mask for the sprite... DATA 255,255,255,255,255,255,009,009,009,009,255,255,255,255,255 DATA 255,255,255,255,255,009,009,009,009,009,009,255,255,255,255 DATA 255,255,255,009,009,066,009,009,009,009,009,066,255,255,255 DATA 255,255,015,255,255,066,066,066,066,066,066,066,255,255,255 DATA 255,255,255,255,255,255,066,000,066,000,066,255,255,255,255 DATA 255,255,255,255,255,255,066,066,066,066,066,255,255,255,255 DATA 255,255,255,255,255,255,255,066,000,066,255,255,255,255,255 DATA 255,255,255,255,255,255,001,001,001,001,001,255,255,255,255 DATA 255,255,255,255,255,001,255,001,001,001,255,001,255,255,255 DATA 255,255,255,255,255,001,255,001,001,001,255,001,255,255,255 DATA 255,255,255,255,255,066,255,001,001,001,255,066,255,255,255 DATA 255,255,255,255,001,255,255,007,255,007,255,255,001,255,255 DATA 255,255,255,255,255,001,001,001,255,001,001,001,255,255,255 END BaTtLes: CLS SCREEN 0 WIDTH 80, 25 PRINT "TIME TO BATTLE!" PRINT "press a key..." SLEEP CLS badlife = 100 PRINT "Your life is "; goodlife PRINT "The badguys life is"; badlife PRINT "He hurt you 35" goodlife = goodlife - 35 PRINT "your life is now"; goodlife IF goodlife <= 0 THEN PRINT "You lost!!!": END SLEEP SCREEN 13 GOTO 10 (edited by Nebetsu on 01-08-05 02:59 PM) |
|||
labmaster Blue Octorok Level: 12 Posts: 13/43 EXP: 6135 For next: 1786 Since: 07-17-04 From: New Zealand! Since last post: 10 days Last activity: 2 min. |
| ||
One way to have your maps externally is simply to have the values in a binary file, that you can parse with QB's file I/O functions - the same goes for tiles as well. | |||
Xkeeper The required libraries have not been defined. Level: NAN Posts: -2769/-863 EXP: NAN For next: 0 Since: 03-15-04 Since last post: 2 hours Last activity: -753366 sec. |
| ||
Holy shit that's unreadable. I can't make heads or tails of that code, it's worse than Frontpage HTML output |
|||
Nebetsu Shmee Level: 55 Posts: 767/1574 EXP: 1291130 For next: 23059 Since: 09-01-04 From: Nebland Since last post: 3 hours Last activity: 1 hour |
| ||
Iabmaster: How would I do that? Xkeeper: I know. I'm kinda new to tiles, so I had to see a sample to make this. (edited by Nebetsu on 01-07-05 07:18 PM) |
|||
TheMonster Newcomer Level: 4 Posts: 3/4 EXP: 139 For next: 140 Since: 01-03-05 Since last post: 283 days Last activity: 17 hours |
| ||
Hrmm...I cleaned up the code a little bit and added map switching(hit "a" to see it in action). I didn't do external file-loading, at the moment. If someone else doesn't show you within the next couple of days, maybe I will whip something up(time permitting). Hopefully most of the changes I made are self-explanatory. Questions? Ask away. '---CODE START--- DEFINT A-Z SCREEN 13 RANDOMIZE TIMER DIM man(196, 1) DIM enemyx(100), enemyy(100) DIM sprite(196, 8) DIM map(20, 14, 1) TYPE guytype x AS INTEGER y AS INTEGER life AS INTEGER END TYPE DIM guy AS guytype, oldguy AS guytype guy.x = 11 guy.y = 14 guy.life = 100 '!*!*!*!*!*!*!*!*! enemies = 20 '!*!*!*!*!*!*!*!*! 'Load sprites FOR i = 0 TO 8 FOR y = 0 TO 12 FOR x = 0 TO 14 READ clr PSET (x, y), clr NEXT NEXT GET (0, 0)-(14, 12), sprite(0, i) NEXT 'Load maps FOR i = 0 TO 1 FOR y = 0 TO 14 FOR x = 0 TO 20 READ map(x, y, i) NEXT NEXT NEXT 'Load deliciously cute little mansy FOR i = 0 TO 1 FOR y = 0 TO 12 FOR x = 0 TO 14 READ clr PSET (x, y), clr NEXT NEXT GET (0, 0)-(14, 12), man(0, i) NEXT CLS mapnum = 0 mainloop: 'GOSUB redraw '!*!*!*!*!*!*!*!*! 'this gets random positions for each of the enemies... FOR i = 1 TO enemies enemyx(i) = INT(RND * 21) enemyy(i) = INT(RND * 15) NEXT '!*!*!*!*!*!*!*!*! DO dx = 0 dy = 0 press$ = INKEY$ SELECT CASE press$ CASE CHR$(0) + CHR$(75) dx = -1 CASE CHR$(0) + CHR$(77) dx = 1 CASE CHR$(0) + CHR$(72) dy = -1 CASE CHR$(0) + CHR$(80) dy = 1 CASE "a", "A" mapnum = mapnum XOR 1 GOSUB redraw END SELECT checktile = map(guy.x + dx, guy.y + dy, mapnum) IF checktile <> 2 AND checktile <> 3 THEN guy.x = guy.x + dx guy.y = guy.y + dy END IF IF oldguy.x <> guy.x OR oldguy.y <> guy.y THEN oldguy.x = guy.x oldguy.y = guy.y GOSUB redraw END IF '!*!*!*!*!*!*!*!*! FOR i = 1 TO enemies IF enemyx(i) = guy.x AND enemyy(i) = guy.y THEN GOSUB BaTtLes NEXT '!*!*!*!*!*!*!*!*! LOOP UNTIL press$ = CHR$(27) END redraw: FOR y = 0 TO 14 FOR x = 0 TO 20 PUT (x * 15, y * 13), sprite(0, map(x, y, mapnum) - 1), PSET NEXT NEXT PUT (guy.x * 15, guy.y * 13), man(0, 1), AND PUT (guy.x * 15, guy.y * 13), man(0, 0), OR RETURN FloorTile: DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 DATA 02,02,02,02,02,02,02,02,02,02,02,02,02,02,02 WaterTile: DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 WallTile: DATA 07,08,08,08,08,08,08,08,08,08,08,08,08,08,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,07,07,07,07,07,07,07,07,07,07,07,07,07,00 DATA 08,00,00,00,00,00,00,00,00,00,00,00,00,00,07 BridgeTileLeft: DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 BridgeTileRight: DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 BridgeTileBottom: DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 BridgeTileMiddle: DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 BridgeTileLeftBottom: DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,6,6,6,6,6,6,6,6,6,6,6,6,6,6 DATA 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 BridgeTileRightBottom: DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 6,6,6,6,6,6,6,6,6,6,6,6,6,6,12 DATA 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 Map1: DATA 3,3,3,3,3,3,3,3,4,7,7,7,5,3,3,3,3,3,3,3,3 DATA 1,1,1,1,1,1,1,1,4,7,7,7,5,1,1,1,1,1,1,1,1 DATA 2,2,2,2,2,2,2,2,4,7,7,7,5,2,2,2,2,2,2,2,2 DATA 2,2,2,2,2,2,2,2,4,7,7,7,5,2,2,2,2,2,2,2,2 DATA 2,2,2,2,2,2,2,2,4,7,7,7,5,2,2,2,2,2,2,2,2 DATA 1,1,1,1,1,1,1,1,8,6,6,6,9,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Map2: DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,2,2,1,1,2,2,2,1,2,2,2,1,2,1,1,1,1,1,1,1 DATA 1,2,1,2,1,1,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1 DATA 1,2,1,2,1,1,2,1,1,2,2,1,1,2,1,1,1,1,1,1,1 DATA 1,2,1,2,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1 DATA 1,2,2,1,1,2,2,2,1,2,2,2,1,2,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 00,00,00,00,00,00,09,09,09,09,00,00,00,00,00 DATA 00,00,00,00,00,09,09,09,09,09,09,00,00,00,00 DATA 00,00,00,09,09,66,09,09,09,09,09,66,00,00,00 DATA 00,00,15,00,00,66,66,66,66,66,66,66,00,00,00 DATA 00,00,00,00,00,00,66,00,66,00,66,00,00,00,00 DATA 00,00,00,00,00,00,66,66,66,66,66,00,00,00,00 DATA 00,00,00,00,00,00,00,66,00,66,00,00,00,00,00 DATA 00,00,00,00,00,00,01,01,01,01,01,00,00,00,00 DATA 00,00,00,00,00,01,00,01,01,01,00,01,00,00,00 DATA 00,00,00,00,00,01,00,01,01,01,00,01,00,00,00 DATA 00,00,00,00,00,66,00,01,01,01,00,66,00,00,00 DATA 00,00,00,00,01,00,00,07,00,07,00,00,01,00,00 DATA 00,00,00,00,00,01,01,01,00,01,01,01,00,00,00 'This is the mask for the sprite... DATA 255,255,255,255,255,255,009,009,009,009,255,255,255,255,255 DATA 255,255,255,255,255,009,009,009,009,009,009,255,255,255,255 DATA 255,255,255,009,009,066,009,009,009,009,009,066,255,255,255 DATA 255,255,015,255,255,066,066,066,066,066,066,066,255,255,255 DATA 255,255,255,255,255,255,066,000,066,000,066,255,255,255,255 DATA 255,255,255,255,255,255,066,066,066,066,066,255,255,255,255 DATA 255,255,255,255,255,255,255,066,000,066,255,255,255,255,255 DATA 255,255,255,255,255,255,001,001,001,001,001,255,255,255,255 DATA 255,255,255,255,255,001,255,001,001,001,255,001,255,255,255 DATA 255,255,255,255,255,001,255,001,001,001,255,001,255,255,255 DATA 255,255,255,255,255,066,255,001,001,001,255,066,255,255,255 DATA 255,255,255,255,001,255,255,007,255,007,255,255,001,255,255 DATA 255,255,255,255,255,001,001,001,255,001,001,001,255,255,255 END BaTtLes: CLS SCREEN 0 WIDTH 80, 25 PRINT "TIME TO BATTLE!" PRINT "press a key..." SLEEP CLS badlife = 100 PRINT "Your life is "; guy.life PRINT "The badguys life is"; badlife PRINT "He hurt you 35" guy.life = guy.life - 35 PRINT "your life is now"; guy.life IF guy.life <= 0 THEN PRINT "You lost!!!": END SLEEP SCREEN 13 GOTO mainloop '---CODE END--- |
|||
Nebetsu Shmee Level: 55 Posts: 769/1574 EXP: 1291130 For next: 23059 Since: 09-01-04 From: Nebland Since last post: 3 hours Last activity: 1 hour |
| ||
Thanks. As soon as I have access to a computer with QuickBasic, I'll give it a try! ^^ |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Programming - Need Help With QuickBasic | | | |