- [NEW] Afegides les demos del repo "miniascii" a este repo
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
p=0.45 a=0 c=cos s=sin function update()cls()for m=0,63 do
|
||||
N=2*p*(m%8)M=p*flr(m/8)x,y,z=s(M)*c(N),s(M)*s(N),c(M)I,J=c(a),s(a)y,z=y*I-z*J,y*J+z*I
|
||||
x,z=x*I-z*J,x*J+z*I x,y=x/(z+4),y/(z+4)print(chr(47-sgn(z)),20+x*70,15+y*55)end a=a+0.03 end
|
||||
@@ -0,0 +1,6 @@
|
||||
for i=0,1199 do poke(i,207) end o=0
|
||||
function update()o=o-0.05
|
||||
for y=1,14 do for x=0,39 do
|
||||
c=(flr((x-20)/(2*y)+o)+flr(10/y))%2
|
||||
poke(flr(1200+x+(15+y)*40),c*15)end
|
||||
end end
|
||||
@@ -0,0 +1,9 @@
|
||||
a=0 function l(b,c,i,j)d,e=i-b,j-c
|
||||
s=max(abs(d),abs(e))i,j=d/s,e/s for
|
||||
v=0,s-1 do b,c=b+i,c+j print("#",b,c)end end
|
||||
function r(u)f,g,h=(u>>2&1)*2-1,(u>>1&1)*2-1,(u&1)*2-1
|
||||
f,h=f*cos(a)-h*sin(a),f*sin(a)+h*cos(a)return f/(h+4),g/(h+4)end
|
||||
function update()cls()for n=0,7 do
|
||||
x,y=r(n)for k=0,2 do m=n~(1<<k)if m>n then
|
||||
f,g=r(m)l(20+x*40,15+y*30,20+f*40,15+g*30)
|
||||
end end end a=a+0.05 end
|
||||
@@ -0,0 +1,8 @@
|
||||
f={}p={0,1,5,4,6,12,14,15}for
|
||||
i=0,1199 do f[i]=0 poke(i,143)
|
||||
end function update()for i=0,
|
||||
1119 do if i<41 then f[1160+i]
|
||||
=rnd(2)*256 end f[i]=(f[i+39]+
|
||||
f[i+40]+f[i+41]+f[i+80])/4.1
|
||||
poke(1200+i,p[mid(0,flr(f[i]/4
|
||||
),7)+1]) end end
|
||||
@@ -0,0 +1,15 @@
|
||||
m={}for x=1,12 do m[x]={}for y=1,12 do m[x][y]=0 if x==1
|
||||
or x==12 or y==1 or y==12 then m[x][y]=1 elseif x%2==1 and
|
||||
y%2==1 then m[x][y]=2 end end end pX,pY=6,6 dX,dY=1,0 lX,
|
||||
lY=0,0.66 t=0 cs=cos(0.05)sn=sin(0.05)function update()s=0
|
||||
if btn(82)then s=0.1 elseif btn(81)then s=-0.1 end if s~=0
|
||||
then pX,pY=pX+dX*s,pY+dY*s end s=0 if btn(80)then s=1 elseif
|
||||
btn(79)then s=-1 end if s~=0 then dX,dY=dX*cs+dY*sn*s,dY*cs-
|
||||
dX*sn*s lX,lY=lX*cs+lY*sn*s,lY*cs-lX*sn*s end cls()for x=0,
|
||||
39 do cX=2*x/40-1 rx,ry=dX+lX*cX,dY+lY*cX mX=flr(pX)mY=flr(
|
||||
pY)eX=abs(1/rx)eY=abs(1/ry)tX=sgn(rx)sX=eX*tX*(mX-pX+((tX+1
|
||||
)>>1))tY=sgn(ry)sY=eY*tY*(mY-pY+((tY+1)>>1))while 1 do if
|
||||
sX<sY then d,sX,mX=0,sX+eX,mX+tX else d,sY,mY=1,sY+eY,mY+tY
|
||||
end if m[mX][mY]>0 then break end end p=(d==0)and(sX-eX)or(
|
||||
sY-eY)ink(m[mX][mY])for y=max(0,15-15/p),min(30,15+15/p)do
|
||||
print(d==0 and "\143" or "\207",x,y)end end end
|
||||
@@ -0,0 +1,4 @@
|
||||
z,a=0,0 function update()for y=0,29 do for x=0,39 do
|
||||
i,j=x*cos(a)-y*sin(a),x*sin(a)+y*cos(a)i,j=i*z,j*z
|
||||
print(chr(127+(flr(j)+flr(j))%2),x,y)end end
|
||||
a=sin(time()/1000)z=abs(a)/3 end
|
||||
@@ -0,0 +1,8 @@
|
||||
mode(0)f={}u={143,143,129,144,144}
|
||||
function p(i)f[i]={x=40-rnd(80),y=15-rnd(30),z=rnd(5)}end
|
||||
for i=0,50 do p(i) end
|
||||
function update()cls()for i=0,50 do
|
||||
f[i].z=f[i].z-0.05 y=f[i].z
|
||||
m=40+f[i].x/y n=15+f[i].y/y
|
||||
if m<0 or n<0 or m>79 or n>29 or y<=0 then p(i)end
|
||||
print(chr(u[flr(f[i].z)+1]),m,n)end end
|
||||
@@ -0,0 +1,49 @@
|
||||
-- Inicialització. Com pots vore, està fora del init. Es pràcticament el mateix, però
|
||||
-- fora del init es mes guarro (pero ocupa menys caràcters, per això ho faig així en este codi)
|
||||
|
||||
-- Fiquem el mode 0
|
||||
mode(0)
|
||||
|
||||
-- Açò es un array per a mantindre totes les estrelles
|
||||
stars={}
|
||||
|
||||
-- Açò es el caràcter que representa a la estrella segons lo lluny o prop que està de la pantalla
|
||||
-- Per exemple al fondo es "." i prop serà "*" o algo així, no recorde cada caracter
|
||||
characters={143,143,129,144,144}
|
||||
|
||||
-- Aquesta funció inicialitza (o reinicialitza) la estrella "i" del array en una posició aleatòria
|
||||
function init_star(i)
|
||||
stars[i]={ -- Ficat que cada membre de la tabla "stars" no es mes que una tabla amb una variable x, y i z
|
||||
x = 40-rnd(80),
|
||||
y = 15-rnd(30),
|
||||
z = rnd(5)
|
||||
}
|
||||
end
|
||||
|
||||
-- Inicialitze, 50 estrelles
|
||||
for i=0,50 do init_star(i) end
|
||||
|
||||
-- Açò es el bucle principal
|
||||
function update()
|
||||
-- Borrar pantalla
|
||||
cls()
|
||||
|
||||
-- Per a cada una de les 50 estrelles...
|
||||
for i=0,50 do
|
||||
-- acostem la estrella a la pantalla (z=0 en la propia pantalla, z>0 cap a dins de la pantalla)
|
||||
stars[i].z = stars[i].z - 0.05
|
||||
|
||||
-- Transformem les coordenades 3d en 2d
|
||||
local scr_x = 40 + stars[i].x / stars[i].z
|
||||
local scr_y = 15 + stars[i].y / stars[i].z
|
||||
|
||||
-- Si la estrella està fora de la pantalla per alguna vora
|
||||
-- o ja ha passat el umbral de la pantalla, se crea una nova
|
||||
if scr_x<0 or scr_y<0 or scr_x>79 or scr_y>29 or stars[i].z<=0 then
|
||||
init_star(i)
|
||||
end
|
||||
|
||||
-- Pintar la estrella
|
||||
print( chr(characters[flr(stars[i].z)+1]), scr_x, scr_y)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,7 @@
|
||||
C=66 a=0 ticker=0 function p(C,x,y)if x<-8 or x>39
|
||||
then return end for j=0,7 do l=peek(2560+C*8+j)
|
||||
for i=0,7 do X=x+7-i ink(1+(flr(X)+j+flr(a))%15)if X>0
|
||||
and X<40 then s=10+sin(a+(X)*0.1)*5 if l&1==1 then
|
||||
print(chr(233),X,y+j+s)end end l=l>>1 end end end
|
||||
function update()cls()m="HOLA JAILERS"for n=0,#m-1 do
|
||||
p(ascii(m,n),n*8-flr(a*4)%(#m*8),0)end a=a+0.1 end
|
||||
Reference in New Issue
Block a user