###前提・実現したいこと
「つくりながら覚えるスマホゲームプログラミング」という本で勉強しています。
Chapter7のコードを入力して実行したいのですが、
スマホ上では正常動作しているものの、
パソコン上のプレビューがバグだらけのおそらく打ち込み途中の状態のままです。
パソコン上でも正常動作するためにはどうすれば良いでしょうか?
###発生している問題・エラーメッセージ
パソコンのプレビューで起きている問題
問題3の選択肢<hr>の頭に余分な,が付いている
正解の番号が問題ごとに違うはずなのに4番目で固定されている
正解時の得点が問題ごとに違うはずなのに90点で固定されている
###該当のソースコード
■data.js■
// 問題データ================================
var quiz_data = [
{'Q':'スマートフォンの開発で一般に使われていない言語は?',
'C':['Java','Objective-C','Swift','Basic'],
'A':3, 'P':90 },
{'Q':'現在、Webページで使われていない言語は?',
'C':['HTML','VCL','CSS','JavaScript'],
'A':1, 'P':80 },
{'Q':'Webページに表示されないのはどのタグ?',
'C':['<p>','<hr>','<meta>','<div>'],
'A':2, 'P':100 },
];
// これより処理===============================
var IndexedDB;
var idb;
var ver_number = 8; // バージョン番号
var data_max = 0; // データの数
// 初期化処理
function initialDB(){
var request = window.indexedDB.open("QuizDB", ver_number);
// エラー時の処理 request.onerror = function(event) { alert("ERROR!"); }; // 成功時の処理 request.onsuccess = function(event) { idb = event.target.result; var transaction = idb.transaction(["quiz_data"],'readonly'); var store = transaction.objectStore("quiz_data"); var count_req = store.count(); count_req.onsuccess = function(){ data_max = count_req.result; } }; // 更新時の処理 request.onupgradeneeded = function(event) { idb = event.target.result; if (idb.objectStoreNames.contains('quiz_data')) { idb.deleteObjectStore('quiz_data'); } var store = idb.createObjectStore("quiz_data", { keyPath: 'id', autoIncrement: true }); var request2 = window.indexedDB.open("QuizDB", ver_number); request2.onsuccess = function(event2) { idb = event2.target.result; createData(); var transaction = idb.transaction(["quiz_data"],'readonly'); var sotre = transaction.objectStore("quiz_data"); var count_req = sotre.count(); count_req.onsuccess = function(){ data_max = count_req.result; } }; };
}
// データの新規作成
function createData(){
var transaction = idb.transaction(["quiz_data"],'readwrite');
var store = transaction.objectStore("quiz_data");
for(var i = 0;i < quiz_data.length;i++){
var data = quiz_data[i];
store.put(data);
}
}
initialDB(); //初期化を実行
■main.js(抜粋)
// 回答処理
function checkAnswer(event){
if (!select_flg){ return; }
var sel = event.target.number;
setAnswer(current_data.A);
if (sel == current_data.A){
score_data[count] = true;
CheckIt.good.moveTo(0, 0);
CheckIt.bad.moveTo(-1000, -1000);
score_num += current_data.P;
score_label.text = score_num;
} else {
score_data[count] = false;
CheckIt.good.moveTo(-1000, -1000);
CheckIt.bad.moveTo(0, 0);
}
}
###試したこと
書籍のコードと見比べてバグは取ったはずですが…
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
あなたの回答
tips
プレビュー