08-16-2004, 05:59 AM
Hey I am experienting with makeing maps for my rpg inprogress. What i want to do is make it when i pick up a key i will be able to unlock the door but i cant figure out how to make the tile collision go from solid = 2 to solid = 1. this is what i have so far.
Dim guy(50), guysh(50)
Dim sprite1(50), sprite2(50), sprite3(50)
Dim map(27, 27)
Screen 13
guyx = 2
guyy = 2
ldkey = 1
For y = 1 To 5
For x = 1 To 5
READ clr
PSet (x, y), clr
Next: Next
GET (1, 1)-(5, 5), sprite1
For y = 1 To 5
For x = 1 To 5
READ clr
PSet (x, y), clr
Next: Next
GET (1, 1)-(5, 5), sprite2
For y = 1 To 5
For x = 1 To 5
READ clr
PSet (x, y), clr
Next: Next
GET (1, 1)-(5, 5), sprite3
For y = 1 To 5
For x = 1 To 5
READ clr
PSet (x, y), clr
Next: Next
GET (1, 1)-(5, 5), guy
For y = 1 To 5
For x = 1 To 5
READ clr
PSet (x, y), clr
Next: Next
GET (1, 1)-(5, 5), guysh
Cls
For y = 1 To 27
For x = 1 To 27
READ map(x, y)
Next: Next
Cls
For y = 1 To 27
For x = 1 To 27
IF map(x, y) = 1 THEN PUT (x * 5 + 170, y * 5 + 5), sprite1
IF map(x, y) = 2 THEN PUT (x * 5 + 170, y * 5 + 5), sprite2
IF map(x, y) = 3 THEN PUT (x * 5 + 170, y * 5 + 5), sprite3
Next: Next
PUT (guyx * 5 + 170, guyy * 5 + 5), guysh, AND
PUT (guyx * 5 + 170, guyy * 5 + 5), guy, OR
Do
press$ = INKEY$
'IF ldkey >= 1 THEN
IF press$ = CHR$(0) + CHR$(75) THEN map(guyx - 1, guyy) > 1 THEN
guyx = guyx - 1
End If
If press$ = Chr$(0) + Chr$(77) And map(guyx + 1, guyy) > 1 Then
guyx = guyx + 1
End If
If press$ = Chr$(0) + Chr$(72) And map(guyx, guyy - 1) > 1 Then
guyy = guyy - 1
End If
If press$ = Chr$(0) + Chr$(80) And map(guyx, guyy + 1) > 1 Then
guyy = guyy + 1
End If
If oldguyx <> guyx Or oldguyy <> guyy Then
oldguyx = guyx
oldguyy = guyy
For y = 1 To 27
For x = 1 To 27
IF map(x, y) = 1 THEN PUT (x * 5 + 170, y * 5 + 5), sprite1, PSET
IF map(x, y) = 2 THEN PUT (x * 5 + 170, y * 5 + 5), sprite2, PSET
IF map(x, y) = 3 THEN PUT (x * 5 + 170, y * 5 + 5), sprite3, PSET
Next: Next
PUT (guyx * 5 + 170, guyy * 5 + 5), guysh, AND
PUT (guyx * 5 + 170, guyy * 5 + 5), guy, OR
End If
Loop Until press$ = Chr$(27)
Data 8, 8, 5, 8, 8
Data 8, 5, 5, 5, 8
Data 5, 5, 8, 5, 5
Data 8, 5, 5, 5, 8
Data 8, 8, 5, 8, 8
Data 6, 6, 6, 6, 6
Data 6, 6, 6, 6, 6
Data 6, 6, 7, 6, 6
Data 6, 6, 7, 6, 6
Data 6, 6, 6, 6, 6
Data 2, 2, 2, 2, 2
Data 2, 3, 3, 3, 2
Data 2, 3, 3, 3, 2
Data 2, 3, 3, 3, 2
Data 2, 2, 2, 2, 2
Data 0, 0, 4, 0, 0
Data 0, 4, 4, 4, 0
Data 4, 4, 4, 4, 4
Data 0, 4, 4, 4, 0
Data 0, 0, 4, 0, 0
Data 255, 255, 4, 255, 255
Data 255, 4, 4, 4, 255
Data 4, 4, 4, 4, 4
Data 255, 4, 4, 4, 255
Data 255, 255, 4, 255, 255
Data 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Data 1, 3, 3, 3, 3, 1, 3, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, 1
Data 1, 3, 1, 1, 1, 1, 3, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 1, 1, 1, 1, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 3, 2, 3, 3, 1, 3, 1
Data 1, 3, 3, 3, 3, 1, 1, 3, 1, 3, 1, 3, 3, 3, 3, 3, 3, 1, 3, 1, 3, 1, 3, 3, 1, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 3, 3, 1, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 3, 2, 3, 3, 3, 1, 3, 3, 1, 3, 1, 1, 1, 1, 3, 1
Data 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 3, 1, 1, 3, 3, 3, 3, 3, 3, 1
Data 1, 3, 1, 1, 1, 3, 1, 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 1, 2, 1
Data 1, 3, 3, 3, 1, 3, 1, 3, 3, 3, 1, 3, 1, 3, 1, 1, 1, 3, 1, 1, 1, 3, 3, 3, 1, 3, 1
Data 1, 3, 1, 3, 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 1, 1, 3, 1
Data 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 1, 3, 1, 1, 1, 3, 1, 3, 1, 3, 2, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 1, 3, 3, 3, 3, 3, 1, 3, 1, 1, 1, 3, 1
Data 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 1, 1, 1, 3, 1, 3, 3, 3, 1, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 1, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1
Data 1, 3, 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1
Data 1, 3, 1, 3, 1, 1, 3, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 3, 1, 3, 1, 3, 1, 1, 1, 3, 1
Data 1, 3, 1, 3, 1, 1, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 3, 3, 1, 3, 1, 3, 1, 1, 1, 2, 1
Data 1, 3, 1, 3, 1, 1, 3, 1, 3, 3, 3, 1, 1, 1, 3, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 1
Data 1, 2, 1, 3, 1, 1, 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 3, 1
Data 1, 3, 1, 3, 1, 1, 3, 3, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 3, 3, 3, 1
Data 1, 1, 1, 3, 1, 1, 1, 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 1, 1, 3, 1
Data 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 3, 1, 3, 1, 1, 1, 1, 3, 1, 3, 1, 3, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 1, 3, 1, 3, 1, 1, 3, 1, 3, 1, 3, 1, 1
Data 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 1, 1, 1, 3, 1, 1, 3, 1, 3, 1, 1, 1, 1
Data 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 3, 3, 3, 1
Data 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
this is just a map 2 look at like a visual to see the dungen that you are in. can anybody help or pint me to a tutorial on this subject. thanks.
Dim guy(50), guysh(50)
Dim sprite1(50), sprite2(50), sprite3(50)
Dim map(27, 27)
Screen 13
guyx = 2
guyy = 2
ldkey = 1
For y = 1 To 5
For x = 1 To 5
READ clr
PSet (x, y), clr
Next: Next
GET (1, 1)-(5, 5), sprite1
For y = 1 To 5
For x = 1 To 5
READ clr
PSet (x, y), clr
Next: Next
GET (1, 1)-(5, 5), sprite2
For y = 1 To 5
For x = 1 To 5
READ clr
PSet (x, y), clr
Next: Next
GET (1, 1)-(5, 5), sprite3
For y = 1 To 5
For x = 1 To 5
READ clr
PSet (x, y), clr
Next: Next
GET (1, 1)-(5, 5), guy
For y = 1 To 5
For x = 1 To 5
READ clr
PSet (x, y), clr
Next: Next
GET (1, 1)-(5, 5), guysh
Cls
For y = 1 To 27
For x = 1 To 27
READ map(x, y)
Next: Next
Cls
For y = 1 To 27
For x = 1 To 27
IF map(x, y) = 1 THEN PUT (x * 5 + 170, y * 5 + 5), sprite1
IF map(x, y) = 2 THEN PUT (x * 5 + 170, y * 5 + 5), sprite2
IF map(x, y) = 3 THEN PUT (x * 5 + 170, y * 5 + 5), sprite3
Next: Next
PUT (guyx * 5 + 170, guyy * 5 + 5), guysh, AND
PUT (guyx * 5 + 170, guyy * 5 + 5), guy, OR
Do
press$ = INKEY$
'IF ldkey >= 1 THEN
IF press$ = CHR$(0) + CHR$(75) THEN map(guyx - 1, guyy) > 1 THEN
guyx = guyx - 1
End If
If press$ = Chr$(0) + Chr$(77) And map(guyx + 1, guyy) > 1 Then
guyx = guyx + 1
End If
If press$ = Chr$(0) + Chr$(72) And map(guyx, guyy - 1) > 1 Then
guyy = guyy - 1
End If
If press$ = Chr$(0) + Chr$(80) And map(guyx, guyy + 1) > 1 Then
guyy = guyy + 1
End If
If oldguyx <> guyx Or oldguyy <> guyy Then
oldguyx = guyx
oldguyy = guyy
For y = 1 To 27
For x = 1 To 27
IF map(x, y) = 1 THEN PUT (x * 5 + 170, y * 5 + 5), sprite1, PSET
IF map(x, y) = 2 THEN PUT (x * 5 + 170, y * 5 + 5), sprite2, PSET
IF map(x, y) = 3 THEN PUT (x * 5 + 170, y * 5 + 5), sprite3, PSET
Next: Next
PUT (guyx * 5 + 170, guyy * 5 + 5), guysh, AND
PUT (guyx * 5 + 170, guyy * 5 + 5), guy, OR
End If
Loop Until press$ = Chr$(27)
Data 8, 8, 5, 8, 8
Data 8, 5, 5, 5, 8
Data 5, 5, 8, 5, 5
Data 8, 5, 5, 5, 8
Data 8, 8, 5, 8, 8
Data 6, 6, 6, 6, 6
Data 6, 6, 6, 6, 6
Data 6, 6, 7, 6, 6
Data 6, 6, 7, 6, 6
Data 6, 6, 6, 6, 6
Data 2, 2, 2, 2, 2
Data 2, 3, 3, 3, 2
Data 2, 3, 3, 3, 2
Data 2, 3, 3, 3, 2
Data 2, 2, 2, 2, 2
Data 0, 0, 4, 0, 0
Data 0, 4, 4, 4, 0
Data 4, 4, 4, 4, 4
Data 0, 4, 4, 4, 0
Data 0, 0, 4, 0, 0
Data 255, 255, 4, 255, 255
Data 255, 4, 4, 4, 255
Data 4, 4, 4, 4, 4
Data 255, 4, 4, 4, 255
Data 255, 255, 4, 255, 255
Data 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Data 1, 3, 3, 3, 3, 1, 3, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, 1
Data 1, 3, 1, 1, 1, 1, 3, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 1, 1, 1, 1, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 3, 2, 3, 3, 1, 3, 1
Data 1, 3, 3, 3, 3, 1, 1, 3, 1, 3, 1, 3, 3, 3, 3, 3, 3, 1, 3, 1, 3, 1, 3, 3, 1, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 3, 3, 1, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 3, 2, 3, 3, 3, 1, 3, 3, 1, 3, 1, 1, 1, 1, 3, 1
Data 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 3, 1, 1, 3, 3, 3, 3, 3, 3, 1
Data 1, 3, 1, 1, 1, 3, 1, 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 1, 2, 1
Data 1, 3, 3, 3, 1, 3, 1, 3, 3, 3, 1, 3, 1, 3, 1, 1, 1, 3, 1, 1, 1, 3, 3, 3, 1, 3, 1
Data 1, 3, 1, 3, 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 1, 1, 3, 1
Data 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 1, 3, 1, 1, 1, 3, 1, 3, 1, 3, 2, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 1, 3, 3, 3, 3, 3, 1, 3, 1, 1, 1, 3, 1
Data 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 1, 1, 1, 3, 1, 3, 3, 3, 1, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 1, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1
Data 1, 3, 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1
Data 1, 3, 1, 3, 1, 1, 3, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 3, 1, 3, 1, 3, 1, 1, 1, 3, 1
Data 1, 3, 1, 3, 1, 1, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 3, 3, 1, 3, 1, 3, 1, 1, 1, 2, 1
Data 1, 3, 1, 3, 1, 1, 3, 1, 3, 3, 3, 1, 1, 1, 3, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 1
Data 1, 2, 1, 3, 1, 1, 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 3, 1
Data 1, 3, 1, 3, 1, 1, 3, 3, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 3, 3, 3, 1
Data 1, 1, 1, 3, 1, 1, 1, 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 1, 1, 3, 1
Data 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 3, 1, 3, 1, 1, 1, 1, 3, 1, 3, 1, 3, 3, 1
Data 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 1, 3, 1, 3, 1, 1, 3, 1, 3, 1, 3, 1, 1
Data 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 1, 1, 1, 3, 1, 1, 3, 1, 3, 1, 1, 1, 1
Data 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 3, 3, 3, 1
Data 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
this is just a map 2 look at like a visual to see the dungen that you are in. can anybody help or pint me to a tutorial on this subject. thanks.
ife is better with a buistcuit