1

Temat: Prima-Aprilis 2015

Aby tradycji stało się zadość wink
Dla przypomnienia: http://www.atari.org.pl/forum/viewtopic.php?id=4872
Edycja 2015:
1. Piszemy tylko w Atari Basic (USR dozwolony, ale kod musi dać się wprowadzić w AB)
2. Wersja ostateczna - za taką uważamy wersję opublikowaną przed godziną 23:59 w dniu 01.04.2015
3. Przypominam - nie kasujemy, dopisujemy kod. Drobne modyfikacje dozwolone
4. W nawiasach kwadratowych - kod pisany w inwersie
5. W liniach 0-9 wpisujemy autorów zabawy
6. Życzę miłej zabawy

0 REM PRIMA-APRILIS 2015 COMPO
1 REM AUTORZY SIKOR
10 GOSUB 1000
99 END 
1000 GRAPHICS 24:POKE 710,0:POKE 709,15:COLOR 1:DEG 
1001 FOR I=0 TO 359:X=INT(10*SIN(I*COS(I))*20):Y=INT(10*COS(I)*SIN(I*2)*20)
1002   IF X<0 THEN X=-X
1003   IF Y<0 THEN Y=-Y
1004   PLOT X,Y:PLOT 319-X,191-Y:PLOT X,191-Y:PLOT 319-X,Y:NEXT I
1005 RETURN 
Sikor umarł...

2

Odp: Prima-Aprilis 2015

0 REM PRIMA-APRILIS 2015 COMPO
1 REM AUTORZY SIKOR, SEBAN
10 GOSUB 1000: REM SINE PLOTS
11 GOSUB 1010: REM SIERPINSKI TRIANGLE
99 GOTO 99: REM INF. LOOP 
999 REM --- SINE PLOTS ---
1000 GRAPHICS 24:POKE 710,0:POKE 709,15:COLOR 1:DEG 
1001 FOR I=0 TO 359:X=INT(10*SIN(I*COS(I))*20):Y=INT(10*COS(I)*SIN(I*2)*20)
1002   IF X<0 THEN X=-X
1003   IF Y<0 THEN Y=-Y
1004   PLOT X,Y:PLOT 319-X,191-Y:PLOT X,191-Y:PLOT 319-X,Y:NEXT I
1005 RETURN 
1009 REM -- SLOW SIERPINSKI ---
1010 FOR I=0 TO 15:POKE 709,15-I:POKE 710,I:POKE 712,I:NEXT I:PUT #6,125:COLOR 1
1011 PX=0:PY=191:FOR I=1 TO 2048:R=INT(RND(0)*3):PLOT PX,PY
1012 IF R=0 THEN PX=PX/2:PY=(PY+191)/2:GOTO 1015
1013 IF R=1 THEN PX=(PX+319)/2:PY=(PY+191)/2:GOTO 1015
1014 PX=(PX+160)/2:PY=PY/2
1015 NEXT I:RETURN

Ostatnio edytowany przez seban (2015-04-01 13:26:02)

life is complex, it has both real and imaginary components.

3

Odp: Prima-Aprilis 2015

Dodałem linie 12 i 1100-1140

0 REM PRIMA-APRILIS 2015 COMPO
1 REM AUTORZY SIKOR, SEBAN, BLUKI
10 GOSUB 1000:REM SINE PLOTS
11 GOSUB 1010:REM SIERPINSKI TRIANGLE
12 GOSUB 1100
99 GOTO 99:REM INF. LOOP
999 REM --- SINE PLOTS ---
1000 GRAPHICS 24:POKE 710,0:POKE 709,15:COLOR 1:DEG
1001 FOR I=0 TO 359:X=INT(10*SIN(I*COS(I))*20):Y=INT(10*COS(I)*SIN(I*2)*20)
1002 IF X<0 THEN X=-X
1003 IF Y<0 THEN Y=-Y
1004 PLOT X,Y:PLOT 319-X,191-Y:PLOT X,191-Y:PLOT 319-X,Y:NEXT I
1005 RETURN
1009 REM -- SLOW SIERPINSKI ---
1010 FOR I=0 TO 15:POKE 709,15-I:POKE 710,I:POKE 712,I:NEXT I:PUT #6,125:COLOR 1
1011 PX=0:PY=191:FOR I=1 TO 2048:R=INT(RND(0)*3):PLOT PX,PY
1012 IF R=0 THEN PX=PX/2:PY=(PY+191)/2:GOTO 1015
1013 IF R=1 THEN PX=(PX+319)/2:PY=(PY+191)/2:GOTO 1015
1014 PX=(PX+160)/2:PY=PY/2
1015 NEXT I:RETURN
1100 PUT #6,125:COLOR 1:FOR I=15 TO 0 STEP -0.1:SETCOLOR 2,0,I:POKE 712,PEEK(710):NEXT I
1110 FOR I=0 TO 8 STEP 0.1:SETCOLOR 2,14,I:POKE 712,PEEK(710):NEXT I
1120 PLOT 140,32:FOR R=-90 TO -16 STEP 2:FOR I=0 TO 360 STEP 10
1130 DRAWTO 160+COS(I-R)*(R-45),8+SQR(ABS(I+R)*(R+96)):NEXT I:NEXT R
1140 RETURN

