ÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÀ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌÀ¬ÀÀÀ¬ÀÀÀ¬ÀÀÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÌ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌ̬ÀÀÀ¬ÀÀÀ¬ÀÀ¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî >  cos=math.cos sin=math.sin pi=math.pi function draw_poly_rotated(vtx,idx,ox,oy,s,r,color) rc = math.cos(r); rs = math.sin(r); for i=1,#idx do x1 = -s*vtx[idx[i][1]].x; y1 = s*vtx[idx[i][1]].y; x2 = -s*vtx[idx[i][2]].x; y2 = s*vtx[idx[i][2]].y; x3 = -s*vtx[idx[i][3]].x; y3 = s*vtx[idx[i][3]].y; xt=rc*x1-rs*y1; y1=rs*x1+rc*y1; x1=xt; xt=rc*x2-rs*y2; y2=rs*x2+rc*y2; x2=xt; xt=rc*x3-rs*y3; y3=rs*x3+rc*y3; x3=xt; tri( x1+ox, y1+oy, x2+ox, y2+oy, x3+ox, y3+oy, color ); end end noga_vtx = { {x = 0.59510, y = -0.68166}, {x = 0.83342, y = 5.29177}, {x = 0.78732, y = 5.36278}, {x = 0.66598, y = 5.39648}, {x = -0.37785, y = 5.23796}, {x = -2.15539, y = 5.32209}, {x = -1.97462, y = 4.99076}, {x = -1.26160, y = 4.96063}, {x = -1.94449, y = 4.97067}, {x = -1.88424, y = 4.88031}, {x = -1.24151, y = 4.87027}, {x = -1.87180, y = 4.85828}, {x = -1.83202, y = 4.78498}, {x = -0.12400, y = 4.55244}, {x = -0.70240, y = -0.77814} } noga_idx = { {1, 14, 15}, {2, 14, 1}, {2, 11, 14}, {11, 13, 14}, {11, 12, 13}, {2, 8, 11}, {8, 10, 11}, {8, 9, 10}, {2, 7, 8}, {2, 5, 7}, {5, 6, 7}, {2, 4, 5}, {3, 4, 2} } tenb_vtx = { {x = 0.81128, y = 4.54842}, {x = 0.75816, y = 5.23474}, {x = 0.61054, y = 5.32067}, {x = -0.34261, y = 5.20613}, {x = -0.37785, y = 5.23796}, {x = 0.66598, y = 5.39648}, {x = 0.78732, y = 5.36278}, {x = 0.83342, y = 5.29177} } tenb_idx = { {8, 2, 1}, {3, 5, 4}, {8, 3, 2}, {3, 6, 5}, {7, 3, 8}, {7, 6, 3} } svet_vtx = { {x = -0.70149, y = -0.77231}, {x = -0.41493, y = -0.75100}, {x = -0.01574, y = 4.61616}, {x = -1.51530, y = 4.78498}, {x = -1.83202, y = 4.78498}, {x = -0.12400, y = 4.55244} } svet_idx = { {2, 6, 1}, {3, 6, 2}, {3, 5, 6}, {4, 5, 3} } nogti_vtx = { {x = -1.94902, y = 5.03627}, {x = -2.04455, y = 5.23956}, {x = -1.89882, y = 5.22918}, {x = -1.83417, y = 5.04520}, {x = -1.81315, y = 4.90329}, {x = -1.86833, y = 4.90297}, {x = -1.89196, y = 4.94421}, {x = -1.81931, y = 4.94488}, {x = -1.83417, y = 5.04520} } nogti_idx = { {5, 7, 6}, {9, 3, 2}, {7, 5, 8}, {9, 4, 8}, {9, 2, 1}, {4, 3, 9} } gips_vtx = { {x = 0.93906, y = 5.41047}, {x = -1.75418, y = 5.34834}, {x = 0.87429, y = 2.75932}, {x = -0.46596, y = 2.72858}, {x = -1.70815, y = 4.73481}, {x = -1.25115, y = 4.65493}, {x = -0.25436, y = 4.38490} } gips_idx = { {1, 7, 4}, {1, 2, 5}, {1, 5, 6}, {4, 3, 1}, {1, 6, 7} } function draw_foot(ox,oy,s,r,gips) draw_poly_rotated(noga_vtx,noga_idx,ox,oy,s,r,4); draw_poly_rotated(tenb_vtx,tenb_idx,ox,oy,s,r,3); draw_poly_rotated(svet_vtx,svet_idx,ox,oy,s,r,15); draw_poly_rotated(nogti_vtx,nogti_idx,ox,oy,s,r,12); if (gips == 1) then draw_poly_rotated(gips_vtx,gips_idx,ox,oy,s,r,12); end end function print_ds(text,x,y,sz,col) print(text,x-1,y-1,14,0,sz); print(text,x,y,col,0,sz); end function turbonoga(st) cls(); t=(time()-st)/100 -- bg s=1; for y=-136,136,2 do for x=-240,240,2 do r=1000/(math.sqrt(math.abs(8000-(y*y+x*x)))+0.01) a=math.atan(y,x)+math.pi u=(r*0.3+t*0.5)//1; v=((a/math.pi)*8 + t*0.4)//1; pix(x+120,y+70,((u~v)&3)*s); end end ox = 40 oy = -40-15*(math.sin(t*0.5+3)); s = 26; r = 0.4*math.cos(t*0.5+3); draw_foot(ox,oy,s,r,1); ox = 10 oy = 10-20*math.abs(math.sin(t*1.0)); s = 26; r = 0.1*math.cos(t*0.8); draw_foot(ox,oy,s,r,0); print_ds("stay safe ;)", 95+8*sin(t*0.42), 20+9*cos(t*0.45), 2, 12 ) print_ds("don't speed at home", 115+8*cos(t*0.52), 110+9*sin(t*0.63), 1, 12 ) end function noga(st) cls(); t=(time()-st)/100 ox = -60+6*(t-60); oy = 0; s = 24; r = 1.0*math.cos((t-60)*0.1); yo = 200-30*t; if (yo < 0) then yo = 0 end yg = 5; poke(0x3FC0+15*3+0,240); poke(0x3FC0+15*3+1,240); poke(0x3FC0+15*3+2,190); rect(0,0+yo, 240,80,1); rect(0,80+yo,240,80,7); yo=-20+yo rect(150,yo+50,90,60,14); for y=0,10 do xx=150-10+y; yy=yo+40+y; line(xx,yy,xx,yy+59,13); end for y=0,10 do xx=150-10+y; yy=yo+40+y; line(xx,yy,xx+100,yy,10); end draw_foot(ox,oy,s,r); for y=0,90 do xx=150+y; yy=yo+60+y; line(xx,yy,xx,yy+20,13); end for y=0,90 do xx=151+y; yy=yo+60+y; line(xx,yy,xx+100,yy,15); end xg=380-14*t; print("what could go wrong?",xg+14+9*sin(0.4*t+0.3),yg+4+5*sin(0.7*t+0.6),14,0,2); print("what could go wrong?",xg+15+9*sin(0.4*t+0.3),yg+5+6*sin(0.7*t+0.6),12,0,2); end function aaa(st) local text = {"*#%#$","AAAA","FUUUU","CYKA","BLYAAA"}; --cls(); t=(time()-st)/100 for y=0,100 do print(text[math.random(5)],math.random(280)-50,math.random(160)-20,math.random(4)+12,1,math.random(2)); end for i=0,3 do yy=math.random(136) line(0,yy,240,yy,math.random(3)+12); end; poke(0x3FC0+15*3+0,24); poke(0x3FC0+15*3+1,24); poke(0x3FC0+15*3+2,24); xx=math.random(4)-2+(240/2)-70 yy=math.random(4)-2+(136/2)-4 print("CENSORED",xx-1,yy-1,14,0,3); print("CENSORED",xx,yy,12,0,3); end function bars(st) for i=0,8 do rect(i*30,0,30,136,i*1.8); end end t=0 ot=0 function TIC() t=((time())/100)+ot; if (t < 84.5) then noga(0); elseif (t < 88) then rect(0,0,240,146,((20+t*9)//1)*31); elseif (t < 170) then aaa(8); elseif (t < 190) then bars(0); elseif (t < 300) then turbonoga(200); else -- no grtz to filippp :szok: trace("damn you ps! anyway here's ya trace()"); exit(); end; t=t+1 end