質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

725閲覧

指定した配列の行数に飛ばない

matomaru

総合スコア3

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2021/06/08 02:47

Youtubeの『10分でノベルゲームを作る』という動画を見て、それに挑戦しているものです。

###問題点:指定した行き先に飛ばない
deta配列が一桁の時は気づかなかったのですが、二桁から指定した行数に飛ばなくなってしまいました。

###試したこと
どうやら、指定した数字が9以上だと、「行きたい行数+1行目」に飛んでしまうことがわかりました。

html

1<html> 2<head> 3</head> 4<body> 5 6 <div id="bcg" style="background-image:url(aki.jpg); background-repeat: no-repeat; width:640; height:480;"> 7 </div><!--締めの位置が/formの下だと画像にボタンがかぶる--> 8 <div id="msg"></div> 9 10 11 <form id="f1"> 12 <input type="submit" value="xxx" id="choice1" onclick="change_scenario(0);return false;"><br> 13 <input type="submit" value="xxx" id="choice2" onclick="change_scenario(1);return false;"><br> 14 <input type="submit" value="xxx" id="choice3" onclick="change_scenario(2);return false;"><br> 15 <!-- クリックしたときにchange_scenarioに飛ぶ--> 16 </form> 17 18<script> 19 var id = 0;///idに0を代入、なので最初の画面でAAA、ボタンがA1A2A3が出る 20 var goto = [];///空の配列、ここにgotoの配列が入る 21 var data = [ 22 [0,"ガチャポンをやろう", 1, "左", 2, "真ん中", 3, "右","gachapon1.jpg"], 23 [1,"シークレットがあるようだ", 19, "念じて回す", 17, "さっと回す", 3, "蹴る","kaijingacha.jpg"], 24 [2,"あとこれが出れば揃うんだ〜", 3, "思い切り振る", 10, "時間をかけて回す", 11, "期待しないで回す","ookami4.jpg"], 25 [3,"やめなね!?", 0, "選び直す", 0, "選び直す", 0, "選び直す","badend.jpg"], 26 [4,"なんと!シークレットだった", 5, "おお!", 5, "おお!", 5, "おお!","kaijin2.png"], 27 [5,"視線を感じる", 0, "無視して他のガチャポンをやる", 6, "ふり向く", 7, "走って逃げる","kodomo.jpg"], 28 [6,"子供が羨ましそうに見ている", 7, "ダッシュで逃げる", 8, "自慢しまくる", 9, "あげる","kodomo2.jpg"], 29 [7,"気をつけなよ!", 0, "最初から", 0, "最初から", 0, "最初から","koke.jpg"]//これくらい増えたらjsonで作った方がいいらしい。 30 [8,"泣かせてしまった", 0, "最初から", 0, "最初から", 0, "最初から","badend.jpg"], 31 [9,"『ありがとう!』\n一番欲しかった「笑顔」を手に入れた", 0, "ハッピーエンド1", 0, "エンディングは", 0, "もう一つあるよ","kodomo3.jpg"], 32 [10,"コロン", 12, "ワクワク", 12, "ワクワク", 12, "ワクワク","koro1.jpg"], 33 [11,"コロリン", 13, "ドキドキ", 13, "ドキドキ", 13, "ドキドキ","koro2.jpg"], 34 [12,"く!これは3体目だ", 3, "投げ捨てる", 2, "もう一度回す", 7, "泣いて帰る","ookami1.png"], 35 [13,"やった!揃ったぞ!", 7, "浮かれて帰る!", 14, "この勢いでもう一度回す!", 15, "もう満足","ookami2.png"], 36 [14,"ころんと", 16, "勢いでやったはいいが", 16, "もう全種類出たし", 16, "なぜやったのか‥","koro1.jpg"], 37 [15,"ガチャポンっていいね!", 0, "ノーマルエンド", 0, "エンドは3つ", 0, "全部見れた?","end.png"], 38 [16,"なんと!どこにも記載されてないキャラがでた!\n本当のシークレットだ!", 0, "やったぜ!", 0, "最高の", 0, "ハッピーエンド!","ookami3.png"], 39 [17,"コロコロ", 18, "ドギマギ", 18, "ドギマギ", 18, "ドギマギ","koro1.jpg"], 40 [18,"ノーマルだった", 0, "悔しい、選び直す", 1, "これで満足", 3, "ぶち捨てる","kaijin1.png"], 41 [19,"コロッとな", 4, "わっくわく", 4, "わっくわく", 4, "わっくわく","koro2.jpg"], 42 ]; 43 ////0///////1///////////////////////////////////////////////// 44 ////////////////////////////3/////////////5/////////////7/// 45 ////////////////////2/////////////4//////////////6////////// 46 disp_scenario(); 47 48 function disp_scenario(){////画面の描画用の関数 49 msg.innerHTML = data[id][1];//msg要素を削除した後、変数dataの内容をmsg要素に表示することができる////AAA,BBB,CCC,DDD 50 51 document.forms.f1.choice1.value = data[id][3];//idが0の時A1 52 document.forms.f1.choice2.value = data[id][5];//     A2 f1のchoice◯のvalueをdata[0]の中の◯に設定してね 53 document.forms.f1.choice3.value = data[id][7];//     A3 54 55 bcg.style.backgroundImage = "url(" + data[id][8] + ")";//iが大文字じゃないとだめだった 56 goto[0] = data[id][2];//idが0の時行き先1 57 goto[1] = data[id][4];//     行き先2(多次元配列) 58 goto[2] = data[id][6];//     行き先3 59 } 60 61 /////どうやらこいつが見た目などを全部変えている工場っぽい↓////////////// 62 function change_scenario(selectno){// 63 id = goto[selectno];////data配列の何行目、何番目に飛ぶか保存してる 64 disp_scenario();//それをidに渡した後表示を更新する 65 }/// 66 67 68</script> 69</body> 70</html>

例えば、最初の画面はdata配列の0行目が出ています。(ガチャポンをやろう)の文字が出ます。
「左」を選ぶと、1行目に飛び、(シークレットがあるようだ)が出ます。
しかしここで、17行目に飛ぶはずの「さっと回す」を選ぶと、
なぜか**18行目の「ノーマルだった」**に飛んでしまいます。
その他もそうなるので規則的ではあるのですが、なぜこうなってしまうのかわかりません。

##知りたいこと
これを書いた通りの行数に飛ばす方法はあるのでしょうか?
それとも、この特性を生かすしかないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

[7,"気をつけなよ!", 0, "最初から", 0, "最初から", 0, "最初から","koke.jpg"]//これくらい増えたらjsonで作った方がいいらしい。

コンマ抜けてませんか

投稿2021/06/08 02:51

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matomaru

2021/06/08 03:27

ありがとうございます! コンマが抜けていました、、入れたらちゃんと思う通りに動きました。 今後、一番初めに疑うべき場所ができました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問