Add: lowest is prefered app - highest record, ranking sorting sequence

This commit is contained in:
2019-05-10 11:09:07 +09:00
parent 6fb0872269
commit 20dfb711eb
12 changed files with 145 additions and 64 deletions
+10 -6
View File
@@ -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() {
+26 -11
View File
@@ -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';
},
}
+2 -2
View File
@@ -1,5 +1,5 @@
function HistoryBoard(type) {
if(type === RecordBoard.TYPE_SAMPLE) {
function HistoryBoard(dataType) {
if(dataType === RecordBoard.TYPE_SAMPLE) {
this.printSample();
return;
}
+3 -3
View File
@@ -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);
}
+32 -25
View File
@@ -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() {