home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1985 August / 64er_Magazin_85-08_1985_Markt__Technik_de.d64 / sprites (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  3KB  |  79 lines

  1. 1 rem *********************************
  2. 2 rem *                               *
  3. 3 rem *  beispielprogramm zu sprites  *
  4. 4 rem *                               *
  5. 5 rem * heimo ponnath   hamburg  1985 *
  6. 6 rem *                               *
  7. 7 rem *********************************
  8. 8 rem
  9. 45 rem **** bildschirmfarben ****
  10. 50 poke53280,0:poke53281,0:poke646,14
  11. 95 rem **** einlesen sprite-daten ****
  12. 100 fori=704to766:readd:pokei,d:nexti
  13. 110 fori=832to894:readd:pokei,d:nexti
  14. 115 rem ****** datas von sprite 1 ******
  15. 120 data0,0,0,0,0,0,3,255,192,1,3,128
  16. 130 data1,51,128,1,115,128,1,59,192
  17. 140 data129,186,254,255,255,255,129,2,1
  18. 150 data129,2,1,253,254,127,222,0,157
  19. 160 data255,255,190,62,0,62,28,0,28
  20. 170 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  21. 175 rem ****** datas von sprite 2 ******
  22. 180 data128,8,0,160,40,0,168,168,0
  23. 190 data40,168,0,42,170,0,10,234,160
  24. 200 data43,250,128,43,250,0,170,232,0
  25. 210 data170,168,0,165,168,0,129,90,0
  26. 220 data129,86,0,0,80,128,0,80,0
  27. 230 data0,16,20,0,16,85,0,17,84,0,21,0
  28. 240 data0,16,0,0,16,0
  29. 245 rem **** sprite-zeiger ****
  30. 250 poke2040,11:poke2041,13
  31. 255 rem **** einschalten ****
  32. 260 poke53269,peek(53269)or(2^0):poke53269,peek(53269)or(2^1)
  33. 265 rem **** sprite-positionen ****
  34. 270 forn=0to1:print"sprite"n;:input"x,y=";x(n),y(n)
  35. 280 poke53249+2*n,y(n)
  36. 290 ifx(n)>255thenpoke53248+2*n,x(n)-256:poke53264,peek(53264)or(2^n):goto305
  37. 300 poke53248+2*n,x(n):poke53264,peek(53264)and(255-2^n)
  38. 305 ifk=1thenreturn
  39. 310 nextn
  40. 315 rem **** sprite-farben ****
  41. 320 poke53287,3:rem sprite 0 =cyan
  42. 330 poke53285,5:rem sprite 1 kennung 01=gruen
  43. 340 poke53286,7:rem kennung 11=gelb
  44. 350 poke53288,2:rem kennung 10=rot
  45. 360 poke53276,peek(53276)or(2^1):rem multicolormodus eingeschaltet
  46. 365 rem *** sprite-groessen ***
  47. 367 rem +++++ 3 weitere sprites +++++
  48. 370 poke2042,11:poke2043,13:poke2044,11:rem spritezeiger auf vorhandene daten
  49. 380 poke53269,peek(53269)or(2^2):poke53269,peek(53269)or(2^3)
  50. 385 poke53269,peek(53269)or(2^4):rem anschalten
  51. 390 poke53248+2*2,100:poke53249+2*2,100:poke53248+2*3,80:poke53249+2*3,200
  52. 395 poke53248+2*4,150:poke53249+2*4,150:poke53291,4
  53. 400 poke53289,1:poke53290,6:poke53276,peek(53276)or(2^3):rem positionen+farben
  54. 405 rem +++++ diese vergroessern +++++
  55. 410 poke53277,peek(53277)or(2^2):rem sprite 2 in x-richtung verdoppeln
  56. 420 poke53271,peek(53271)or(2^3):rem sprite 3 in y-richtung verdoppeln
  57. 430 poke53271,peek(53271)or(2^4):poke53277,peek(53277)or(2^4):rem sprite 4 x+y
  58. 435 rem **** vorfahrt-regelung *****
  59. 440 poke53275,peek(53275)or(2^0):poke53275,peek(53275)or(2^2)
  60. 450 poke53275,peek(53275)or(2^4):rem alle autos hinter bildschirmzeichen
  61. 455 rem *** kollisionen vorbereiten ***
  62. 460 a=peek(53278):a=peek(53279)
  63. 465 rem *** steuern von sprite 0 ***
  64. 470 printchr$(147):n=0
  65. 480 geta$:ifa$=""then480
  66. 490 ifa$=chr$(17)thenpoke53249,peek(53249)+3:rem abwaerts
  67. 500 ifa$=chr$(145)thenpoke53249,peek(53249)-3:rem aufwaerts
  68. 510 ifa$=chr$(157)thenx(n)=x(n)-3:k=1:gosub290:k=0:rem links
  69. 520 ifa$=chr$(29)thenx(n)=x(n)+3:k=1:gosub290:k=0:rem rechts
  70. 525 rem *** sprite/sprite-kollision ***
  71. 530 a=peek(53278)
  72. 540 ifa=3ora=9thengosub600:rem kollision mit blumen ?
  73. 545 rem *** ende abfrageschleife ***
  74. 550 ifa$="_"thenend:rem programmende
  75. 560 goto480:rem erneute abfrage
  76. 565 rem *** kollisionsfolge ***
  77. 600 f=peek(53287)+1:iff>255thenf=0:rem farbcode sprite 0 erhoehen
  78. 610 poke53287,f:return:rem in farbregister von sprite 0
  79.