意図がない絵を描くプログラム
コンピューターの中で振ったサイコロの目で図形の形、色、配置を決めて絵を描くプログラムです。
自分はこれを面白いと感じる日もあれば、人が描いたのでなければ全く面白くないと考える日もあります。
プログラムは教育用プログラミング言語「ドリトル」で書きました。
// 意図がない絵を描くプログラム
// プログラミング言語「ドリトル」
// 2020.06.01 蕪木 孝
// 描画領域に関する値
幅 = 300。
// 描く図形に関する値
描く図形の数 = 5。
角の最大数 = 5。
辺の最大長 = 300。
// 絵を描いてくれるカメを作る
カメ = タートル ! 作る。
「
| 回数 | // 回数は現在の繰り返しの回数
// 図形を描き始める地点をランダムで決める
x座標 = (random (幅)) - 幅 / 2。
y座標 = (random (幅)) - 幅 / 2。
// 図形を描く向きをランダムで決める(0 ~ 359)
描く向き = (random (360)) - 1。
// 図形の角の数をランダムで決める(3 ~ 角の最大数)
角の数 = (random (角の最大数 - 2)) + 2。
// 図形の辺の長さをランダムで決める(1 ~ 辺の最大長)
辺の長さ = (random (辺の最大長))。
// 角が多い図形ほど大きくなってしまうので辺の長さを調整
辺の長さ = (辺の長さ) / (角の数)。
// 図形の色をランダムで作る
赤の値 = (random (256)) - 1。 // 0 ~ 255
緑の値 = (random (256)) - 1。 // 0 ~ 255
青の値 = (random (256)) - 1。 // 0 ~ 255
作った色 = 色 ! (赤の値) (緑の値) (青の値) 作る。
// 図形を描く位置へカメを移動する
// また図形から図形への移動の軌跡も絵として残す
// 図形から図形なので1番最初の軌跡は描かせない
「回数 == 1」 ! なら 「
カメ ! ペンなし。
カメ ! (x座標) (y座標) 位置。
カメ ! ペンあり。
」
そうでなければ 「
カメ ! (x座標) (y座標) 位置。
カメ ! (作った色) 図形を作る。
」 実行。
// 図形を描く
カメ ! (描く向き) 向き。
カメ ! (辺の長さ) (角の数) 角形。
カメ ! (作った色) 図形を作る。
」! (描く図形の数) 繰り返す。
カメ ! 消す。
オンライン版ドリトルのページでプログラムを貼り付けて実行をクリックすると意図がない絵が描かれます。
オンライン版ドリトル
この記事が気に入ったらサポートをしてみませんか?