デジタルこどもBASEのロゴ 特定非営利活動法人デジタルこどもBASE 📚 目次
第75回 Lv3 ⏱ 20〜25分

ランダムカラフル模様を作ろう

🎯 きょうのミッション

乱数で色・距離・角度を毎回変えながら線を引くと、毎回ちがうアートが生まれます。Run するたびに違う作品ができる、ジェネラティブアートの入口。

🧠 できるようになること

  • 乱数を turtle に組み込める
  • 毎回違う作品が生成できる
  • アートとプログラミングの楽しさを実感する

🧰 用意するもの

🖼 できあがり

カラフルな線が画面いっぱいに描かれます。Run するたびにまったく違うパターン。

📺 実行結果
(カラフルな線で構成された抽象アートが描かれます)

🚀 やりかた

  1. turtle.bgcolor("black") で背景を黒に。
  2. for i in range(200): で200回ループ。
  3. 毎回 random.random() で色を作り pencolor
  4. random.randint(10, 50) で距離、random.randint(0, 180) で角度。
  5. forward + right

🐍 きょうのコード

Python main.py
import turtle
import random

turtle.shape("turtle")
turtle.bgcolor("black")
turtle.speed(0)

for i in range(200):
    r = random.random()
    g = random.random()
    b = random.random()
    turtle.pencolor((r, g, b))
    distance = random.randint(10, 50)
    angle = random.randint(0, 180)
    turtle.forward(distance)
    turtle.right(angle)

turtle.done()
▶ Trinketを開いて動かす

上のコードをコピーして、Trinketの左のエリアに貼り付け、Runボタン(▶)を押すと動きます。

💡 きょうのポイント

turtle.speed(0)最速に。random.random() は0〜1の小数なので、RGB値(0〜1)にぴったり。これで毎回違うジェネラティブアートが作れます。

🎮 チャレンジ

  • ループ回数を1000回に増やそう
  • random.choice(["red", "yellow", "cyan"]) で色を3色だけに絞ろう
  • circle(random.randint(5, 30)) で円もランダムに描こう

🔁 ふりかえり

  • Run するたびに違う作品ができるのは、芸術として面白い?
  • 「設計者」がプログラム、「作品」が結果。自分はどっち?
  • 本物のジェネラティブアートはどんな仕組み?

👨‍👩‍👧 おうちの人・先生へ

  • 準備:なし。
  • つまずきポイントspeed(0) を入れないと描画が遅すぎる。
  • 声かけ例:「気に入った作品はスクショで残そう」と提案。デジタルアート体験。