diff --git a/src/game/mouse/one_to_fifty/chocoball.js b/src/game/mouse/one_to_fifty/chocoball.js index d780aa7..aa2ae09 100644 --- a/src/game/mouse/one_to_fifty/chocoball.js +++ b/src/game/mouse/one_to_fifty/chocoball.js @@ -1,8 +1,9 @@ // Chocoball.prototype = Object.create(Phaser.Sprite.prototype); Chocoball.constructor = Chocoball; -function Chocoball(index, onClickHandler) { +function Chocoball(index, difficulty, onClickHandler) { this.index = index; + this.difficulty = difficulty; this.onClickHandler = onClickHandler; this.initVariables(); @@ -60,11 +61,11 @@ Chocoball.prototype.setNumber = function(number) { this.number = number; this.numberText.text = number; - this.setBodyColor(this.number, Chocoball.MODE_EASY); + this.setBodyColor(this.number); } -Chocoball.prototype.setBodyColor = function(number, mode) { - if(mode == Chocoball.MODE_DIFFICULT) { +Chocoball.prototype.setBodyColor = function(number) { + if(this.difficulty == Chocoball.MODE_DIFFICULT) { this.body.tint = Chocoball.COLOR_BLACK; return; } @@ -85,8 +86,11 @@ Chocoball.prototype.setBodyColor = function(number, mode) { Chocoball.prototype.setActive = function(isActivated) { this.isActivated = isActivated; - this.body.visible = isActivated; - this.gloss.visible = isActivated; +} + +Chocoball.prototype.setVisible = function(visible) { + this.body.visible = visible; + this.gloss.visible = visible; } Chocoball.prototype.onClick = function() { diff --git a/src/game/mouse/one_to_fifty/game.js b/src/game/mouse/one_to_fifty/game.js index 6c3971e..ee57bef 100644 --- a/src/game/mouse/one_to_fifty/game.js +++ b/src/game/mouse/one_to_fifty/game.js @@ -1,6 +1,8 @@ var Game = { create: function() { + this.initVariables(); + this.dbConnectManager = new DBConnectManager(); sessionStorageManager.setRecord(0); @@ -31,7 +33,6 @@ var Game = { // init game elements - this.initVariables(); this.drawObjects(); @@ -47,8 +48,19 @@ var Game = { }, initVariables: function() { + this.mode = "test"; + this.nextNumber = 1; + this.difficulty = Chocoball.MODE_DIFFICULT; + // if previous record is over 60 sec, play easy mode + var prevRecord = sessionStorageManager.getRecord() + // console.log(prevRecord); + var secForEasyMode = this.mode == "test" ? 1 : 60; + if(prevRecord > secForEasyMode) { + this.difficulty = Chocoball.MODE_EASY; + } + this.firstChocoballArray = this.makeChocoballArray(1, 25); this.secondChocoballArray = this.makeChocoballArray(26, 50); }, @@ -58,6 +70,7 @@ var Game = { for(var i = 0; i < 25; i++) { var chocoball = new Chocoball( i, + this.difficulty, (function(chocoball) { this.onClickChocoball(chocoball); }).bind(this) ); chocoball.setNumber(this.firstChocoballArray[i]); @@ -92,6 +105,7 @@ var Game = { this.nextChocoball = new Chocoball( 100, + this.difficulty, (function(chocoball) { console.log("no event") }).bind(this) ); this.nextChocoball.setNumber(this.nextNumber); @@ -117,7 +131,7 @@ var Game = { onClickChocoball: function(chocoball) { // console.log(chocoball.index); - console.log(chocoball.number); + // console.log(chocoball.number); if(chocoball.number == 1) this.stopWatch.start(); @@ -135,7 +149,15 @@ var Game = { chocoball.setNumber(this.secondChocoballArray[chocoball.index]); this.nextChocoball.setNumber(this.nextNumber); } else { - chocoball.setActive(false); + chocoball.setVisible(false); + } + + if(this.mode == "test") { + if(this.nextNumber == 3) { + console.log("time over"); + this.timeOver(); + } + return; } if(chocoball.number == 50) { @@ -159,10 +181,6 @@ var Game = { }, timeOver: function() { - var timeOverText = new TimeOverText(); - if(!isExperienceMaestroAccount()) - this.updateResultRecord(); - var recordTime = this.stopWatch.stop(); sessionStorageManager.setRecord(recordTime); if(!isExperienceMaestroAccount()) @@ -173,9 +191,6 @@ var Game = { }, updateResultRecord: function() { - console.log("update record : " + sessionStorageManager.getRecord()); - return; - if(sessionStorageManager.getMaestroAccountType() < 100) { // experience account this.dbConnectManager.updateResultRecord( sessionStorageManager.getMaestroID(), @@ -187,7 +202,7 @@ var Game = { }, goResult: function() { - location.href = '../../web/client/result.html'; + location.href = '../../web/client/result.html?update=1905101'; }, } diff --git a/src/game/result/history_board.js b/src/game/result/history_board.js index 2df4bcc..0fb4953 100644 --- a/src/game/result/history_board.js +++ b/src/game/result/history_board.js @@ -1,5 +1,5 @@ -function HistoryBoard(type) { - if(type === RecordBoard.TYPE_SAMPLE) { +function HistoryBoard(dataType) { + if(dataType === RecordBoard.TYPE_SAMPLE) { this.printSample(); return; } diff --git a/src/game/result/record_board.js b/src/game/result/record_board.js index 50f0acd..567aec2 100644 --- a/src/game/result/record_board.js +++ b/src/game/result/record_board.js @@ -1,11 +1,11 @@ -function RecordBoard(type) { +function RecordBoard(dataType) { this.chartGraphics = game.add.graphics(0, 0); this.printRecordBoardHeader(); this.printSeperator(); - var historyBoard = new HistoryBoard(type); - var rankingBoard = new RankingBoard(type); + var historyBoard = new HistoryBoard(dataType); + var rankingBoard = new RankingBoard(dataType); } diff --git a/src/game/result/result.js b/src/game/result/result.js index a58bc42..9fae017 100644 --- a/src/game/result/result.js +++ b/src/game/result/result.js @@ -39,9 +39,6 @@ var Result = { // contents this.printRecord(); - // if(sessionStorageManager.getMaestroAccountType() < 100) { // experience account - // this.updateResultRecord(); - // } this.makeRestartButton(); @@ -113,6 +110,31 @@ var Result = { }, printTodayBestRecord: function() { + // console.log(sessionStorageManager.getAppHighestRecord()); + // console.log(sessionStorageManager.getRecord()); + var appHighestRecord = sessionStorageManager.getAppHighestRecord(); + var prevRecord = sessionStorageManager.getRecord(); + if(appHighestRecord == 'undefined' || appHighestRecord == null) { + this.showHighestRecordEffect(prevRecord); + return; + } + + if(this.isHighestRecordPreferApp()) { + console.log("highest record prefer"); + if(prevRecord > appHighestRecord) + this.showHighestRecordEffect(prevRecord); + } else { + console.log("lowest record prefer"); + if(appHighestRecord == 0) + this.showHighestRecordEffect(prevRecord); + else if(prevRecord < appHighestRecord) + this.showHighestRecordEffect(prevRecord); + } + }, + + showHighestRecordEffect: function(record) { + sessionStorageManager.setAppHighestRecord(record); + var newRecordEmitter = game.add.emitter(game.world.centerX, 140, 300); newRecordEmitter.makeParticles('star'); newRecordEmitter.gravity = 300; @@ -123,30 +145,15 @@ var Result = { bestRecordText.stroke = "#333"; bestRecordText.strokeThickness = 5; - if(sessionStorageManager.getAppHighestRecord() == 'undefined' || sessionStorageManager.getAppHighestRecord() == null) - sessionStorageManager.setAppHighestRecord(0); - - var todayBestRecord = 0; - var flooredBestRecord = Math.floor(sessionStorageManager.getAppHighestRecord()); - var bestRecordWithCommas = NumberUtil.numberWithCommas(flooredBestRecord); - - if(sessionStorageManager.getRecord() > sessionStorageManager.getAppHighestRecord()) { - sessionStorageManager.setAppHighestRecord(sessionStorageManager.getRecord()); - - bestRecordText.text = "! : . 최고 기록 경신 . : !"; - newRecordEmitter.start(true, 2000, null, 20); - } else { - bestRecordText.text = ""; - } + bestRecordText.text = "! : . 최고 기록 경신 . : !"; + newRecordEmitter.start(true, 2000, null, 20); }, - updateResultRecord: function() { - this.dbConnectManager.updateResultRecord( - sessionStorageManager.getMaestroID(), - sessionStorageManager.getPlayerID(), - sessionStorageManager.getPlayingAppID(), - sessionStorageManager.getRecord() - ); + isHighestRecordPreferApp: function() { + if(sessionStorageManager.getPlayingAppID() == 105) + return false; + + return true; }, makeRestartButton: function() { diff --git a/src/web/client/result.html b/src/web/client/result.html index 15501aa..0f75235 100644 --- a/src/web/client/result.html +++ b/src/web/client/result.html @@ -43,7 +43,7 @@ - + diff --git a/src/web/server/lib/util_app.php b/src/web/server/lib/util_app.php new file mode 100644 index 0000000..a206326 --- /dev/null +++ b/src/web/server/lib/util_app.php @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/src/web/server/record/app_ranking.php b/src/web/server/record/app_ranking.php index 6479d30..5360286 100644 --- a/src/web/server/record/app_ranking.php +++ b/src/web/server/record/app_ranking.php @@ -3,6 +3,7 @@ header('Content-Type: application/json'); include "./../lib/send_reply_json.php"; include "./../setup/connect_db.php"; +include "./../lib/util_app.php"; $maestroID = $_POST["MaestroID"]; $appID = $_POST["AppID"]; @@ -27,8 +28,12 @@ function get_ranking_hour($maestroID, $appID) { FROM best_record BR, player P WHERE BR.PlayerID = P.PlayerID AND DATE(BR.RecordDateTime) = DATE(NOW()) AND HOUR(BR.RecordDateTime) = HOUR(NOW()) AND BR.MaestroID = ? AND BR.AppID = ? GROUP BY BR.PlayerID - ORDER BY max(BR.BestRecord) DESC; + ORDER BY max(BR.BestRecord) "; + if(is_highest_record_prefer_app($appID)) + $query = $query." DESC;"; + else + $query = $query." ASC;"; $stmt = $db_conn->prepare($query); $stmt->bind_param('ii', $maestroID, $appID); $stmt->execute(); @@ -52,8 +57,12 @@ function get_ranking_day($maestroID, $appID) { FROM best_record BR, player P WHERE BR.PlayerID = P.PlayerID AND DATE(BR.RecordDateTime) = DATE(NOW()) AND BR.MaestroID = ? AND BR.AppID = ? GROUP BY BR.PlayerID - ORDER BY max(BR.BestRecord) DESC; + ORDER BY max(BR.BestRecord) "; + if(is_highest_record_prefer_app($appID)) + $query = $query." DESC;"; + else + $query = $query." ASC;"; $stmt = $db_conn->prepare($query); $stmt->bind_param('ii', $maestroID, $appID); $stmt->execute(); @@ -77,8 +86,12 @@ function get_ranking_month($maestroID, $appID) { FROM best_record BR, player P WHERE BR.PlayerID = P.PlayerID AND MONTH(BR.RecordDateTime) = MONTH(NOW()) AND BR.MaestroID = ? AND BR.AppID = ? GROUP BY BR.PlayerID - ORDER BY max(BR.BestRecord) DESC; + ORDER BY max(BR.BestRecord) "; + if(is_highest_record_prefer_app($appID)) + $query = $query." DESC;"; + else + $query = $query." ASC;"; $stmt = $db_conn->prepare($query); $stmt->bind_param('ii', $maestroID, $appID); $stmt->execute(); diff --git a/src/web/server/record/ranking_record_day.php b/src/web/server/record/ranking_record_day.php index 2afb2b5..d813ed7 100644 --- a/src/web/server/record/ranking_record_day.php +++ b/src/web/server/record/ranking_record_day.php @@ -7,6 +7,7 @@ $date = $_POST["Date"]; $time = $_POST["Time"]; include "./../setup/connect_db.php"; +include "./../lib/util_app.php"; $replyJSON = get_ranking_record_day($maestro_id, $date, $app_id); @@ -28,8 +29,12 @@ function get_ranking_record_day($maestro_id, $date, $app_id) { FROM best_record BR, player U WHERE BR.MaestroID = ? AND BR.playerID = U.playerID AND DATE(BR.RecordDateTime) = ? AND AppID = ? GROUP BY BR.playerID - ORDER BY max(BR.BestRecord) DESC; + ORDER BY max(BR.BestRecord) "; + if(is_highest_record_prefer_app($app_id)) + $query = $query." DESC;"; + else + $query = $query." ASC;"; $stmt = $db_conn->prepare($query); $stmt->bind_param('isi', $maestro_id, $date, $app_id); $stmt->execute(); diff --git a/src/web/server/record/ranking_record_hour.php b/src/web/server/record/ranking_record_hour.php index 9623f62..b1a0c4a 100644 --- a/src/web/server/record/ranking_record_hour.php +++ b/src/web/server/record/ranking_record_hour.php @@ -7,6 +7,7 @@ $date = $_POST["Date"]; $time = $_POST["Time"]; include "./../setup/connect_db.php"; +include "./../lib/util_app.php"; $replyJSON = get_ranking_record_hour($maestro_id, $date, $time, $app_id); @@ -27,8 +28,12 @@ function get_ranking_record_hour($maestro_id, $date, $time, $app_id) { FROM best_record BR, player U WHERE BR.MaestroID = ? AND BR.playerID = U.playerID AND DATE(BR.RecordDateTime) = ? AND HOUR(BR.RecordDateTime) = HOUR(?) AND AppID = ? GROUP BY BR.playerID - ORDER BY max(BR.BestRecord) DESC; + ORDER BY max(BR.BestRecord) "; + if(is_highest_record_prefer_app($app_id)) + $query = $query." DESC;"; + else + $query = $query." ASC;"; $stmt = $db_conn->prepare($query); $stmt->bind_param('issi', $maestro_id, $date, $time, $app_id); $stmt->execute(); diff --git a/src/web/server/record/ranking_record_month.php b/src/web/server/record/ranking_record_month.php index 1abcd07..8c51dd9 100644 --- a/src/web/server/record/ranking_record_month.php +++ b/src/web/server/record/ranking_record_month.php @@ -7,6 +7,7 @@ $date = $_POST["Date"]; $time = $_POST["Time"]; include "./../setup/connect_db.php"; +include "./../lib/util_app.php"; $replyJSON = get_ranking_record_month($maestro_id, $date, $time, $app_id); @@ -28,8 +29,12 @@ function get_ranking_record_month($maestro_id, $date, $time, $app_id) { FROM best_record BR, player U WHERE BR.MaestroID = ? AND BR.playerID = U.playerID AND MONTH(BR.RecordDateTime) = MONTH(?) AND AppID = ? GROUP BY BR.playerID - ORDER BY max(BR.BestRecord) DESC; + ORDER BY max(BR.BestRecord) "; + if(is_highest_record_prefer_app($app_id)) + $query = $query." DESC;"; + else + $query = $query." ASC;"; $stmt = $db_conn->prepare($query); $stmt->bind_param('isi', $maestro_id, $date, $app_id); $stmt->execute(); diff --git a/src/web/server/record/update_result_record.php b/src/web/server/record/update_result_record.php index 6a8c000..79f110d 100644 --- a/src/web/server/record/update_result_record.php +++ b/src/web/server/record/update_result_record.php @@ -9,7 +9,7 @@ $record = $_POST["Record"]; include "./../setup/connect_db.php"; include "./../lib/app_highest_record.php"; - +include "./../lib/util_app.php"; // best record is for the saved data by every hour $prev_best_record_id = -1; @@ -23,9 +23,16 @@ if($prev_best_record_id === null || $prev_best_record_id < 0) { insert_best_record($maestro_id, $app_id, $player_id, $record); } else { echo $record." ".$prev_best_record; - if($record > $prev_best_record) { - echo "update"; - update_best_record($prev_best_record_id, $record); + if(is_highest_record_prefer_app($app_id)) { + if($record > $prev_best_record) { + echo "update"; + update_best_record($prev_best_record_id, $record); + } + } else { + if($record < $prev_best_record) { + echo "update"; + update_best_record($prev_best_record_id, $record); + } } } @@ -37,12 +44,22 @@ echo "\napp_highest_record : $app_highest_record"; if($app_highest_record == null) { insert_app_highest_record($maestro_id, $app_id, $player_id, $record); // echo "\ninsert_app_highest_record : $record"; -} -else if($record > $app_highest_record) { - remove_app_highest_record($maestro_id, $app_id, $player_id); - // echo "\nremove_app_highest_record"; - insert_app_highest_record($maestro_id, $app_id, $player_id, $record); - // echo "\ninsert_app_highest_record : $record"; +} else { + if(is_highest_record_prefer_app($app_id)) { + if($record > $app_highest_record) { + remove_app_highest_record($maestro_id, $app_id, $player_id); + // echo "\nremove_app_highest_record"; + insert_app_highest_record($maestro_id, $app_id, $player_id, $record); + // echo "\ninsert_app_highest_record : $record"; + } + } else { + if($record < $app_highest_record) { + remove_app_highest_record($maestro_id, $app_id, $player_id); + // echo "\nremove_app_highest_record"; + insert_app_highest_record($maestro_id, $app_id, $player_id, $record); + // echo "\ninsert_app_highest_record : $record"; + } + } } $db_conn->close();