code1024 - 编程画图游戏


MIT
跨平台
PHP

软件简介

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](http://code1024.org/app/draw1024/view?id=00izmfxfurdyb81ebac7cc49)

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](http://code1024.org/app/draw1024/view?id=00izmfvw1l6si9qtee9927f8)

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://code1024.org/app/draw1024/list