4

Odp: Prima-Aprilis 2015

0 REM PRIMA-APRILIS 2015 COMPO
1 REM AUTORZY SIKOR, SEBAN, BLUKI
10 GOSUB 1000:REM SINE PLOTS
11 GOSUB 1010:REM SIERPINSKI TRIANGLE
12 GOSUB 1100: REM SINE DRAWS
13 GOSUB 2000: REM SIERPINSKI AGAIN
99 GOTO 99:REM INF. LOOP
999 REM --- SINE PLOTS / SIKOR ---
1000 GRAPHICS 24:POKE 710,0:POKE 709,15:COLOR 1:DEG
1001 FOR I=0 TO 359:X=INT(10*SIN(I*COS(I))*20):Y=INT(10*COS(I)*SIN(I*2)*20)
1002 IF X<0 THEN X=-X
1003 IF Y<0 THEN Y=-Y
1004 PLOT X,Y:PLOT 319-X,191-Y:PLOT X,191-Y:PLOT 319-X,Y:NEXT I
1005 RETURN
1009 REM -- SLOW SIERPINSKI / SEBAN ---
1010 FOR I=0 TO 15:POKE 709,15-I:POKE 710,I:POKE 712,I:NEXT I:PUT #6,125:COLOR 1
1011 PX=0:PY=191:FOR I=1 TO 2048:R=INT(RND(0)*3):PLOT PX,PY
1012 IF R=0 THEN PX=PX/2:PY=(PY+191)/2:GOTO 1015
1013 IF R=1 THEN PX=(PX+319)/2:PY=(PY+191)/2:GOTO 1015
1014 PX=(PX+160)/2:PY=PY/2
1015 NEXT I:RETURN
1099 REM --- SINE DRAWS / BLUKI ---
1100 PUT #6,125:COLOR 1:FOR I=15 TO 0 STEP -0.1:SETCOLOR 2,0,I:POKE 712,PEEK(710):NEXT I
1110 FOR I=0 TO 8 STEP 0.1:SETCOLOR 2,14,I:POKE 712,PEEK(710):NEXT I
1120 PLOT 140,32:FOR R=-90 TO -16 STEP 2:FOR I=0 TO 360 STEP 10
1130 DRAWTO 160+COS(I-R)*(R-45),8+SQR(ABS(I+R)*(R+96)):NEXT I:NEXT R
1140 RETURN
1999 REM --- SIERPINSKI AGAIN / SEBAN ---
2000 T=PEEK(106)-4:POKE 106,T:GRAPHICS 16:POKE 752,1:? :FNT=T*256:POKE 710,128:POKE 712,128:POKE 709,15:POKE 77,0
2001 DATA 104,104,104,133,212,104,104,37,212,133,212,169,0,133,213,96,128,64,32,16,8,4,2,1
2002 RESTORE 2001:FOR I=1536 TO 1551:READ D:POKE I,D:NEXT I:I=0:PTR=PEEK(88)+256*PEEK(89)
2003 FOR I=0 TO 7:READ D:POKE FNT+512+I,D:NEXT I:I=0
2008 FOR DY=0 TO 23 STEP 8
2009 FOR DX=0 TO 39 STEP 8
2010 FOR X=0 TO 7:FOR Y=0 TO 7
2020 POKE PTR+(Y+DY)*40+X+DX,Y+X*8
2031 IF I<512 THEN POKE FNT+I,0:POKE FNT+512+I,PEEK(FNT+512+Y):I=I+1
2040 NEXT Y:NEXT X:NEXT DX:NEXT DY
2052 POKE 756,T
2061 FOR X=0 TO 63:FOR Y=0 TO 63
2062 IF USR(1536,X,Y)=0 THEN PTR=FNT+Y+64*INT(X/8):POKE PTR,PEEK(PTR)+PEEK(FNT+512+X)
2063 NEXT Y:NEXT X
2070 FOR I=64 TO 255 STEP 4: FOR J=255 TO I STEP -I/8: SOUND 0,J,10,J/15:POKE 709,PEEK(53770): NEXT J:NEXT I
2071 SOUND 0,0,0,0: POKE 709,128:POKE 756,224:POKE 106,T+4:GRAPHICS 0
2072 POKE 710,128:POKE 712,128:POKE 709,15:POKE 752,1:? ":)":RETURN

