home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 86xx / 8609.d64 / demo (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  6KB  |  125 lines

  1. 10 REM *******************
  2. 20 REM * SHRINKSPRITE 64 *
  3. 30 REM *      DEMO       *
  4. 40 REM *   WRITTEN BY    *
  5. 50 REM * BURKHARD REIKE  *
  6. 60 REM *  IN MARCH '86   *
  7. 70 REM *******************
  8. 80 POKE53280,0:POKE53281,0
  9. 90 PRINT"[147]            BITTE WARTEN !":POKE55,0:POKE56,60
  10. 100 FORX=0TO318:READA:POKE16064+X,A:NEXT
  11. 110 CLR:V=53248:AD=49152:FORX=0TO9:POKEV+X,0:NEXT:POKEV+23,0:POKEV+29,0
  12. 120 FORX=0TO4:S(X)=251+X:S1(X)=246+X:POKEV+39+X,X+1:NEXTX
  13. 130 PRINT"[147]":FORX=0TO3:POKEV+2*X,45*X+100:NEXTX
  14. 140 FORX=0TO3:SYSAD,S(X),S1(X),10,10,X:POKEV+21,PEEK(V+21)OR2^X
  15. 150 FORY=1TO100:POKEV+2*X+1,Y:NEXTY
  16. 160 FORY=9TO0STEP-1:SYSAD,S(X),S1(X),Y,Y,X:NEXTY:NEXTX
  17. 170 PRINT"         FUER 'SHRINKSPRITE 64'"
  18. 180 PRINT"             TASTE DRUECKEN[146]"
  19. 190 FORS=0TO3:FORX=1TO23:SYSAD,S(S),S1(S),0,X,S:GETA$:IFA$<>""THEN220
  20. 200 NEXTX:FORX=23TO0STEP-1:SYSAD,S(S),S1(S),0,X,S:GETA$:IFA$<>""THEN220
  21. 210 NEXTX,S:GOTO190
  22. 220 FORX=0TO7:POKEV+X,0:NEXTX:PRINT"[147]"
  23. 230 PRINTSPC(12)"SHRINKSPRITE 64"
  24. 240 PRINTSPC(12)"***************"
  25. 250 PRINT"SHRINKSPRITE 64 HAT DIE FAEHIGKEIT,DURCHEINEN SYS-AUFRUF UND PARA";
  26. 260 PRINT"METERUEBERGABE EINEN SPRITE HORIZONTAL UND VERTIKAL ZU STAUCHEN";
  27. 270 PRINT",WOBEI DER URSPRUENGLICHE SPRITEERHALTEN BLEIBT,DA DER GESTAUCHTE";
  28. 280 PRINT" SPRITEIN EINEM NEUEN SPRITEBLOCK ABGELEGT     WIRD.DAS PROGRAMM ";
  29. 290 PRINT"KANN AUF WUNSCH DEN   SPRITEZEIGER AUF DEN NEUEN BLOCK SETZEN.":PRINT
  30. 300 GOSUB1060:PRINT"[147]":PRINTSPC(13)"DIE PARAMETER[146]"
  31. 310 PRINT"DER AUFRUF DER ROUTINE SIEHT FOLGENDERMASSEN AUS:"
  32. 320 A$(1)="ROUTINE":A$(2)="SPRITE1":A$(3)="SPRITE2":A$(4)="VERTIKAL"
  33. 330 A$(5)="HORIZONTAL":A$(6)="NUMMER"
  34. 340 PRINT:PRINT:Q=7:GOSUB1070:GOSUB1060:PRINT"[147]"
  35. 350 Q=1:GOSUB1070
  36. 360 PRINT"DIE ADRESSE NACH DEM SYSAUFRUF IST STETSDER ANFANG DER ROUTINE ";
  37. 370 PRINT"'SHRINKSPRITE 64'":PRINT:GOSUB1060:PRINT"[147]":Q=2:GOSUB1070
  38. 380 PRINT"NACH DEM ERSTEN KOMMA KOMMT DIE NUMMER  DES SPRITEBLOCKS,DER ";
  39. 390 PRINT"VERAENDERT WERDEN  SOLL (0-255).":PRINT:GOSUB1060:PRINT"[147]":Q=3
  40. 400 GOSUB1070:PRINT"HIERNACH FOLGT DIE NUMMER DES SPRITE-   BLOCKS";
  41. 410 PRINT",IN DEM DER VERAENDERTE SPRITE AB-GELEGT WERDEN SOLL.DIESER BLOCK";
  42. 420 PRINT" DARF MITDEM ERSTEN BLOCK IDENTISCH SEIN.":PRINT:GOSUB1060
  43. 430 PRINT"[147]":Q=4:GOSUB1070:PRINT"ES FOLGEN NUN ZWEI PARAMETER,DIE";
  44. 440 PRINT" FUER   DAS AUSMASS DER STAUCHUNG VERANTWORTLICHSIND.ZUERST KOMMT ";
  45. 450 PRINT"GRAD DER VERTIKALEN   STAUCHUNG (0-20).":PRINT:GOSUB1060:Q=5:PRINT"[147]"
  46. 460 GOSUB1070:PRINT"DANN DER GRAD DER HORIZONTALEN STAUCHUNG(0-23).ZU DEN ";
  47. 470 PRINT"PARAMETERN DER STAUCHUNGENGIBT ES SPAETER NOCH WEITERE AUSFUEHRUNGEN."
  48. 480 GOSUB1060:PRINT"[147]":Q=6:GOSUB1070
  49. 490 PRINT"DIE SPRITENUMMER (0-7) BEWIRKT,DASS DER ENTSPRECHENDE ZEIGER AUF ";
  50. 500 PRINT"DEN SPRITEBLOCKDES SPRITES,DER VERAENDERT WERDEN SOLL, AUF DEN NEUEN";
  51. 510 PRINT" BLOCK GESCHALTET WIRD(BEI 0 WUERDE ZUM BEISPIEL DER ZEIGER 2040"
  52. 520 PRINT"VERAENDERT WERDEN)."
  53. 530 PRINT"IST DIE NUMMER GROESSER ALS 7,SO WIRD  DIESE UMSCHALTUNG UNTERDRUE";
  54. 540 PRINT"CKT.":GOSUB1060
  55. 550 PRINT"[147]VERAENDERN SIE NUN MIT HILFE DER        FUNKTIONSTASTEN DEN SPRITE:"
  56. 560 PRINT"F1[146] - DER GRAD DER VERTIKALEN STAUCHUNG       WIRD ERHOEHT (BIS 20)"
  57. 570 PRINT"F3[146] - DER GRAD DER VERTIKALEN STAUCHUNG       WIRD NIEDRIGER (BIS 0)"
  58. 580 PRINT"F5[146] - DER GRAD DER HORIZONTALEN STAUCHUNG     WIRD ERHOEHT (BIS 23)"
  59. 590 PRINT"F7[146] - DER GRAD DER HORIZONTALEN STAUCHUNG     WIRD NIEDRIGER (BIS 0)"
  60. 600 PRINT"RETURN[146] - VERLASSEN DIESES PROGRAMMTEILS"
  61. 610 POKEV+8,170:POKEV+9,180:POKE2044,S(4):POKEV+21,16:POKEV+43,4
  62. 620 PRINT"":A$="00":B$="00":A=0:B=0
  63. 630 PRINT"[145]      VERTIKAL:"+A$+"[146]     HORIZONTAL:"+B$+"[146]"
  64. 640 C$="":GETC$:IFC$=""THEN640
  65. 650 IFASC(C$)=13THEN730
  66. 660 IFC$="[133]"THENIFA<20THENA=A+1
  67. 670 IFC$="[134]"THENIFA>0THENA=A-1
  68. 680 IFC$="[135]"THENIFB<23THENB=B+1
  69. 690 IFC$="[136]"THENIFB>0THENB=B-1
  70. 700 SYSAD,S(4),S1(4),A,B,4:A$=RIGHT$(STR$(A),2):IFA<10THENA$="0"+RIGHT$(A$,1)
  71. 710 B$=RIGHT$(STR$(B),2):IFB<10THENB$="0"+RIGHT$(B$,1)
  72. 720 GOTO630
  73. 730 POKEV+8,0:PRINT"[147]MIT SHRINKSPRITE 64 KANN MAN ALSO OHNE  GROSSEN AUFWAND ";
  74. 740 PRINT"EINEN SPRITE EFFEKTVOLL VERAENDERN:ER VERAENDERT SEINE GROESSE"
  75. 750 PRINT"(SEINE ENTFERNUNG),WIRD DUENNER ODER    DREHT SICH SOGAR."
  76. 760 PRINT"DURCH DIE EINFACHE UND SCHNELLE PARA-   METERUEBERGABE KANN JEDER ";
  77. 770 PRINT"ANWENDER      SHRINKSPRITE 64 IN SEINEN EIGENEN PRO-  GRAMMEN VERWE";
  78. 780 PRINT"NDEN.":GOSUB1060:PRINT"[147]WUSSTEN SIE SCHON,WIE DIE WELT AUS DER"
  79. 790 PRINT"SICHT VON PACMAN AUSSIEHT ?"
  80. 800 FORX=1TO4000:NEXTX
  81. 810 PRINT"[147][183][183][183][183][183][183][183][183][183][183][183][183][208][205]             [206][207][183][183][183][183][183][183][183][183][183][183][183]";
  82. 820 PRINT"            [170] [205]           [206] [180]"
  83. 830 PRINT"            [170]  [205]         [206]  [180]"
  84. 840 PRINT"            [170]  [170]        [206]   [180]"
  85. 850 PRINT"            [170]  [170][208][205]     [206]    [180]"
  86. 860 PRINT"            [170]  [170][170] [205]   [206]     [180]"
  87. 870 PRINT"            [170]  [170][170]  [205] [206]      [180]"
  88. 880 PRINT"            [170]  [170][170]  [170] [180]      [180]"
  89. 890 PRINT"            [170]  [170][170]  [206] [205]      [180]"
  90. 900 PRINT"            [170]  [170][170] [206]   [205]     [180]"
  91. 910 PRINT"            [170]  [170][186][206]     [205]    [180]"
  92. 920 PRINT"            [170]  [170]        [205]   [180]"
  93. 930 PRINT"            [170]  [206]         [205]  [180]"
  94. 940 PRINT"            [170] [206]           [205] [180]"
  95. 950 PRINT"[175][175][175][175][175][175][175][175][175][175][175][175][186][206]             [205][204][175][175][175][175][175][175][175][175][175][175][175]":FORX=1TO800:NEXTX
  96. 960 SYSAD,S(4),S1(0),4,5,0:SYSAD,S(4),S1(4),10,10,4:POKEV+8,175:POKEV+9,140:A=0
  97. 970 FORX=9TO0STEP-1
  98. 980 A=A+1.3:SYSAD,S(4),S1(4),X,X,4:POKEV+9,140+A:NEXTX:POKE198,0
  99. 990 POKEV+23,1:POKEV+29,1:POKEV,164:POKEV+1,147
  100. 1000 POKEV+39,4:POKEV+21,1:POKE198,0
  101. 1010 A=0:FORX=3TO0STEP-1:A=A+3:SYSAD,S(4),S1(0),X,X+1,0:POKE198,0
  102. 1020 POKEV+1,147+A:NEXTX:SYSAD,S(4),S1(0),0,0,0:X=0
  103. 1030 FORQ=1TO25:SYSAD,S(4),S1(0),0,X,0:X=23-X:FORY=1TO50:NEXTY:NEXTQ:PRINT"[147]"
  104. 1040 GOTO110
  105. 1050 END
  106. 1060 PRINTSPC(17)"TASTE[146]":POKE198,0:WAIT198,255:RETURN
  107. 1070 FORX=1TO6:EN$(X)="":AN$(X)="":NEXT:AN$(Q)="":EN$(Q)="[146]"
  108. 1080 PRINT"SYS ";:FORX=1TO6:PRINT",";AN$(X)A$(X)EN$(X);:NEXT:PRINT:PRINT:RETURN
  109. 1090 DATA0,0,0,127,254,0,127,255,128,127,255,192,63,255,224,63,255,240,63,7
  110. 1100 DATA240,62,1,248,62,1,248,62,0,248,62,0,248,62,0,248,62,1,248,62,3,248
  111. 1110 DATA63,7,240,63,255,240,127,255,224,127,255,192,127,255,128,127,254,0,0
  112. 1120 DATA0,0,0,0,0,0,63,255,240,127,255,248,127,255,248,63,255,240,62,0,0,62
  113. 1130 DATA0,0,62,0,0,63,255,192,63,255,224,63,255,224,63,255,192,62,0,0,62,0
  114. 1140 DATA0,62,0,0,62,0,0,63,255,240,127,255,248,127,255,248,63,255,240,0,0,0
  115. 1150 DATA0,0,0,0,60,0,60,127,0,254,127,195,254,127,255,254,127,255,254,125,255
  116. 1160 DATA190,124,126,62,124,126,62,124,60,62,124,24,62,124,0,62,124,0,62,124
  117. 1170 DATA0,62,124,0,62,124,0,62,124,0,62,124,0,62,124,0,62,124,0,62,56,0,28
  118. 1180 DATA0,0,0,0,0,254,0,3,255,128,7,255,192,15,255,224,31,255,240,31,199,240
  119. 1190 DATA63,129,248,63,1,248,62,0,248,62,0,248,62,0,248,63,1,248,63,3,248,31
  120. 1200 DATA199,240,31,255,240,15,255,224,7,255,192,3,255,128,0,254,0,0,0,0,0,1
  121. 1210 DATA255,128,15,255,240,31,255,248,63,255,252,60,126,60,121,188,30,115
  122. 1220 DATA216,14,241,153,143,240,27,207,248,61,159,252,126,63,255,255,255,254
  123. 1230 DATA237,207,252,76,143,248,0,15,250,49,47,255,51,191,255,255,255
  124. 1240 DATA247,60,239,226,24,71,66,24,66
  125.