code1024是一个有意思的编程画图游戏,起源是这个:
https://codegolf.stackexchange.com/questions/35569/tweetable-mathematical-art
这里稍微做了一下扩展,放松了代码量限制和更多编程语言的支持。
规则:目标:
通过实现模版(支持多种语言,见/tpl目录)中的一个函数get_color_at(x,y),在一个1024x1024的画布上画出尽可能“有意思”的图案。
参数:
intx,inty,取值均为0-1023,对应画布上坐标点,左上角为起始点(0,0)
返回:
intr,intg,intb,intalpha,对应颜色的RGBA分量,均为0-255。
注意:各语言中alpha分量定义可能不同,由模版统一转换为:0-255,值越大越透明。
要求:
只能编辑模版中get_color_at(x,y)函数体内//{{codestart}}-//{{codeend}}间的代码;
代码总字符数不能超过1024个;
本程序主要是汇集各种语言的“模板”和升级新的规则玩法;并提供一套网站代码进行在线展示。
一些代码实例:
ColorClothsvar d=1024,s=3/(y+99),p=(y+Math.sin((x*x+(y-700)^2)/100/d)*35)*s;r=(parseInt((x+d)*s+p)%2+parseInt((d*2-x)*s+p)%2)*127;g=(parseInt(5*((x+d)*s+p))%2+parseInt(5*((d*2-x)*s+p))%2)*127;b=(parseInt(5*((x+d)*s+p))%2+parseInt(29*((d*2-x)*s+p))%2)*127;Mandelbrot2var a=0,b=0,d,n=0;for(;a*a+(d=b*b)<4&&n++<8192;b=2*a*b+y/5e4+.06,a=a*a-d+x/5e4+.34);r=n/4;g=2*r;b=4*r;(更多示例或投递见:https://dingusxp.com/app/draw1024/list)
评论