▶ 実 行
▶ 実行
クリア
池を回る問題
by 雪乃☆雫
#池を回る問題 # 変数 牛歩く速さは5#里(毎日) 馬歩く速さは30#里(毎日) 周は100#里 角度は360を周で割る。 一里は10#px 出発地点は[205,40]。 牛歩いた距離は0#里 牛現在地は0#里 牛周回数は0#回 馬歩いた距離は0#里 馬現在地は0#里 馬周回数は0#回 # UI作成 「牛は一日に」のラベル作成。牛歩く速さのエディタ作成して牛速エディタに代入。「里歩きます。」のラベル作成。改行作成。牛速エディタの「幅」に「50px」をDOMスタイル設定。 「馬は一日に」のラベル作成。馬歩く速さのエディタ作成して馬速エディタに代入。「里歩きます。」のラベル作成。改行作成。馬速エディタの「幅」に「50px」をDOMスタイル設定。 「外周」のラベル作成。周のエディタ作成して周エディタに代入。「里の池を、牛と馬が同じ方向へ回ります。」のラベル作成。改行作成。周エディタの「幅」に「50px」をDOMスタイル設定。 「今日一緒に出発して、馬は何日目で再び牛に追いつくでしょう?」のラベル作成。改行作成。改行作成。 「スタート!」のボタン作成してスタートボタンに代入。改行作成。改行作成。 「0日目」のラベル作成して日数ラベルに代入。改行作成。 「馬は0周と0里<br>牛は0周と0里」のラベル作成して周回ラベルに代入。改行作成。 # 牛と馬を作成 カメキャンバスは[400,400]のキャンバス作成。 カメ描画先はカメキャンバス。 カメ画像URLは、「https://n3s.nadesi.com/image.php?f=208.png」# べこ カメ作成して牛に代入。 カメ画像URLは、「https://n3s.nadesi.com/image.php?f=209.png」# 馬コ カメ作成して馬に代入。 池作成。 スタートボタンをクリックした時には、 # 初期化 描画クリア。 「0日目」を日数ラベルにテキスト設定。 「馬は0周と0里<br>牛は0周と0里」を周回ラベルにテキスト設定。 # 条件 牛歩く速さは牛速エディタのテキスト取得。 馬歩く速さは馬速エディタのテキスト取得。 周は周エディタのテキスト取得。 整数変換処理。 角度は360を周で割る。 一里は1000を周で割る。 出発地点は[(200+一里/2),40]。 # 確認 もし、牛歩く速さ≧馬歩く速さならば、: 「馬は牛より大きい値を設定してください」と言う。 戻る。 もし、(牛歩く速さ<1)または(馬歩く速さ<1)ならば、: 「歩く速さは1以上を設定してください」と言う。 戻る。 もし、(周<3)ならば、: 「池の外周は3以上を設定してください」と言う。 戻る。 # 位置に付かせる 池作成して牛と馬を並べる。 # スタート! 「牛と馬が一緒に出発します{改行}何日後に再会できるかな?」と言う。 日数は0#日目 馬追い掛け中は、はい。 馬追い掛け中の間: 日数=日数+1。 馬歩く速さ回: 馬歩く。 もし、(回数-1)%(馬歩く速さ/牛歩く速さ)<1ならば、牛歩く。 「馬は{馬周回数}周と{馬現在地}里<br>牛は{牛周回数}周と{牛現在地}里」を周回ラベルにテキスト設定。 もし、(馬周回数>牛周回数)かつ(馬現在地≧牛現在地)ならば、: 馬追い掛け中はいいえ。0秒待つ。「追いついた!」と言う。抜ける。 「{日数}日目」を日数ラベルにテキスト設定。 0秒待つ。# 無いとラベルにテキスト設定される前にダイアログが上がってしまったりする。 「答え:{日数}日でした☆」と言う。 検算します。 ここまで。 # 関数 ●検算 馬歩く速さから牛歩く速さを引いて法に代入。 答えは周を法で割ります。 「馬の{馬歩く速さ}里から牛の{牛歩く速さ}里を引くと{法}里になります。 池の周囲{周}里を{法}里でを割れば{答え}です。 {答えを切り上げ}日目で追いつくことになります。」と言う。 ここまで。 ●池作成: # 設定 2回: カメ非表示。 牛か馬は回数-1。# カメは作成した順に0スタートで連番が付与されています。 牛か馬にカメ操作対象設定。 10にカメペンサイズ設定。# 軌跡の太さ 赤色にカメペン色設定。# 牛の軌跡色 出発地点へカメ起点移動。 90にカメ角度設定。 # 池を描画 0にカメ速度設定。 茶色にカメペン色設定。# 池線色 水色にカメ塗り色設定。# 池塗り色 カメパス開始。 周回: 角度だけカメ右回転。 一里だけカメ進む。 カメパス塗る。 カメパス線引く。 青色にカメペン色設定。# 馬の軌跡色 1秒待つ。 ●(牛と馬を)並べる: 牛歩いた距離は0。 馬歩いた距離は0。 2回: 牛か馬は回数-1。 牛か馬にカメ操作対象設定。 カメ表示。 1秒待つ。 ●牛歩く: 牛にカメ操作対象設定。 角度だけカメ右回転。 一里だけカメ進む。 牛歩いた距離=牛歩いた距離+1。 牛現在地=牛歩いた距離%周。 牛周回数=牛歩いた距離/周を整数変換。 0.02秒待つ ●馬歩く: 馬にカメ操作対象設定。 角度だけカメ右回転。 一里だけカメ進む。 馬歩いた距離=馬歩いた距離+1。 馬現在地=馬歩いた距離%周。 馬周回数=馬歩いた距離/周を整数変換。 0.02秒待つ # 整数変換した値をエディタに戻す ●整数変換処理: 牛歩く速さは牛歩く速さを英数記号半角変換してそれを整数変換。 馬歩く速さは馬歩く速さを英数記号半角変換してそれを整数変換。 周は周を英数記号半角変換してそれを整数変換。 牛速エディタに牛歩く速さをテキスト設定。 馬速エディタに馬歩く速さをテキスト設定。 周エディタに周をテキスト設定。