Commodore manía
Commodore 64 => Desarrollo => BASIC => Mensaje iniciado por: josepzin en Diciembre 04, 2022, 15:53:27
-
Publicadas en la Transmission64 3rd Edition (2022) https://csdb.dk/event/?id=3170
A Basic Groove
0s=54294:fOi=.to32:pOs+pE(41713+i)-83,pE(59686+i)+3:pOs-3,15:nE:pOs,pE(162):gOhttps://csdb.dk/release/?id=226320
(https://csdb.dk/gfx/releases/226000/226320.png)
It's A SIN
https://csdb.dk/release/?id=226341
(https://csdb.dk/gfx/releases/226000/226341.png)
-
Eso más que una demo así en genérico es un one-liner (un programa de una línea).
El más típico es el del laberinto con las teclas / y \:
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Lo comento porque hoy he visto uno en tuiter que me ha hecho gracia:
https://twitter.com/BrianRoemmele/status/1616099386119065604
1?chr$(18)" {crsrl}";:printmid$("{crsrr}{crsrl}{crsru}{crsrd}",rnd(ti)*4+1,1);:poke646,rnd(.)*256:goto1
(Veo que el tipo ha escrito "para VIC20" y luego lo ha ejecutado en un C64, es posible que en un VIC20 funcione también pero sólo con 8 colores)
-
El Robin de 8 bit Show n'Tell explica como han logrado reducir un programa que le hacía gracia, cortito pero de 5 lineas, a una sola linea a base de trucos
https://www.youtube.com/watch?v=VC-lbd8mTOs (https://www.youtube.com/watch?v=VC-lbd8mTOs)
-
Commodore 64 nunca deja de sorprender.
-
Otro video interesante sobre oneliners de la mano de Josip Retro Bits.
https://www.youtube.com/watch?v=pDslHkD8UeA (https://www.youtube.com/watch?v=pDslHkD8UeA)
Os pego tambien el codigo de los oneliners que explica. Recordad que si quereis podeis copiar el codigo aqui y pegarlo en el vice.
10 printchr$(147+a);:a=58.5+rnd(.):goto10
0 a=1-a*(a<41):printchr$(149+(aand7))chr$(205+(aand3));:poke199,a:goto
0 a=781:b=1024:c=59923:d=999:g=29:fori=0tod:pokea,peek(b+i):sysc:printchr$(g);:next:goto
-
Esto lo he encontrado hace unas semanas por ahí, va generando una imagen que pasa de abajo arriba

listado.jpg (48.46 kB . 966x560 - visto 907 veces)
Aqui el listado con pequeñas modificaciones para copiar y pegar (cambio los dos simbolos graficos por chr$)
0 w=646:v=40:a=10:dims(39),t(39):fOi=.to39:s(i)=sin(i/4)*a:t(i)=s(i):nE:y=.:x=.
1 poke53280,.:poke53281,.:printchr$(147):a$=chr$(209)
2 fori=.to9e9:x=i-v*int(i/v):y=i/v
3 p=5*sin((s(x)+x+y+t(y-int(y/v)*v))/a):pokew,p+a:printa$;:i=i+1
4 p=5*sin((s(x)+x+y+t(y-int(y/v)*v))/a):pokew,p+a:printa$;:next

plasmatisch.png (2.96 kB . 384x272 - visto 748 veces)
-
Y aquí se puede ver funcionando!!
https://www.youtube.com/watch?v=6tVU4YFpKQY (https://www.youtube.com/watch?v=6tVU4YFpKQY)
-
El amigo Josip Retro bits ha logrado más o menos meter en una sola línea de BASIC la demo esta de plasma.
https://www.youtube.com/watch?v=eaOxvuQfq28 (https://www.youtube.com/watch?v=eaOxvuQfq28)
0 y=y+.025:x=1-(x<40)*x:a=sI(y/5)-sI(x/5)+log(x*y):pO646,abs(a*2):?"o";:gO
-
Impresionante!!!