素潜りのプログラム
目標深度を入力してEnterキーを押すと潜り始めます。
このプログラムは次の動画を参考にして書きました。
// 素潜りのプログラム
// プログラミング言語「ドリトル」
// V3.31以降のインストール版ドリトルで実行してください。
// 2020.06.25 蕪木 孝
// 参考にした動画 Alessia Zecchini World Record Dive to 102m CWT
// https://www.youtube.com/watch?v=1ViCIZjm23s
// -------------------- 空を作る --------------------
空色 = 色 ! 201 222 243 作る。
画面 ! (空色) 塗る。
// -------------------- 海を作る --------------------
画面幅 = 画面 ! 幅?。
画面高さ = 画面 ! 高さ?。
かめた = タートル ! 作る。
かめた ! (画面幅) 歩く 90 右回り (画面高さ) 歩く 90 右回り。
海 = かめた ! (画面幅) 歩く 閉じる 図形を作る。
海赤 = 6。
海緑 = 83。
海青 = 147。
海 ! (色 ! (海赤) (海緑) (海青) 作る) 塗る。
海x = (画面幅) / 2 * -1。
海y = (画面高さ) / 5。
海 ! (海x) (海y) 位置。
かめた ! 消える。
// -------------------- メイン --------------------
潜行浮上速度 = 1。 // m /s
深度 = 0。 // m
目標深度初期値 = 15。 // m
// 目標深度の入力フィールド
フィールド1 = フィールド ! 作る (白) 塗る 60 30 大きさ。
フィールド1 ! 30 文字サイズ (目標深度初期値) 書く。
フィールド1 ! -30 15 位置。
ラベル1 = ラベル ! " m" 作る 30 文字サイズ (白) 文字の色。
// 現在の深度を表示するラベル
ラベル2 = ラベル ! 作る 30 文字サイズ (白) 文字の色 -30 15 位置。
// フィールドに目標深度を入力してEnterキーを押すと潜り始める
フィールド1 : 動作 =
「
| 目標深度 |
フィールド1 ! 消える。
ラベル1 ! 消える。
// 潜航中
海 ! (:海x) (画面高さ / 2) 位置。
タイマー1 = タイマー ! 作る 0.2秒 間隔 (目標深度 * 5 + 4) 回数。 // 目標深度に到達して一拍待ってから浮上させるために +4 している。
タイマー1 ! 「
| i |
明るさ = 500 - i。
海を塗る ! (明るさ) 実行。
ラベル2 ! (floor(i / 5) + " m") 書く。
」 実行。
// 浮上中
タイマー1 ! 「
| i |
明るさ = 500 - 目標深度 * 5 + i。
海を塗る ! (明るさ) 実行。
ラベル2 ! (floor(((目標深度 + 1) * 5 - i) / 5) + " m") 書く。
」 次に実行。
// 海面から顔を出す
タイマー1 ! 「
海 ! (海x) (海y) 位置。
ラベル2 ! "0 m" 書く。
」 最後に実行。
」。
海を塗る = 「
| 明るさ |
「明るさ < 0」 ! なら 「明るさ = 0」 実行。
海中赤 = round (:海赤 / 500 * 明るさ)。
海中緑 = round (:海緑 / 500 * 明るさ)。
海中青 = round (:海青 / 500 * 明るさ)。
海中色 = 色 ! (海中赤) (海中緑) (海中青) 作る。
海 ! (海中色) 塗る。
」。
実行方法
これは教育用プログラミング言語「ドリトル」で書いたプログラムです。
インストール版ドリトルを以下のサイトからダウンロードしてください。
https://dolittle.eplang.jp/download
パソコンのOSがWindowsなら「Windows用」をクリックするとダウンロードがはじまります。
ダウンロードしたら解凍してください。
解凍したら dolittle.bat をダブルクリックするとドリトルが起動します。
プログラムを貼り付けて「実行!」をクリックすると海面が表示されます。
息止めに挑戦しましたが30mが限界でした。
この記事が気に入ったらサポートをしてみませんか?