freeCodeCamp/controllers/challenges.js

78 lines
2.3 KiB
JavaScript
Raw Normal View History

2014-10-20 22:35:42 +00:00
/**
* GET /
2014-11-10 18:29:16 +00:00
* Challenges.
*/
var _ = require('lodash'),
debug = require('debug')('freecc:cntr:challenges'),
Challenge = require('./../models/Challenge');
2014-10-20 22:35:42 +00:00
var highestChallengeNumber = 53;
exports.returnChallenge = function(req, res, next) {
var challengeNumber = parseInt(req.params.challengeNumber) || 0;
var verbs = [
'ACED',
'NAILED',
'ROCKED',
'SCORCHED',
'DEVASTATED',
'OWNED',
'CRUSHED',
'CONQUERED',
'KILLED',
'SHREDDED',
'ANNIHILATED',
'NUKED'
];
var compliments = [
"You've got the power!",
"Nicely done!",
"Rock and roll!",
"High five!",
"Bravo!",
"Encore!",
"Challenge destroyed!",
"Power level 9000!",
"Most efficient!",
"Party on Wayne!",
"You've got the touch!",
"You're on fire!",
"Don't hurt 'em, Hammer!",
"The town is now red",
"To the nines!",
"Nothing but net!",
"Even grumpy cat is impressed"
];
var phrases = [
"Shout it from on top of a mountain",
"Tell everyone and their dogs",
"Show them. Show them all!",
"Inspire your friends",
"Tell the world of your greatness",
"Look accomplished on social media",
"Share news of your grand endeavor",
"Establish your alibi for the past two hours",
"Prove to mom that computers aren't just for games"
];
if (challengeNumber > highestChallengeNumber) { challengeNumber = 0; }
2014-12-23 21:30:20 +00:00
Challenge.find({}, null, { sort: { challengeNumber: 1 } }, function(err, c) {
if (err) {
debug('Challenge err: ', err);
next(err);
}
res.render('challenges/show', {
2014-12-23 05:07:50 +00:00
title: 'Challenge: ' + c[challengeNumber].name,
name: c[challengeNumber].name,
video: c[challengeNumber].video,
time: c[challengeNumber].time,
steps: c[challengeNumber].steps,
2014-12-23 20:16:23 +00:00
number: challengeNumber,
2014-12-23 05:07:50 +00:00
cc: req.user ? req.user.challengesHash : undefined,
points: req.user ? req.user.points : undefined,
verb: verbs[Math.floor(Math.random() * verbs.length)],
phrase: phrases[Math.floor(Math.random() * phrases.length)],
2014-12-23 05:07:50 +00:00
challenges: c
2014-11-06 23:26:38 +00:00
});
2014-10-20 22:35:42 +00:00
});
};