▶ 実 行
▶ 実行
クリア
#旅人算の問題 # 変数 牛歩く速さは10#里(毎日) 馬歩く速さは15#里(毎日) 先行日数は3#日(牛) 倍率は3。# 描画用の倍率 牛歩いた距離は0#里 馬歩いた距離は0#里 # UI作成 「牛は一日に」のラベル作成。牛歩く速さのエディタ作成して牛速エディタに代入。「里歩きます。」のラベル作成。改行作成。牛速エディタの「幅」に「50px」をDOMスタイル設定。 「馬は一日に」のラベル作成。馬歩く速さのエディタ作成して馬速エディタに代入。「里歩きます。」のラベル作成。改行作成。馬速エディタの「幅」に「50px」をDOMスタイル設定。 「牛は馬より」のラベル作成。先行日数のエディタ作成して先行エディタに代入。「日先に行きます。」のラベル作成。改行作成。先行エディタの「幅」に「50px」をDOMスタイル設定。 「馬は何日目で牛に追いつくでしょう?」のラベル作成。改行作成。改行作成。 「スタート!」のボタン作成してスタートボタンに代入。改行作成。 # 牛と馬を作成 カメキャンバスは[400,200]のキャンバス作成。 カメ描画先はカメキャンバス。 カメ画像URLは、「https://n3s.nadesi.com/image.php?f=208.png」# べこ カメ作成して牛に代入。 カメ画像URLは、「https://n3s.nadesi.com/image.php?f=209.png」# 馬コ カメ作成して馬に代入。 牛と馬を並べる。 スタートボタンをクリックした時には、 描画クリア。 # 条件 牛歩く速さは牛速エディタのテキスト取得を数値変換。 馬歩く速さは馬速エディタのテキスト取得を数値変換。 先行日数は先行エディタのテキスト取得を数値変換。 # 確認 もし、牛歩く速さ≧馬歩く速さならば、: 「馬は牛より大きい値を設定してください」と言う。 戻る。 総歩行距離=(牛歩く速さ*先行日数/(馬歩く速さ-牛歩く速さ)*馬歩く速さ) もし、総歩行距離>100ならば、カメキャンバスの「幅」に、100+総歩行距離*3をDOM属性設定。 # 位置に付かせる 牛と馬を並べる。 「牛が{先行日数}日先に行きます」と言う。 牛を先行日数だけ先行させる。 # スタート! 「馬が歩き始めます{改行}何日で追いつくかな?」と言う。 日数は0#日目 馬歩いた距離が牛歩いた距離未満の間: 牛歩く。 馬歩く。 日数=日数+1。 0.5秒待つ。 「答え:{日数}日でした☆」と言う。 検算します。 ここまで。 # 関数 ●検算: 牛歩く速さに先行日数を掛けて実に代入。 馬歩く速さから牛歩く速さを引いて法に代入。 答えは法で実を割ります。 「牛の{牛歩く速さ}里に{先行日数}日を掛けると{実}里となります。 馬の{馬歩く速さ}里から牛の{牛歩く速さ}里を引くと{法}里となります。 {法}里で{実}里を割れば{答え}です。 {答えを切り上げ}日目で追いつくことになります。」と言う。 ●(牛と馬を)並べる: 2回: 牛か馬は回数-1。 牛か馬にカメ操作対象設定。 90にカメ角度設定。 [50,50+牛馬*80]へカメ起点移動。 1秒待つ。 ●牛歩く: 牛にカメ操作対象設定。 牛歩く速さ*倍率だけカメ進む。 牛歩いた距離=牛歩いた距離+牛歩く速さ。 ●馬歩く: 馬にカメ操作対象設定。 馬歩く速さ*倍率だけカメ進む。 馬歩いた距離=馬歩いた距離+馬歩く速さ。 ●(牛を先行日数だけ)先行させる: 先行日数回: 牛歩く。 0.5秒待つ。 # 数値が全角で入力されてもOKにする ●(Aを)数値変換: Aを英数記号半角変換してそれを実数変換。
1910