From f046d03ca1f3fee585494a9a4dd56a2982963de9 Mon Sep 17 00:00:00 2001 From: ritfsaecdaq Date: Sat, 27 Jan 2018 19:53:37 -0500 Subject: [PATCH] implemented random word retrieval functionality --- googletrendsgame/server/utils.js | 41 ++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/googletrendsgame/server/utils.js b/googletrendsgame/server/utils.js index fa2633d..8f9c0fc 100644 --- a/googletrendsgame/server/utils.js +++ b/googletrendsgame/server/utils.js @@ -1,26 +1,37 @@ -var words = []; - +var fs = require('fs'); +const WORD_FILE_PATH = '../word_selection/words.txt'; +//loads words from word file +var words = []; +var data = fs.readFileSync(WORD_FILE_PATH, 'utf8'); +var lines = data.split('\n'); +lines.forEach(function(element){ + words.push(element); +}); module.exports= { - /** - * Returns a random word - * @returns {string} - */ - getRandomWord : function() - { - return ''; - }, - /** * returns a specific amount of words -- unique - * @param num - * @returns {Array} + * @param num the number of words + * @returns {Array} the random, unique words */ getRandomWords : function(num) { - return []; + var rwords = []; + for(var i = 0; i < num; ++i){ + var randindex = Math.round((Math.random() * (words.length - 1))); + var newword = words[randindex]; + var uniq = true; + rwords.forEach(function(element){ + if(newword === element){ + --i; + uniq = false; + } + }); + if(uniq)rwords.push(newword); + } + return rwords; } - }; \ No newline at end of file + };