Scratchでぬりつぶしにチャレンジ!四角形編

Scratchにペンという機能があるのはご存知でしょうか?
スプライトが通った跡に線を書ける機能です。プログラムで線画を描くことができます。
しかし、ぬりつぶされた図形を描くにはどうしたらいいでしょうか?

今回は四角形のぬりつぶしにチャレンジです。
考える過程やつまづいたところも書いていくので参考になれば嬉しいです。

ぬりつぶすための作戦

ペン機能は通ったところに色がつくため、四角の中を隙間なく通る必要があります。
通り方を考えやすくするために方眼紙を用意しました。
この方眼紙の青枠の中のマスを全て通るために、左右に折り返しながら進ませてみます。
        

この通り方をプログラムにする、繰り返されている形で区切ってみます。
今回はこう考えてみました。赤と緑で区切っています。

まずはつくってみる

区切った動きのひとつを作るとこんな感じ。
今は分かりやすいように大きく動かしていますが、実際はもっと細かーく動かして隙間を埋めていきます。

この動きを細かくし、そのまま繰り返してぬりつぶしてみます。
①ぬりつぶした結果
②左側の拡大

左側がギザギザになってしまいました…。
原因を調べるために隙間を空けてみます。これで見やすくなりましたが…。

曲がり角の所で少し欠けてますね。なんだろう…。
この後色々試しましたが、原因が分からなかったので別の方法を考えます。

もういちどチャレンジ!

また方眼紙に戻りまして…今度はこうしました。
同じマス目を2回通るようにしています。つまり重ねて色をつけて隙間をなくそう!という作戦です。
かなり無駄の多い動きですが、まあやってみましょう!
①ぬりつぶしの通り道
②ぬりつぶした結果
③コード


今度はキレイにできましたね!

さいごに

このぬりつぶしは以前から取り組んでみたいテーマでした。試してみると意外とできるものだなーと感じています。予想してなかったところでつまづいて驚きましたが、その解決に取り組むのもおもしろい時間でした。

この四角はプログラムで変形することができるので、だんだん短くなるHPゲージや変形するステージなどに活用できます。ぜひ皆さんもやってみてください。

次は三角形のぬりつぶしにチャレンジします!

追記

このあと、後で使いやすくするためにコードをていぎブロックでまとめました。
Scratchのプロジェクトも共有したので遊んでみてください。
https://scratch.mit.edu/projects/372204372