From 0b9a77724586d55d9c6f70be120b4df85efabba6 Mon Sep 17 00:00:00 2001 From: Kaleb Davis Date: Tue, 9 Jun 2015 13:48:53 -0400 Subject: [PATCH 1/2] rap name generator script functional --- js/script.js | 76 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 3 deletions(-) diff --git a/js/script.js b/js/script.js index 2f2cff7..15148a3 100644 --- a/js/script.js +++ b/js/script.js @@ -1,6 +1,6 @@ -/** +/** * RAP NAME GENERATOR * The user will insert their first name and on click receive one of several * possible outputs (i.e. Jill). @@ -20,13 +20,83 @@ function Generator() { } +function getRapName(name, first_names, last_names) { + return getRapFirstName(name, first_names) + getRapLastName(name, last_names); +} + +function getRapFirstName(name, first_names) { + var numOptions = first_names.length + 2; + var option = getRandomInt(0, numOptions); + if(option > numOptions) { + alert("Error: random number generator is wrong"); + } + if(option === numOptions) { + return initializeName(name); + } + else if(option === numOptions-1){ + return name; + } + else if(option === numOptions-2) { + return name.toUpperCase()[0]; + } + else { + return first_names[option] + " " + name; + } +} + +function getRapLastName(name, last_names) { + var numOptions = last_names.length; + var option = getRandomInt(0, numOptions); + if(option > numOptions) { + alert("Error: random number generator is wrong"); + } + if(option === numOptions){ + return ''; + } + else { + return " " + last_names[option]; + } +} + -//Add your codez here +function initializeName(name) { + var initials = name.toUpperCase().split(''); + var newName = ''; + initials.forEach( function(letter) { + newName+= letter + "."; + }); + return newName; +} + +function verifyInput(name) { + return name != ""; +} +function getUsersName() { + return $("input[id='user-input']").val(); +} + +/** + * Gets a random number between min (inclusive) and max (inclusive) + */ +function getRandomInt(min, max) { + return Math.floor(Math.random() * (max - min + 1) + min); +} $(document).ready(function() { var engine = new Generator; - //Add your codez here + $("#enter").click( function() { + if(!verifyInput(getUsersName())) { + $(".response").hide(); + $(".error").show(); + } + else { + var rapName = getRapName(getUsersName(), engine.first_names, engine.last_names) + $(".error").hide(); + $(".response").text(rapName); + $(".response").show(); + } + }); }); From bf90ceadfbe38890f2abc7681d28eace8af2143a Mon Sep 17 00:00:00 2001 From: Kaleb Davis Date: Thu, 11 Jun 2015 14:03:58 -0400 Subject: [PATCH 2/2] Pull functionality into generator object --- js/script.js | 99 ++++++++++++++++++++++++++-------------------------- 1 file changed, 49 insertions(+), 50 deletions(-) diff --git a/js/script.js b/js/script.js index 15148a3..7d4f4ec 100644 --- a/js/script.js +++ b/js/script.js @@ -18,64 +18,63 @@ function Generator() { this.last_names = ['the Chef', 'Digital', 'Wise', 'Knight', 'Wrecka', 'the Genius', 'the Zoo Keeper', 'the Monk', 'the Scientist', 'the Disciple', 'the Darkman', 'Pellegrino', 'the Ill Figure', 'Rocks The World', 'the Baptist',]; this.first_names = ['Inspectah', 'Masta', 'Poppa', 'Five Foot', 'Ghostface', 'Old Dirty']; -} - -function getRapName(name, first_names, last_names) { - return getRapFirstName(name, first_names) + getRapLastName(name, last_names); -} + this.getRapName = function(name) { + return this.getRapFirstName(name) + this.getRapLastName(name); + } + + this.getRapFirstName = function(name) { + var numOptions = this.first_names.length + 2; + var option = getRandomInt(0, numOptions); + if(option > numOptions) { + alert("Error: random number generator is wrong"); + } + if(option === numOptions) { + return this.initializeName(name); + } + else if(option === numOptions-1){ + return name; + } + else if(option === numOptions-2) { + return name.toUpperCase()[0]; + } + else { + return this.first_names[option] + " " + name; + } + } -function getRapFirstName(name, first_names) { - var numOptions = first_names.length + 2; - var option = getRandomInt(0, numOptions); - if(option > numOptions) { - alert("Error: random number generator is wrong"); - } - if(option === numOptions) { - return initializeName(name); - } - else if(option === numOptions-1){ - return name; - } - else if(option === numOptions-2) { - return name.toUpperCase()[0]; - } - else { - return first_names[option] + " " + name; - } -} + this.getRapLastName = function(name) { + var numOptions = this.last_names.length; + var option = getRandomInt(0, numOptions); + if(option > numOptions) { + alert("Error: random number generator is wrong"); + } + if(option === numOptions){ + return ''; + } + else { + return " " + this.last_names[option]; + } + } -function getRapLastName(name, last_names) { - var numOptions = last_names.length; - var option = getRandomInt(0, numOptions); - if(option > numOptions) { - alert("Error: random number generator is wrong"); - } - if(option === numOptions){ - return ''; - } - else { - return " " + last_names[option]; - } -} + this.initializeName = function(name) { + var initials = name.toUpperCase().split(''); + var newName = ''; + initials.forEach( function(letter) { + newName+= letter + "."; + }); + return newName; + } -function initializeName(name) { - var initials = name.toUpperCase().split(''); - var newName = ''; - initials.forEach( function(letter) { - newName+= letter + "."; - }); - return newName; + this.getUsersName = function() { + return $("input[id='user-input']").val(); + } } function verifyInput(name) { return name != ""; } -function getUsersName() { - return $("input[id='user-input']").val(); -} - /** * Gets a random number between min (inclusive) and max (inclusive) */ @@ -87,12 +86,12 @@ $(document).ready(function() { var engine = new Generator; $("#enter").click( function() { - if(!verifyInput(getUsersName())) { + if(!verifyInput(engine.getUsersName())) { $(".response").hide(); $(".error").show(); } else { - var rapName = getRapName(getUsersName(), engine.first_names, engine.last_names) + var rapName = engine.getRapName(engine.getUsersName()); $(".error").hide(); $(".response").text(rapName); $(".response").show();