Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Collision attr routine.
#8
Here is my testing routines clock sense oriented.
I am thinking about use parameters for the sprite height and wide, and made a dinamyc routine for whatever typè of sprites.
updated 11-03-13
Code:
#include <memcopy.bas>
#include <sinclair.bas>
#include <keys.bas>
#include <attr.bas>
'---CHARS-----------------------
'---GetAddr clock sense oriented ^>v<
cls
print 999
print 999
print 999
'the two ciphers of colour are
'combined file+column
poke 22528,11
poke 22528+1,12
poke 22528+2,13    
poke 22528+32,21
poke 22528+34,23
poke 22528+64,31
poke 22528+65,32
poke 22528+66,33
'GetAddr clock sense oriented ^>v<
  Sub GetAddr(y, x, buf)
      Dim attraddr as UInteger
      attradr = AttrAddr(y, x)
      POKE buf,peek(attradr-32)
      POKE buf+1,peek(attradr+1)
      POKE buf+2,peek(attradr+32)
      POKE buf+3,peek(attradr-1)
  End Sub
  GetAddr(1, 1, 23400)
Dim f1 As Ubyte
for f1=0 to 3
print peek (23400+f1)
next f1
pause (0)
'----------------------------------------
'---GetAddrFull clock sense oriented ^>v<
cls
print 999
print 999
print 999
poke 22528,11
poke 22528+1,12
poke 22528+2,13
poke 22528+32,21
poke 22528+34,23
poke 22528+64,31
poke 22528+65,32
poke 22528+66,33
  Sub GetAddrFull(y, x, buf)
      Dim attraddr as UInteger
      attradr = AttrAddr(y, x)
      POKE buf,peek(attradr-32)
      POKE buf+1,peek(attradr-31)
      POKE buf+2,peek(attradr+1)
      POKE buf+3,peek(attradr+33)      
      POKE buf+4,peek(attradr+32)
      POKE buf+5,peek(attradr+31)
      POKE buf+6,peek(attradr-1)
      POKE buf+7,peek(attradr-33)
  End Sub
  GetAddrFull(1, 1, 23400)
Dim f2 As Ubyte
for f2=0 to 7
print peek (23400+f2)
next f2
pause (0)
'---TILES-----------------------
'---GetAddrTile clock sense oriented ^>v<
cls
print 8888
print 8888
print 8888
print 8888
poke 22528+1,12
poke 22528+2,13
poke 22528+3+32,24
poke 22528+3+64,34
poke 22528+3+95,43
poke 22528+3+94,42
poke 22528+64,31
poke 22528+32,21
  Sub GetAddrTile(y, x, buf)
      Dim attraddr as UInteger
      attradr = AttrAddr(y, x)
      POKE buf,peek(attradr-32)
      POKE buf+1,peek(attradr-31)
      POKE buf+2,peek(attradr+2)
      POKE buf+3,peek(attradr+34)      
      POKE buf+4,peek(attradr+65)
      POKE buf+5,peek(attradr+64)
      POKE buf+6,peek(attradr+31)
      POKE buf+7,peek(attradr-1)
  End Sub
  GetAddrTile(1, 1, 23400)
Dim f3 As Ubyte
for f3=0 to 7
print peek (23400+f3)
next f3
pause (0)
'---GetAddrTileFull
'---clock sense oriented ^>v<
cls
print 8888
print 8888
print 8888
print 8888
poke 22528,11
poke 22528+1,12
poke 22528+2,13
poke 22528+3,14
poke 22528+3+32,24
poke 22528+3+64,34
poke 22528+3+96,44
poke 22528+3+95,43
poke 22528+3+94,42
poke 22528+3+93,41
poke 22528+64,31
poke 22528+32,21
  Sub GetAddrTileFull(y, x, buf)
      Dim attraddr as UInteger
      attradr = AttrAddr(y, x)
      POKE buf,peek(attradr-32)
      POKE buf+1,peek(attradr-31)
      POKE buf+2,peek(attradr-30)
      POKE buf+3,peek(attradr+2)      
      POKE buf+4,peek(attradr+34)
      POKE buf+5,peek(attradr+34+32)
      POKE buf+6,peek(attradr+34+31)
      POKE buf+7,peek(attradr+34+30)
      POKE buf+8,peek(attradr+34+29)
      POKE buf+9,peek(attradr+2+29)
      POKE buf+10,peek(attradr-1)
      POKE buf+11,peek(attradr-33)
  End Sub
  GetAddrTileFull(1, 1, 23400)
Dim f4 As Ubyte
for f4=0 to 11
print peek (23400+f4)
next f4
'pause (0)
end
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)