カードゲーム「15 lines of <code>」(2)雰囲気でコーディングする
カードゲームのサンプルを考えるにあたって,材料となる15行のコードを幾つか用意したくなったので,例によって特に意識をしないで雰囲気でコードを書いてみた.前にarc
をつかって円弧の連結でパターンを作ったものを15行版に出来ないかと思って始めたら形になった.その後アニメーションにした.15行版はちょっと無理矢理収めた感じがある.
コード(15行版)
fullScreen(); colorMode(HSB, 360, 100, 100, 100); background(random(360), 100, 90); for (int y = 0; y < height; y += 100) { for (int x = 0; x < width; x += 100) { int n = (int)random(4); strokeWeight(50/2); stroke(0,0,100); noFill(); if (n == 0) arc(x, y, 100, 100, 0, PI/2); else if (n == 1) arc(x+100, y, 100, 100, PI/2, PI); else if (n == 2) arc(x+100, y+100, 100, 100, PI, PI * 3/2); else if (n == 3) arc(x, y+100, 100, 100, PI * 3/2, PI * 2); } }
コード
void setup() { fullScreen(); colorMode(HSB, 360, 100, 100, 100); } void draw() { float freq = frameCount * 0.05; randomSeed(0); background(degrees(freq/5)%360, 100, 90); for (int y = 0; y < height; y += 100) { for (int x = 0; x < width; x += 100) { int n = (int)random(4); strokeWeight(100/5); stroke(0, 0, 100); noFill(); if (n == 0) arc(x, y, 100, 100, 0+freq, PI/2+freq); else if (n == 1) arc(x+100, y, 100, 100, PI/2+freq, PI+freq); else if (n == 2) arc(x+100, y+100, 100, 100, PI+freq, PI * 3/2+freq); else if (n == 3) arc(x, y+100, 100, 100, PI * 3/2+freq, PI * 2+freq); freq *= -1; } } }