- 1つ前: Spde を使う - 再発明日記
-
-
-
- -
-
-
新しい言語を覚えるとなんとなくライフゲームを作りたくなるので今回もそれで。
参考: Script-Fu でライフゲームを作ってみた | anobota
変数を使う
画面サイズは変更しないので val で。
val screenW = 400; val screenH = 400; size(screenW, screenH) frameRate(4) stroke(0) def draw { fill(255,255,255) rect(0, 0, screenW, screenH) line(0, 0, random(screenW), random(screenH)) }
for
ライフゲームだからセルを描けないとだめです。
val screenW = 400; val screenH = 400; val cellSize = 4; // 縦横のセルの数 val cellNumX = screenW / cellSize val cellNumY = screenH / cellSize size(screenW, screenH) frameRate(4) def draw { fill(255) rect(0, 0, screenW, screenH) stroke(0) for (yi <- 0 to cellNumY){ val y = yi * cellSize for (xi <- 0 to cellNumX){ val x = xi * cellSize rect(x, y, cellSize - 2, cellSize - 2) } } }
if
ちょっと楽しくなってきた。
val screenW = 400; val screenH = 400; val cellSize = 4; // 縦横のセルの数 val cellNumX = screenW / cellSize val cellNumY = screenH / cellSize size(screenW, screenH) frameRate(4) def draw { fill(255) rect(0, 0, screenW, screenH) stroke(0) for (yi <- 0 to cellNumY){ val y = yi * cellSize for (xi <- 0 to cellNumX){ val x = xi * cellSize if(random(2) > 1){ rect(x, y, cellSize - 2, cellSize - 2) } } } }