🌸 「なでしこ」
>
🍯 「貯蔵庫」
かけ算の特訓
🌟新規
📒一覧
🔌
🔍検索
🚪ログイン
かけ算の特訓 📖
九九の各段について、昇順降順ひとつとばしなど問題を出します。
プログラム:
(→大)
# ----------------------------------- # --- かけ算の特訓 version6.1 # --- 九九の各段について、昇順降順ひとつとばしなど問題を出します # --- 2秒問題を表示し、1秒間答えを出します(はやさ「ふつう」の場合) # --- # --- 読み方表示オプションを追加しました(多少ゆらぎがあります) # --- 九九ぜんぶ、と、ばらばら(ランダム)表示を追加しました # --- 表示スピードを3段階(1問につき5秒、3秒、2秒)で選べるようにしました # --- 一時停止・再開ボタンを追加しました # --- 応用編(かける数を答える)を追加しました。 # --- 「ゆっくり」のときの表示不具合を修正しました。 # ----------------------------------- // 初期値 TCNT=0 NUM=0 TMRNUM = 27 PLAYFLAG=0 かけられる数=1 かける数=0 かける数配列={ "上から":[1,2,3,4,5,6,7,8,9], "下から":[9,8,7,6,5,4,3,2,1], "一つとばし・上":[1,3,5,7,9,2,4,6,8], "一つとばし・下":[8,6,4,2,9,7,5,3,1], "とびとび・はじから":[1,9,2,8,3,7,4,6,5], "とびとび・まん中から":[5,6,4,7,3,8,2,9,1], "スーパー・下":[1,2,3,4,5,6,7,8,9], "スーパー・上":[9,8,7,6,5,4,3,2,1], "ばらばら":[1,2,3,4,5,6,7,8,9], "応用編・読み方なし":[1,2,3,4,5,6,7,8,9] } よみかた配列1= { "1":[["いん","いち","が"],["いん","に","が"],["いん","さん","が"],["いん","し","が"],["いん","ご","が"], ["いん","ろく","が"],["いん","しち","が"],["いん","はち","が"],["いん","く","が"]], "2":[["に","いち","が"],["に","に","が"],["に","さん","が"],["に","し","が"],["に","ご",""], ["に","ろく",""],["に","しち",""],["に","は",""],["に","く",""]], "3":[["さん","いち","が"],["さん","に","が"],["さ","ざん","が"],["さん","し",""],["さん","ご",""], ["さぶ","ろく",""],["さん","しち",""],["さん","ぱ",""],["さん","く",""]], "4":[["し","いち","が"],["し","に","が"],["し","さん",""],["し","し",""],["し","ご",""], ["し","ろく",""],["し","しち",""],["し","は",""],["し","く",""]], "5":[["ご","いち","が"],["ご","に",""],["ご","さん",""],["ご","し",""],["ご","ご",""], ["ご","ろく",""],["ご","しち",""],["ご","は",""],["ごっ","く",""]], "6":[["ろく","いち","が"],["ろく","に",""],["ろく","さん",""],["ろく","し",""],["ろく","ご",""], ["ろく","ろく",""],["ろく","しち",""],["ろく","は",""],["ろっ","く",""]], "7":[["しち","いち","が"],["しち","に",""],["しち","さん",""],["しち","し",""],["しち","ご",""], ["しち","ろく",""],["しち","しち",""],["しち","は",""],["しち","く",""]], "8":[["はち","いち","が"],["はち","に",""],["はち","さん",""],["はち","し",""],["はち","ご",""], ["はち","ろく",""],["はち","しち",""],["はっ","ぱ",""],["はっ","く",""]], "9":[["く","いち","が"],["く","に",""],["く","さん",""],["く","し",""],["く","ご",""], ["く","ろく",""],["く","しち",""],["く","は",""],["く","く",""]] } よみかた配列2={ "0":"", "1":"いち","2":"に","3":"さん","4":"し","5":"ご","6":"ろく","7":"しち","8":"はち","9":"く", "10":"じゅう","12":"じゅうに","14":"じゅうし","15":"じゅうご","16":"じゅうろく","18":"じゅうはち", "20":"にじゅう","21":"にじゅういち","24":"にじゅうし","25":"にじゅうご","27":"にじゅうしち","28":"にじゅうはち", "30":"さんじゅう","32":"さんじゅうに","35":"さんじゅうご","36":"さんじゅうろく", "40":"しじゅう","42":"しじゅうに","45":"しじゅうご","48":"しじゅうはち","49":"しじゅうく", "54":"ごじゅうし","56":"ごじゅうろく", "63":"ろくじゅうさん","64":"ろくじゅうし", "72":"しちじゅうに", "81":"はちじゅういち" } // GUI作成 「九九の段とやりかたを選んでください。」のラベル作成。改行作成。 ["1のだん","2のだん","3のだん","4のだん","5のだん","6のだん","7のだん","8のだん","9のだん","ぜんぶ"]のセレクトボックス作成し、段セレクトに代入。 段セレクトに「2のだん」をテキスト設定。 ["上から","下から", "一つとばし・上","一つとばし・下", "とびとび・はじから","とびとび・まん中から", "スーパー・下","スーパー・上", "ばらばら", "応用編・読み方なし"]のセレクトボックス作成し、やりかたセレクトに代入。 やりかたセレクトに「上から」をテキスト設定。 改行作成 「はやさ」のラベル作成。 ["ゆっくり","ふつう","はやめ"]のセレクトボックス作成し、速度セレクトに代入。 速度セレクトに「ふつう」をテキスト設定。 改行作成。 「読み方表示」のチェックボックス作成してよみかたチェックに代入。 よみかたチェックの「checked」にオンをDOM属性設定。 改行作成。 「<<特訓開始>>」のボタン作成して、特訓ボタンに代入。 「一時停止/再開」のボタン作成して、一時停止再開ボタンに代入。 PRM1 = "" PRM2 = "" PRM3 = "" 表示間隔=3 // 秒 特訓ボタンをクリックした時には 全タイマー停止。 TCNT=0 NUM=0 PLAYFLAG=1 // GUIの内容を保持する(特訓途中で変更されても続けるように) PRM1 = (段セレクトのテキスト取得) PRM2 = (やりかたセレクトのテキスト取得) PRM3 = (よみかたチェックの「checked」をDOM属性取得) もし、PRM2="応用編・読み方なし"ならば // 応用編の時は読み方無効 PRM3 = オフ ここまで 表示間隔=3 もし、(速度セレクトのテキスト取得)="ゆっくり"ならば 表示間隔=5 ここまで もし、(速度セレクトのテキスト取得)="はやめ"ならば 表示間隔=2 ここまで もし、PRM1="ぜんぶ"ならば TMRNUM = 表示間隔*9*9 // 1問{表示間隔}秒 x 9問 x 9段分 違えば TMRNUM = 表示間隔*9 // 1問{表示間隔}秒 x 9問 ここまで 「特訓開始」を1秒毎。 ここまで。 一時停止再開ボタンをクリックした時には もし、PLAYFLAG=0ならば // 開始前 戻る。 ここまで もし、TCNT=TMRNUMならば // 終了後 戻る。 ここまで もし、PLAYFLAG=1ならば // 特訓中->一時停止に PLAYFLAG=2 全タイマー停止。 違えば // 一時停止中->再開 PLAYFLAG=1 「特訓開始」を1秒毎。 ここまで ここまで。 ●特訓開始 もし、(PRM1="ぜんぶ")かつ(PRM2="ばらばら"またはPRM2="応用編・読み方なし")ならば ランダム問題作成(PRM2, PRM3) 違えば 問題作成(PRM1, PRM2, PRM3) ここまで ここまで ●問題作成(DAN, YARIKATA, YCHECK) //「問題作成 TCNT:{TCNT},NUM:{NUM}」と表示。 全描画クリア もし、(DAN="ぜんぶ")ならば a = (TCNT/表示間隔) の整数部分 b = (a/9) の整数部分 段テキスト = (b+1) 違えば 段テキスト = DAN ここまで もし、(YARIKATA="ばらばら"またはYARIKATA="応用編・読み方なし")ならば もし、(TCNTをTMRNUMで割った余り)=0 ならば かける数配列[YARIKATA]を配列シャッフル ここまで ここまで (段テキストで1から1文字抜出す)を半角変換してかけられる数に代入 かける数 = かける数配列[YARIKATA][NUM] こたえ = かけられる数*かける数配列[YARIKATA][NUM] こたえ2 = こたえを文字列変換 もし、(YARIKATA="スーパー・下")ならば // 順序を入れ替え tmp = かける数 かける数 = かけられる数 かけられる数 = tmp ここまで もし、(YARIKATA="スーパー・上")ならば // 順序を入れ替え tmp = かける数 かける数 = かけられる数 かけられる数 = tmp ここまで もし、((TCNTを表示間隔で割った余り)=(表示間隔-1))ならば // 答え付き NUM = NUM + 1 もし、NUM=9ならば NUM=0 // リセット(ぜんぶ用) ここまで 違えば // 答えなし もし、YARIKATA="応用編・読み方なし"ならば かける数 = "" 違えば こたえ = "" こたえ2 = "0" ここまで ここまで 問題表示(かけられる数, かける数, YCHECK, こたえ, こたえ2) TCNT = TCNT + 1 もし、TCNT=TMRNUMならば 全タイマー停止。 ここまで ここまで ランダム問題配列=[ [1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9], [2,1],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9], [3,1],[3,2],[3,3],[3,4],[3,5],[3,6],[3,7],[3,8],[3,9], [4,1],[4,2],[4,3],[4,4],[4,5],[4,6],[4,7],[4,8],[4,9], [5,1],[5,2],[5,3],[5,4],[5,5],[5,6],[5,7],[5,8],[5,9], [6,1],[6,2],[6,3],[6,4],[6,5],[6,6],[6,7],[6,8],[6,9], [7,1],[7,2],[7,3],[7,4],[7,5],[7,6],[7,7],[7,8],[7,9], [8,1],[8,2],[8,3],[8,4],[8,5],[8,6],[8,7],[8,8],[8,9], [9,1],[9,2],[9,3],[9,4],[9,5],[9,6],[9,7],[9,8],[9,9] ] ●ランダム問題作成(YARIKATA, YCHECK) //「ランダム問題作成 TCNT:{TCNT},NUM:{NUM}」と表示。 全描画クリア もし、TCNT=0ならば // 一回だけシャッフルする ランダム問題配列を配列シャッフル ここまで かけられる数 = ランダム問題配列[NUM][0] かける数 = ランダム問題配列[NUM][1] こたえ = かけられる数*かける数 こたえ2 = こたえを文字列変換 もし、((TCNTを表示間隔で割った余り)=(表示間隔-1))ならば // 答え付き NUM = NUM + 1 違えば // 答えなし もし、YARIKATA="応用編・読み方なし"ならば かける数 = "" 違えば こたえ = "" こたえ2 = "0" ここまで ここまで 問題表示(かけられる数, かける数, YCHECK, こたえ, こたえ2) TCNT = TCNT + 1 もし、TCNT=TMRNUMならば 全タイマー停止。 ここまで ここまで ●問題表示(NUM1, NUM2, YOMI, ANS1, ANS2) 黒色に塗色設定 「50px sans-senrif」に描画フォント設定 [10,60]へNUM1を文字描画 [10+50*1+5*1,60]へ"×"を文字描画 [10+50*2+5*2,60]へNUM2を文字描画 [10+50*3+5*3,60]へ"="を文字描画 [10+50*4+5*4,60]へANS1を文字描画 もし、YOMIがオンならば、 //読み方表示 灰色に塗色設定 「20px sans-senrif」に描画フォント設定 [10,90]へよみかた配列1[NUM1][(NUM2-1)][0]を文字描画 [10+50*2+5*2,90]へよみかた配列1[NUM1][(NUM2-1)][1]を文字描画 [10+50*3+5*3,90]へよみかた配列1[NUM1][(NUM2-1)][2]を文字描画 [10+50*4+5*3,90]へよみかた配列2[ANS2]を文字描画 ここまで ここまで
プログラムを実行
⭐ 最上(もがみ) 作
タイトル:
かけ算の特訓
ライセンス:
CC0 (著作権破棄)
タイプ:
wnako
タグ:
-
利用バージョン:
3.2.30
作成日時:
2021/12/23 00:16 (編集: 2022/05/28 11:41)
公開の投稿
⭐⭐⭐
ログイン
して★を付けよう!
Twitterへ投稿
📝作品を編集
作品公開情報
📍この作品のURL:
📍アプリ(即時実行)のURL:
📍アプリ(実行ボタンあり)のURL:
📍ブログパーツ:
上記HTML↑をブログに貼り付けることでアプリを埋め込めます。
📍ライブラリ直リンク - 『!「***」を取込』で使うとき:
📍なでしこハブ (最新版の反映は1日後):
ソースの確認
編集履歴の確認
通報数:
0
通報って何?