今回のお題
星形(五芒星)を描く
工程
基本設計→詳細設計→実装→テストの順に実施
基本設計
五芒星を描くための基本動作を考える
1. ①の地点からスタートする
2. ②に向けて直進
3. ②の地点で③への方向に向きを変える
4. ③に向けて直進
以降は直進と向きを変える動作を繰り返していく
詳細設計
基本設計と前回作成した正方形の動作(spheroを動かしてみる➀)を元に動作を考える
解説
星形の一角が36°なので、方向を変えるには180°- 36°= 144°回転しなくてはいけない。
そのため、回転の設定値を144°にする必要がある現在向いてる方向を0°にするために「Aimリセット」が必要。
実装
テスト結果
星形を描くことができなかった。
できなかった理由を考える
テストすると、回転実行中にAIMリセットが実行されてしまい、うまく動作しなかった。
「停止」のヘルプを見てみると、処理を停止するのではなく、速度を停止させる処理だった。
AIMリセットを遅らせるためには、「停止」ではなく「ディレイ」が適切だった。
「停止」部分を「ディレイ」に変更。直進する時間が長かったため合わせて調整
設計しなおしたフローチャートは以下。
実際に作成したプログラム
テスト結果
星型を描くことができた