Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
0 user currently in Programming. | 3 guests
Acmlm's Board - I2 Archive - Programming - Need Help With QuickBasic
  
User name:
Password:
Reply:
 

UserPost
Nebetsu
Posts: 769/1574
Thanks. As soon as I have access to a computer with QuickBasic, I'll give it a try! ^^
TheMonster
Posts: 3/4
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
Posts: 767/1574
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.
Xkeeper
Posts: -2769/-863
Holy shit that's unreadable.

I can't make heads or tails of that code, it's worse than Frontpage HTML output
labmaster
Posts: 13/43
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.
Nebetsu
Posts: 766/1574
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
Acmlm's Board - I2 Archive - Programming - Need Help With QuickBasic


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.012 seconds.