diff --git a/src/game/lib/db_connect_manager.js b/src/game/lib/db_connect_manager.js
index 92602fb..d0b0943 100644
--- a/src/game/lib/db_connect_manager.js
+++ b/src/game/lib/db_connect_manager.js
@@ -64,7 +64,7 @@ class DBConnectManager {
xhr.send("name=" + userName + "&enter_code=" + enterCode);
}
- requestPlayerHistory(listener) {
+ requestPlayerHistory(date, listener) {
let historyRecordManager = new HistoryRecordManager();
/*
@@ -94,7 +94,10 @@ class DBConnectManager {
onFailedListener(jsonData);
}
};
- xhr.send("UserID=" + sessionStorageManager.playerUserID + "&AppName=" + sessionStorageManager.playingAppName);
+ let params = "UserID=" + sessionStorageManager.playerUserID
+ + "&AppName=" + sessionStorageManager.playingAppName
+ + "&Date=" + date;
+ xhr.send(params);
}
parseJSONtoHistoryRecord(json) {
diff --git a/src/game/result/history_board.js b/src/game/result/history_board.js
index a9a2321..78b4de2 100644
--- a/src/game/result/history_board.js
+++ b/src/game/result/history_board.js
@@ -13,20 +13,30 @@ class HistoryBoard {
this.textMyRanking = game.add.text(posX, posY + 100, '', arrayTabStyle)
.setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2);
- this.dbConnectManager.requestPlayerHistory( historyRecordManager => {
- let maxIndex = historyRecordManager.count - 1;
- if(maxIndex > 6)
- maxIndex = 6;
+ let today = new Date();
+ let date = DateUtil.getYYYYMMDD(today);
+ this.dbConnectManager.requestPlayerHistory(
+ date,
+ historyRecordManager => {
+ if(historyRecordManager.count == 0) {
+ console.log("history board - no data");
+ return;
+ }
- for(let i = 0; i < historyRecordManager.count; i++) {
- if(i > 6)
- break;
+ let maxIndex = historyRecordManager.count - 1;
+ if(maxIndex > 6)
+ maxIndex = 6;
- let data = historyRecordManager.getAt(maxIndex);
- this.printRecord(i, data.date, data.score);
- maxIndex--;
+ for(let i = 0; i < historyRecordManager.count; i++) {
+ if(i > 6)
+ break;
+
+ let data = historyRecordManager.getAt(maxIndex);
+ this.printRecord(i, data.date, data.score);
+ maxIndex--;
+ }
}
- });
+ );
}
diff --git a/src/game/result/ranking_board.js b/src/game/result/ranking_board.js
index b5758f3..1b57527 100644
--- a/src/game/result/ranking_board.js
+++ b/src/game/result/ranking_board.js
@@ -16,16 +16,24 @@ class RankingBoard {
let today = new Date();
let date = DateUtil.getYYYYMMDD(today);
let time = DateUtil.getHHMMSS(today);
- this.dbConnectManager.requestRanking(type, date, time, (type, rankingRecordManager) => {
- let beginIndex = this.getBeginIndex(rankingRecordManager);
- let endIndex = this.getEndIndex(rankingRecordManager);
+ this.dbConnectManager.requestRanking(
+ type, date, time,
+ (type, rankingRecordManager) => {
+ if(rankingRecordManager.count == 0) {
+ console.log("ranking board - no data");
+ return;
+ }
- for(let i = 0; i < endIndex - beginIndex; i++) {
- let index = beginIndex + i;
- let data = rankingRecordManager.getAt(index);
- this.printRecord(type, i, data);
+ let beginIndex = this.getBeginIndex(rankingRecordManager);
+ let endIndex = this.getEndIndex(rankingRecordManager);
+
+ for(let i = 0; i < endIndex - beginIndex; i++) {
+ let index = beginIndex + i;
+ let data = rankingRecordManager.getAt(index);
+ this.printRecord(type, i, data);
+ }
}
- });
+ );
}
getMyRank(rankingRecordManager) {
diff --git a/src/game/start/start.js b/src/game/start/start.js
index 11a8f28..93cf3cc 100644
--- a/src/game/start/start.js
+++ b/src/game/start/start.js
@@ -25,23 +25,32 @@ class Start {
// contents
this.printHowToPlay(appInfoManager.getHowToPlayText(sessionStorageManager.playingAppName));
this.makeStartButton();
- this.dbConnectManager.requestPlayerHistory( historyRecordManager => {
- this.printChartBaseLine();
+ let today = new Date();
+ let date = DateUtil.getYYYYMMDD(today);
+ this.dbConnectManager.requestPlayerHistory(
+ date,
+ historyRecordManager => {
+ this.printChartBaseLine();
- let underValue = historyRecordManager.underValueForGraph();
- let upperValue = historyRecordManager.upperValueForGraph();
+ if(historyRecordManager.count == 0) {
+ console.log("start - history record : no data");
+ return;
+ }
- let minValue = underValue - (upperValue - underValue) / 10;
- let maxValue = upperValue;// + (upperValue - underValue) / 10;
- for(let i = 0; i < historyRecordManager.count; i++) {
- if(i > 6)
- break;
+ let underValue = historyRecordManager.underValueForGraph();
+ let upperValue = historyRecordManager.upperValueForGraph();
- let data = historyRecordManager.getAt(i);
- this.drawRecordGraph(i, data.date, data.score, minValue, maxValue);
+ let minValue = underValue - (upperValue - underValue) / 10;
+ let maxValue = upperValue;// + (upperValue - underValue) / 10;
+ for(let i = 0; i < historyRecordManager.count; i++) {
+ if(i > 6)
+ break;
+
+ let data = historyRecordManager.getAt(i);
+ this.drawRecordGraph(i, data.date, data.score, minValue, maxValue);
+ }
}
-
- });
+ );
// bottom
diff --git a/src/web/client/start.html b/src/web/client/start.html
index 6685d7f..0b762ed 100644
--- a/src/web/client/start.html
+++ b/src/web/client/start.html
@@ -17,6 +17,7 @@
+
diff --git a/src/web/server/record/history_record.php b/src/web/server/record/history_record.php
index cacdb1d..bd3a988 100644
--- a/src/web/server/record/history_record.php
+++ b/src/web/server/record/history_record.php
@@ -5,6 +5,7 @@ include "./../lib/send_error_code.php";
$user_id = $_POST["UserID"];
$app_name = $_POST["AppName"];
+$date = $_POST["Date"];
include "./../setup/connect_db.php";
@@ -13,14 +14,14 @@ include "./../setup/connect_db.php";
$query = "
SELECT DATE(DateTime) AS Date, MAX(Score) AS HighScore, AppName AS AppName
FROM moty_record D
- WHERE UserID = ?
+ WHERE UserID = ? AND DATE(D.DateTime) < DATE(?) AND AppName = ?
GROUP BY DATE(DateTime)
ORDER BY DateTime ASC
LIMIT 7;
";
$stmt = $db_conn->prepare($query);
-$stmt->bind_param('s', $user_id);
+$stmt->bind_param('sss', $user_id, $date, $app_name);
$stmt->execute();
$stmt->bind_result($date, $score, $app_name);
diff --git a/test/test_db_connect_manager.js b/test/test_db_connect_manager.js
index dda5f52..e83a506 100644
--- a/test/test_db_connect_manager.js
+++ b/test/test_db_connect_manager.js
@@ -25,23 +25,21 @@ QUnit.test( "User login", function( assert ) {
QUnit.test( "Player history", function( assert ) {
sessionStorageManager.playerUserID = "8"; // 부현율
- sessionStorageManager.playingAppName = "space_invaders";
+ sessionStorageManager.playingAppName = "korean_word";
let date = "2018-05-16";
- let time = "14:50:00";
let done = assert.async();
setTimeout(function() {
dbConnectManager.requestPlayerHistory(
+ date,
(historyRecordManager) => {
- console.log(historyRecordManager);
-
- assert.equal(historyRecordManager.getAppNameAt(0), "korean_left_lower");
- assert.equal(historyRecordManager.getDateAt(0), "2018-04-02");
- assert.equal(historyRecordManager.getScoreAt(0), 22);
+ assert.equal(historyRecordManager.getAppNameAt(0), "korean_word");
+ assert.equal(historyRecordManager.getDateAt(0), "2018-04-18");
+ assert.equal(historyRecordManager.getScoreAt(0), 51.6102);
assert.equal(historyRecordManager.getAppNameAt(4), "korean_word");
- assert.equal(historyRecordManager.getDateAt(4), "2018-05-09");
- assert.equal(historyRecordManager.getScoreAt(4), 85.1965);
+ assert.equal(historyRecordManager.getDateAt(4), "2018-05-14");
+ assert.equal(historyRecordManager.getScoreAt(4), 101.78);
done();
}
@@ -62,8 +60,6 @@ QUnit.test( "Player ranking", function( assert ) {
date,
time,
(type, rankingRecordManager) => {
- console.log(rankingRecordManager);
-
assert.equal(rankingRecordManager.getRankAt(0), 1, "hour");
assert.equal(rankingRecordManager.getScoreAt(0), 302.921, "hour");
assert.equal(rankingRecordManager.getUserIDAt(0), 5, "hour");
@@ -85,8 +81,6 @@ QUnit.test( "Player ranking", function( assert ) {
date,
time,
(type, rankingRecordManager) => {
- console.log(rankingRecordManager);
-
assert.equal(rankingRecordManager.getRankAt(0), 1, "day");
assert.equal(rankingRecordManager.getScoreAt(0), 313.304, "day");
assert.equal(rankingRecordManager.getUserIDAt(0), 19, "day");
@@ -108,8 +102,6 @@ QUnit.test( "Player ranking", function( assert ) {
date,
time,
(type, rankingRecordManager) => {
- console.log(rankingRecordManager);
-
assert.equal(rankingRecordManager.getRankAt(0), 1, "month");
assert.equal(rankingRecordManager.getScoreAt(0), 617.231, "month");
assert.equal(rankingRecordManager.getUserIDAt(0), 50, "month");