code1024编程画图游戏

联合创作 · 2023-09-27 23:12

code1024 是一个有意思的 编程画图 游戏,起源是这个:


http://codegolf.stackexchange.com/questions/35569/tweetable-mathematical-art


这里稍微做了一下扩展,放松了代码量限制和更多编程语言的支持。


规则:


目标:


通过实现 模版(支持多种语言,见 /tpl 目录) 中的一个函数 get_color_at(x, y) ,在一个 1024x1024 的画布上画出尽可能 “有意思” 的图案。


参数:


int x, int y ,取值均为 0 - 1023,对应画布上坐标点,左上角为起始点 (0,0)


返回:


int r, int g, int b, int alpha, 对应颜色的 RGBA 分量,均为 0 - 255。


注意:各语言中 alpha 分量定义可能不同,由 模版 统一转换为: 0 - 255,值越大越透明。


要求:


只能编辑 模版 中 get_color_at(x, y) 函数体内 // {{code start}} - // {{code end}} 间的代码;


代码总字符数不能超过 1024 个;


本程序主要是汇集各种语言的 “模板”和 升级新的规则玩法;并提供一套网站代码进行在线展示。


一些代码实例:


Color Cloths


var 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;


Mandelbrot 2


var 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

浏览 17
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报