掲示板お問い合わせランダムジャンプ

2018年07月25日
譜読みの練習用のプログラミング(03)
とりあえず、表示(音符の出題部分)はできた。答えの部分はこれから考慮する。判定部分は頭の中ではほぼ出来ている。



ここまでのプログラムのリストは続きを読む(more)に。これもどうすればいいのか、結構苦労した。



<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="http://whiro.mods.jp/Mont/mjs/abcjs_basic_5.1.2-min.js"></script>
<title>abc1</title>
<script>
var nda = ["A,,,,", "!^A,,,,", "!_B,,,,", "B,,,,", // A0, A+0, B-0, B0 4
"C,,,", "!^C,,,", "!_D,,,", // C1, C+1, D-1
"D,,,", "!^D,,,", "!_E,,,", // D1, D+1, E-1
"E,,,", // E1
"F,,,", "!^F,,,", "!_G,,,", // F1, F+1, G-1
"G,,,", "!^G,,,", "!_A,,,", // G1, G+1, A-1
"A,,,", "!^A,,,", "!_B,,,", // A1, A+1, B-1
"B,,,", // B1 21
"C,,", "!^C,,", "!_D,,", // C2, C+2, D-2
"D,,", "!^D,,", "!_E,,", // D2, D+2, E-2
"E,,", // E2
"F,,", "!^F,,", "!_G,,", // F2, F+2, G-21
"G,,", "!^G,,", "!_A,,", // G2, G+2, A-21
"A,,", "!^A,,", "!_B,,", // A21, A+2, B-2
"B,,", // B2 38
"C,", "!^C,", "!_D,", // C3, C+3, D-3
"D,", "!^D,", "!_E,", // D3, D+3, E-3
"E,", // E3
"F,", "!^F,", "!_G,", // F3, F+3, G-3
"G,", "!^G,", "!_A,", // G3, G+3, A-3
"A,", "!^A,", "!_B,", // A3, A+3, B-3
"B,", // B3 55
"C", "!^C", "!_D", // C4, C+4, D-4
"D", "!^D", "!_E", // D4, D+4, E-4
"E", // E4
"F", "!^F", "!_G", // F4, F+4, G-4
"G", "!^G", "!_A", // G4, G+4, A-4
"A", "!^A", "!_B", // A4, A+4, B-4
"B", // B4 72
"C'", "!^C'", "!_D'", // C5, C+5, D-5
"D'", "!^D'", "!_E'", // D5, D+5, E-5
"E'", // E5
"F'", "!^F'", "!_G'", // F5, F+5, G-5
"G'", "!^G'", "!_A'", // G5, G+5, A-5
"A'", "!^A'", "!_B'", // A5, A+5, B-5
"B'", // B5 89
"C''", "!^C''", "!_D''", // C6, C+6, D-6
"D''", "!^D''", "!_E''", // D6, D+6, E-6
"E''", // E6
"F''", "!^F''", "!_G''", // F6, F+6, G-6
"G''", "!^G''", "!_A''", // G6, G+6, A-6
"A''", "!^A''", "!_B''", // A6, A+6, B-6
"B''", // B6 106
"C'''", "!^C'''", "!_D'''", // C7, C+7, D-7
"D'''", "!^D'''", "!_E'''", // D7, D+7, E-7
"E'''", // E7
"F'''", "!^F'''", "!_G'''", // F7, F+7, G-7
"G'''", "!^G'''", "!_A'''", // G7, G+7, A-7
"A'''", "!^A'''", "!_B'''", // A7, A+7, B-7
"B'''", // B6 123
"C''''" // C8 124
];
    // まだ、未使用
var ndb = ["A0", "A+0", "B-0", "B0",
"C1", "C+1", "D-1"
];
</script>
<script>
function getNote() {
let nd0 = "L:1/4\nK:";
 let r = Math.floor(Math.random() * 124); // どの音符かを決める
let nd1;
if ( r < 55 ) {
nd1 = nd0 + "C bass\n"; // キーC ヘ音記号
}
else {
nd1 = nd0 + "C\n"; // キーC ト音記号
}
let nd = nd1 + nda[r] + "\n";
return (nd);
}
</script>

</head>

<body>

音符を1つ表示
<div id="note"></div>
<form name="qa">
答:<input type="text" name="toi" value="">
<input type="submit" value="送信" /><br>
</form>

<script>
  do {
    let noted = getNote();
ABCJS.renderAbc("note", noted);
var ans = document.qa.toi.value;
  } while (ans == "end");
</script>
</body>
</home>



[ 投稿者:chun at 20:19 | MJS | コメント(0) | トラックバック(0) ]

この記事へのコメント

この記事へのトラックバック

この記事へのトラックバックURL
http://shinshu.fm/MHz/87.78/a16165/0000556187.trackback

この記事の固定URL
http://shinshu.fm/MHz/87.78/archives/0000556187.html

記事へのコメント
 
簡単演算認証: 5 x 1 + 5 =
計算の答えを半角英数字で入力して下さい。
名前: [必須]
URL/Email:
タイトル:
コメント:
※記事・コメントなどの削除要請はこちら