Ostatnio edytowany przez seban (2015-04-01 21:51:19)

life is complex, it has both real and imaginary components.

5

Odp: Prima-Aprilis 2015

i jeszcze jeden prymitywny efekt...

0 REM PRIMA-APRILIS 2015 COMPO
1 REM AUTORZY SIKOR, SEBAN, BLUKI
10 GOSUB 1000:REM SINE PLOTS
11 GOSUB 1010:REM SIERPINSKI TRIANGLE
12 GOSUB 1100: REM SINE DRAWS
13 GOSUB 2000: REM SIERPINSKI AGAIN
14 GOSUB 3000: REM XOR-OR ANIMATION
99 GOTO 99:REM INF. LOOP
999 REM --- SINE PLOTS / SIKOR ---
1000 GRAPHICS 24:POKE 710,0:POKE 709,15:COLOR 1:DEG
1001 FOR I=0 TO 359:X=INT(10*SIN(I*COS(I))*20):Y=INT(10*COS(I)*SIN(I*2)*20)
1002 IF X<0 THEN X=-X
1003 IF Y<0 THEN Y=-Y
1004 PLOT X,Y:PLOT 319-X,191-Y:PLOT X,191-Y:PLOT 319-X,Y:NEXT I
1005 RETURN
1009 REM -- SLOW SIERPINSKI / SEBAN ---
1010 FOR I=0 TO 15:POKE 709,15-I:POKE 710,I:POKE 712,I:NEXT I:PUT #6,125:COLOR 1
1011 PX=0:PY=191:FOR I=1 TO 2048:R=INT(RND(0)*3):PLOT PX,PY
1012 IF R=0 THEN PX=PX/2:PY=(PY+191)/2:GOTO 1015
1013 IF R=1 THEN PX=(PX+319)/2:PY=(PY+191)/2:GOTO 1015
1014 PX=(PX+160)/2:PY=PY/2
1015 NEXT I:RETURN
1099 REM --- SINE DRAWS / BLUKI ---
1100 PUT #6,125:COLOR 1:FOR I=15 TO 0 STEP -0.1:SETCOLOR 2,0,I:POKE 712,PEEK(710):NEXT I
1110 FOR I=0 TO 8 STEP 0.1:SETCOLOR 2,14,I:POKE 712,PEEK(710):NEXT I
1120 PLOT 140,32:FOR R=-90 TO -16 STEP 2:FOR I=0 TO 360 STEP 10
1130 DRAWTO 160+COS(I-R)*(R-45),8+SQR(ABS(I+R)*(R+96)):NEXT I:NEXT R
1140 RETURN
1999 REM --- SIERPINSKI AGAIN / SEBAN ---
2000 T=PEEK(106)-4:POKE 106,T:GRAPHICS 16:POKE 752,1:? :FNT=T*256:POKE 710,128:POKE 712,128:POKE 709,15:POKE 77,0
2001 DATA 104,104,104,133,212,104,104,37,212,133,212,169,0,133,213,96,128,64,32,16,8,4,2,1
2002 RESTORE 2001:FOR I=1536 TO 1551:READ D:POKE I,D:NEXT I:I=0:PTR=PEEK(88)+256*PEEK(89)
2003 FOR I=0 TO 7:READ D:POKE FNT+512+I,D:NEXT I:I=0
2008 FOR DY=0 TO 23 STEP 8
2009 FOR DX=0 TO 39 STEP 8
2010 FOR X=0 TO 7:FOR Y=0 TO 7
2020 POKE PTR+(Y+DY)*40+X+DX,Y+X*8
2031 IF I<512 THEN POKE FNT+I,0:POKE FNT+512+I,PEEK(FNT+512+Y):I=I+1
2040 NEXT Y:NEXT X:NEXT DX:NEXT DY
2052 POKE 756,T
2061 FOR X=0 TO 63:FOR Y=0 TO 63
2062 IF USR(1536,X,Y)=0 THEN PTR=FNT+Y+64*INT(X/8):POKE PTR,PEEK(PTR)+PEEK(FNT+512+X)
2063 NEXT Y:NEXT X
2070 FOR I=64 TO 255 STEP 4: FOR J=255 TO I STEP -I/8: SOUND 0,J,10,J/15:POKE 709,PEEK(53770): NEXT J:NEXT I
2071 SOUND 0,0,0,0: POKE 709,128:POKE 756,224:POKE 106,T+4:GRAPHICS 0
2072 POKE 710,128:POKE 712,128:POKE 709,15:POKE 752,1:? ":)":RETURN
2999 REM --- XOR-OR EFFECTS / SEBAN ---
3000 FOR I=15 TO 0 STEP -0.05:SOUND 0,128,8,I:NEXT I:RESTORE 3001:FOR I=1552 TO 1567:READ D:POKE I,D:NEXT I
3001 DATA 104,104,104,133,212,104,104,69,212,133,212,169,0,133,213,96
3002 GRAPHICS 9
3003 FOR X=0 TO 63:FOR Y=0 TO 47
3004 C=USR(1552,X,Y):IF USR(1536,C,15)=0 THEN C=1
3005 COLOR C:PLOT 8+X,Y*4:DRAWTO 8+X,Y*4+3
3006 NEXT Y:NEXT X
3007 FOR J=0 TO 1:FOR I=0 TO 255:POKE 20,0
3008 IF PEEK(20)<4 THEN 3008
3009 POKE 712,I:NEXT I
3010 GRAPHICS 11+32:NEXT J
3011 RETURN

