This commit is contained in:
Thomas FORGIONE
2015-08-25 14:03:01 +02:00
parent 5f3b2e1862
commit f0e4455bc2
9 changed files with 59 additions and 198 deletions

View File

@@ -2,26 +2,6 @@ var pg = require('pg');
var pgc = require('../../private.js');
var Log = require('../../lib/NodeLog.js');
// Shuffle array
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex ;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
/**
*
* @namespace
@@ -994,7 +974,7 @@ DBReq.TutorialCreator.prototype.finish = function() {
this.client = null;
this.finishAction(this.finalResult.expId, this.finalResult.coins);
}
};
/**
* Try to get a user by id, and creates it if it doesn't exists

View File

@@ -3,47 +3,6 @@ var pg = require('pg');
var pgc = require('../../private');
var db = require('./dbrequests');
// Shuffle array
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex ;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
function randomArray() {
var arr = [];
for (var i = 2; i < 5; i++) {
arr.push(i);
}
arr = shuffle(arr);
return arr;
}
function randomReco() {
var recoStyles = [
'prototype_empty.jade',
'prototype_viewports.jade',
'prototype_arrows.jade'
];
return shuffle(recoStyles);
}
module.exports.index = function(req, res) {
res.setHeader('Content-Type', 'text/html');
@@ -52,26 +11,6 @@ module.exports.index = function(req, res) {
});
};
var generateSceneNumber = function(req, res) {
if (req.session.scenes !== undefined) {
req.session.currentSceneIndex++;
} else {
req.session.scenes = randomArray();
req.session.currentSceneIndex = 0;
}
return req.session.scenes[req.session.currentSceneIndex];
};
var generateRecommendationStyle = function(req, res) {
if (req.session.recos === undefined) {
req.session.recos = randomReco();
}
return req.session.recos.shift();
};
var sceneToFunction = function(scene) {
switch (scene) {
case 2:
@@ -89,9 +28,6 @@ module.exports.game = function(req, res) {
db.tryUser(req.session.user_id, function(id) {
var scene = generateSceneNumber(req, res);
res.locals.scene = sceneToFunction(scene);
res.locals.recommendationStyle = 'L3D.ArrowRecommendation';
req.session.user_id = id;
db.createExp(id, function(expId, coinCombinationId, sceneId, recommendationStyle, coins) {
@@ -187,83 +123,39 @@ module.exports.tutorial = function(req, res) {
};
module.exports.clicker = function(req, res, next) {
function editorHelper(templateName) {
var scene = req.params.scene;
return function(req, res, next) {
switch (scene) {
var scene = req.params.scene;
case 'peach': res.locals.scene = "L3D.initPeach"; break;
case 'coolcoolmountain': res.locals.scene = "L3D.initMountain"; break;
case 'whomp': res.locals.scene = "L3D.initWhomp"; break;
case 'bobomb': res.locals.scene = "L3D.initBobomb"; break;
default:
// 404
var err = new Error('Incorrect scene');
err.status = 404;
next(err);
break;
switch (scene) {
}
case 'peach': res.locals.scene = "L3D.initPeach"; break;
case 'coolcoolmountain': res.locals.scene = "L3D.initMountain"; break;
case 'whomp': res.locals.scene = "L3D.initWhomp"; break;
case 'bobomb': res.locals.scene = "L3D.initBobomb"; break;
default:
// 404
var err = new Error('Incorrect scene');
err.status = 404;
next(err);
break;
res.setHeader('Content-Type', 'text/html');
res.render('prototype_clicker.jade', res.locals, function(err, result) {
res.send(result);
});
}
res.setHeader('Content-Type', 'text/html');
res.render(templateName, res.locals, function(err, result) {
res.send(result);
});
};
};
module.exports.viewer = function(req, res, next) {
var scene = req.params.scene;
switch (scene) {
case 'peach': res.locals.scene = "L3D.initPeach"; break;
case 'coolcoolmountain': res.locals.scene = "L3D.initMountain"; break;
case 'whomp': res.locals.scene = "L3D.initWhomp"; break;
case 'bobomb': res.locals.scene = "L3D.initBobomb"; break;
default:
// 404
var err = new Error('Incorrect scene');
err.status = 404;
next(err);
break;
}
res.setHeader('Content-Type', 'text/html');
res.render('prototype_viewer.jade', res.locals, function(err, result) {
res.send(result);
});
};
module.exports.checker = function(req, res, next) {
var scene = req.params.scene;
switch (scene) {
case 'peach': res.locals.scene = "L3D.initPeach"; break;
case 'coolcoolmountain': res.locals.scene = "L3D.initMountain"; break;
case 'whomp': res.locals.scene = "L3D.initWhomp"; break;
case 'bobomb': res.locals.scene = "L3D.initBobomb"; break;
default:
// 404
var err = new Error('Incorrect scene');
err.status = 404;
next(err);
break;
}
res.setHeader('Content-Type', 'text/html');
res.render('prototype_checker.jade', res.locals, function(err, result) {
res.send(result);
});
};
module.exports.clicker = editorHelper('prototype_clicker.jade');
module.exports.viewer = editorHelper('prototype_viewer.jade');
module.exports.checker = editorHelper('prototype_checker.jade');
module.exports.userstudy = function(req, res) {
res.setHeader('Content-Type', 'text/html');