NOMAM-10-Liners NOT(spaghetti)


NOMAM-10-Liners NOT(spaghetti)

von Sleepy » Di 8. Jul 2014, 16:36
Hi,

in Gunnar´s neuem Buch "BASIC TENLINERS 2014" sind die Listings im original-Code abgedruckt. Für jemanden der den Programmablauf nachvollziehen möchte ist das etwas unpraktisch.

Hier die Programme meiner Beiträge etwas übersichtlicher eingerückt:

PUZDUELL.ATR

Code: Alles auswählen
1
   GRAPHICS 3
   POKE 752,1
   POKE 77,0
   R=DPEEK(88)
   FOR L=0 TO 199
      POKE R+L,RAND(255)&85
   NEXT L
   O=RAND(9)
   P=RAND(8)*2
   M=656
   SOUND 1,255,10,2
2
   FOR L=0 TO 3
      ?
      FOR I=6 TO 0 STEP -2
         ? CHR$(160*(0<>(PEEK(R+O+(P+L)*10)&2^I)));
      NEXT I
   NEXT L
   X=0
   Y=0
   G=9
   H=16
   SOUND 2,254,10,2
3
   DPOKE M,2049
   ? "find pattern & press fire!";
   DPOKE M,2051
   ? "DUELL by Sleepy";
   DO
      S=STICK(0)
      X=X+(S=7 AND X<9)-(S=11 AND X>0)
4
      Y=Y+2*(S=13 AND Y<16)-2*(S=14 AND Y>0)
      S=STICK(1)
      G=G+(S=7 AND G<9)-(S=11 AND G>0)
      H=H+2*(S=13 AND H<16)-2*(S=14 AND H>0)
5
      FOR L=0 TO 3
         EXEC J
         POKE A,PEEK(A)*2
      NEXT L
      PAUSE 1
      FOR L=0 TO 3
         EXEC J
         POKE A,PEEK(A)/2
      NEXT L
6
      FOR L=0 TO 3
         EXEC J
         C=PEEK(B)
         POKE B,C+C*2
      NEXT L
      PAUSE 1
      FOR L=0 TO 3
         EXEC J
         POKE B,PEEK(B)&85
      NEXT L
      IF PEEK(20)>253
      THEN   EXEC K
7
      IF NOT STRIG(0) OR NOT STRIG(1)
      THEN   POKE 77,0
            V=(X=O) AND (Y=P)
            W=(G=O) AND (H=P)
            IF V OR W
            THEN   SOUND
                  FOR M=0 TO 50
                     EXEC K
                  NEXT M
                  EXIT
8
   LOOP
   SOUND
   CLS
   ?
   ? "Gr8! Player in #";W=1;" wins!"
   FOR L=0 TO 3
      SOUND L,100+L*15,10,8
      PAUSE 30
   NEXT L
   SOUND
   PAUSE 200
   RUN

9
   PROC K
      FOR L=0 TO 3
         A=R+O+(P+L)*10
         POKE A,PEEK(A)*2
      NEXT L
      FOR L=0 TO 3
         A=R+O+(P+L)*10
         POKE A,PEEK(A)/2
      NEXT L
   ENDPROC

10
   PROC J
      A=R+X+(Y+L)*10
      B=R+G+(H+L)*10
      SOUND 0,(RAND(100)+155)&PEEK(19),10,14
      SOUND 3,PEEK(20)&$48,8,6
   ENDPROC



Puzzler:


Code: Alles auswählen
1
   GRAPHICS 3
   POKE 752,1
   POKE 77,0
   R=DPEEK(88)
   FOR L=0 TO 199
      POKE R+L,RAND(255)&85
   NEXT L
   O=RAND(9)
   P=RAND(8)*2
   M=656:SOUND 1,255,10,2
2
   FOR L=0 TO 3
      ?
      FOR I=6 TO 0 STEP -2
         ? CHR$(160*(0<>(PEEK(R+O+(P+L)*10)&2^I)));
      NEXT I
   NEXT L
   X=0
   Y=0
   G=9
   H=16
   SOUND 2,254,10,2
3
   DPOKE M,2049
   ? "find pattern & press fire!";
   DPOKE M,2051
   ? "DUELL by Sleepy";
   DO
      S=STICK(0)
      X=X+(S=7 AND X<9)-(S=11 AND X>0)
4
      Y=Y+2*(S=13 AND Y<16)-2*(S=14 AND Y>0)
      S=STICK(1)
      G=G+(S=7 AND G<9)-(S=11 AND G>0)
      H=H+2*(S=13 AND H<16)-2*(S=14 AND H>0)
5
      FOR L=0 TO 3
         EXEC J
         POKE A,PEEK(A)*2
      NEXT L
      PAUSE 1
      FOR L=0 TO 3
         EXEC J
         POKE A,PEEK(A)/2
      NEXT L
6
      FOR L=0 TO 3
         EXEC J
         C=PEEK(B)
         POKE B,C+C*2
      NEXT L
      PAUSE 1
      FOR L=0 TO 3
         EXEC J
         POKE B,PEEK(B)&85
      NEXT L
      IF PEEK(20)>253
      THEN   EXEC K
7
      IF NOT STRIG(0) OR NOT STRIG(1)
      THEN   POKE 77,0
            V=(X=O) AND (Y=P)
            W=(G=O) AND (H=P)
            IF V OR W
            THEN   SOUND
                  FOR M=0 TO 50
                     EXEC K
                  NEXT M
                  EXIT
8
   LOOP
   SOUND
   CLS
   ?
   ? "Gr8! Player in #";W=1;" wins!"
   FOR L=0 TO 3
      SOUND L,100+L*15,10,8
      PAUSE 30
   NEXT L
   SOUND
   PAUSE 200
   RUN

9
   PROC K
      FOR L=0 TO 3
         A=R+O+(P+L)*10
         POKE A,PEEK(A)*2
      NEXT L
      FOR L=0 TO 3
         A=R+O+(P+L)*10
         POKE A,PEEK(A)/2
      NEXT L   
   ENDPROC

10
   PROC J
      A=R+X+(Y+L)*10
      B=R+G+(H+L)*10
      SOUND 0,(RAND(100)+155)&PEEK(19),10,14
      SOUND 3,PEEK(20)&$48,8,6
   ENDPROC


Sleeπ