Ostatnio edytowany przez seban (2015-04-01 21:50:16)

life is complex, it has both real and imaginary components.

6

Odp: Prima-Aprilis 2015

Załączam plik BAS, bo znaki z CONTROL nie chcą się wyświetlać  sad  sad  sad
Przesunąłem GOSUB 3000 z linii 14 na 15, a w linii 14 wciąłem się ze swoim podprogramem (linie 2500-2518). Inaczej efekt by nie pasował.
Mam nadzieję, że jest to zgodne z regulaminem.

Post's attachments

PA2015.BAS 3.77 kb, liczba pobrań: 5 (od 2015-04-01) 

Tylko zalogowani mogą pobierać załączniki.

7

Odp: Prima-Aprilis 2015

No i wyszła ładna graficznie praca wink Blukiemu i Sebanowi dziękuję za uczestnictwo i zapraszam za rok. Szkoda, że innym nie chciało się ruszyć d... szarych komórek... hmm
Załączam plik w formacie MyDOSa w średniej gęstości - uruchamiać z BASICiem wink Aha, dla niecierpliwych - załączona również wersja skompilowana kompilerem do TB wink

Ostatnio edytowany przez Sikor (2015-04-02 08:54:50)

Post's attachments

aprilis_2015.atr 130.02 kb, liczba pobrań: 19 (od 2015-04-02) 

Tylko zalogowani mogą pobierać załączniki.
Sikor umarł...

8

Odp: Prima-Aprilis 2015

Piękne! Żałuję, że w tym roku nie mogłem wziąć udziału w PAC hmm No nic - będę musiał poczekać do następnej edycji.

hex, code and ror'n'rol!
"mężczyzna wydoił wielbłąda żoną"
"wcześniej miał na imię Heidi i był niemiecką kulomiotką"

9

Odp: Prima-Aprilis 2015

Podziękowania dla organizatora za  zorganizowanie konkursu smile

10

Odp: Prima-Aprilis 2015

A dziękuję, to tradycja jest już. Choć z przykrością stwierdzam, że z roku na rok coraz mniej uczestników, powoli zaczynam się zastanawiać, czy nie zrezygnować (jak z konkursów sikora)...

Sikor umarł...

11

Odp: Prima-Aprilis 2015

W tym roku wypadło tuż przed świętami i niektórzy pewnie zamiast klawiatury musieli obsługiwać paddle... eee... trzepaczkę do dywanów big_smile

12

Odp: Prima-Aprilis 2015

15 ściągnięć nie rokuje zbyt dobrze na przyszłość...

Sikor umarł...

13

Odp: Prima-Aprilis 2015

Sikorku, spokojnie... Dodałem do paczki na AOL, więc łączna liczba ściągnięć będzie dużo większa niż 15. smile

Powszechnie wiadomo, że kamień potrafi myśleć. Na tym fakcie opiera się cała elektronika.

Terry Pratchett - Równoumagicznienie