From 217c21f656175bccdf0e0832d78176ccea6ad132 Mon Sep 17 00:00:00 2001 From: Mariana Cerda Date: Thu, 24 May 2018 17:09:30 -0500 Subject: [PATCH 1/2] Raymond Garcia; Javascript IV --- .DS_Store | Bin 0 -> 6148 bytes assignments/lambda-classes.js | 91 ++++++++++++++++++++++++++++++ assignments/prototype-refactor.js | 86 +++++++++++++++++++--------- 3 files changed, 149 insertions(+), 28 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..479776f5db17d443151b64919470afd00a2f0cf6 GIT binary patch literal 6148 zcmeHK-D(p-6h4ziolPm`LaLW@BX|)cAy5So)|g)Oq9Cr=3zc@a8`_2KPRMQyHAeO= z^c8%PK7x;<-WKKBqotZh`4Eyb7euzj6rfH9;O+*sT*a%Sk!?>S)$r`Su z2^40G6DsJ8MkuSLY~OGj72tQbNimi9WpwrZm3z59PI8?fgFlZK@F%~GAzH~wX64wi zE|PJcl~uRdh|S)%XAFBwzCicm@6|1w?Zg4F`B6x3?}m9PhOXegtRZyxQU= k1%cU$k;_~0Be*fND-M96!`dQRVE!OrWblPoV66)L0SS(8u>b%7 literal 0 HcmV?d00001 diff --git a/assignments/lambda-classes.js b/assignments/lambda-classes.js index 71acfca0e..ed2bbaf61 100644 --- a/assignments/lambda-classes.js +++ b/assignments/lambda-classes.js @@ -1 +1,92 @@ // CODE here for your Lambda Classes +class Person { + constructor(personOptions) { + this.name = personOptions.name; + this.age = personOptions.age; + this.location = personOptions.location; + this.gender = personOptions.gender; + } + speak(){ + return `Hello my name is ${this.name}, I am from ${this.location}.` + } +} + +class Instructor extends Person { + constructor(instructorOptions) { + super(instructorOptions); + this.specialty = instructorOptions.specialty; + this.favLanguage = instructorOptions.favLanguage; + this.catchPhrase = instructorOptions.catchPhrase; + } + demo (subject){ + return `Today we are learning about ${subject}.`; + } + subject (student, subject){ + return `${student.name} receives a perfect score on ${subject}`; + } +} +class Student extends Person { + constructor(studentOptions) { + super(studentOptions); + this.previousBackground = studentOptions.previousBackground; + this.className = studentOptions.className; + this.favSubjects = favSubjects.favSubjects; + } + listsSubjects(){ + return "listsSubjects"; + } + PRAssignment(){ + return "PRAssignment"; + } + sprintChallenge(){ + return "sprintChallenge"; + } +} +class ProjectManager extends Instructor{ + constructor(projectManagerOptions) { + super(projectManagerOptions); + this.gradClassName = projectManagerOptions.gradClassName; + this.favInstructor = projectManagerOptions.favInstructor; + } + standUp(){ + return "standUp"; + } + debugsCode(){ + return "debugsCode"; + } +} +var personTest = new Person ({ + name: "Raymond Garcia", + age: "24", + location: "Texas", + gender: "Male" +}); +var instructorTest = new Instructor({ + name: "Josh Knell", + age: "34", + location: "Utah", + gender: "Male", + specialty: "Front-end", + favLanguage: "Perl", + catchPhrase: "Wowzers!" +}); +var studentTest = new Student ({ + name: "Raymond Garcia", + age: "24", + location: "Texas", + gender: "Male", + previousBackground: "College graduate", + className: "CS11", + favSubjects: "Game hacking" +}); +var projectManagerTest = new ProjectManager({ + name: "Perry Ahern", + age: "50", + location: "New York", + gender: "Male" + specialty: "React", + favLanguage: "C++", + catchPhrase: "Pair programming is fun!", + gradClassName: "CS7", + favInstructor: "Dianndra Ryan-Mas" +}); diff --git a/assignments/prototype-refactor.js b/assignments/prototype-refactor.js index e55ae39c0..6d693950a 100644 --- a/assignments/prototype-refactor.js +++ b/assignments/prototype-refactor.js @@ -2,40 +2,70 @@ // Today your goal is to refactor all of this code to use ES6 Classes. // The console.log() statements should still return what is expected of them. -function GameObject(options) { - this.createdAt = options.createdAt; - this.dimensions = options.dimensions; +// function GameObject(options) { +// this.createdAt = options.createdAt; +// this.dimensions = options.dimensions; +// } +// +// GameObject.prototype.destroy = function() { +// return `Object was removed from the game.`; +// }; +class GameObject { + constructor(options){ + this.createdAt = options.createdAt; + this.dimensions = options.dimensions; + } + destroy(){ + return `Object was removed from the game.`; + } } -GameObject.prototype.destroy = function() { - return `Object was removed from the game.`; -}; - -function CharacterStats(characterStatsOptions) { - GameObject.call(this, characterStatsOptions); - this.hp = characterStatsOptions.hp; - this.name = characterStatsOptions.name; +// function CharacterStats(characterStatsOptions) { +// GameObject.call(this, characterStatsOptions); +// this.hp = characterStatsOptions.hp; +// this.name = characterStatsOptions.name; +// } +// +// CharacterStats.prototype = Object.create(GameObject.prototype); +// +// CharacterStats.prototype.takeDamage = function() { +// return `${this.name} took damage.`; +// }; +class CharacterStats extends GameObject{ + constructor(characterStatsOptions) { + super(characterStatsOptions); + this.hp = characterStatsOptions.hp; + this.name = characterStatsOptions.name; + } + takeDamage(){ + return `${this.name} took damage.`; + } } -CharacterStats.prototype = Object.create(GameObject.prototype); - -CharacterStats.prototype.takeDamage = function() { - return `${this.name} took damage.`; -}; - -function Humanoid(humanoidOptions) { - CharacterStats.call(this, humanoidOptions); - this.faction = humanoidOptions.faction; - this.weapons = humanoidOptions.weapons; - this.language = humanoidOptions.language; +// function Humanoid(humanoidOptions) { +// CharacterStats.call(this, humanoidOptions); +// this.faction = humanoidOptions.faction; +// this.weapons = humanoidOptions.weapons; +// this.language = humanoidOptions.language; +// } +// +// Humanoid.prototype = Object.create(CharacterStats.prototype); +// +// Humanoid.prototype.greet = function() { +// return `${this.name} offers a greeting in ${this.language}.`; +// }; +class Humanoid extends CharacterStats{ + constructor(humanoidOptions) { + super(humanoidOptions); + this.faction = humanoidOptions.faction; + this.weapons = humanoidOptions.weapons; + this.language = humanoidOptions.language; + } + greet(){ + return `${this.name} offers a greeting in ${this.language}.`; + } } -Humanoid.prototype = Object.create(CharacterStats.prototype); - -Humanoid.prototype.greet = function() { - return `${this.name} offers a greeting in ${this.language}.`; -}; - const mage = new Humanoid({ createdAt: new Date(), dimensions: { From d6c2c2c7a15c952b9e6ab5d6ad102946d1d61c6d Mon Sep 17 00:00:00 2001 From: Mariana Cerda Date: Thu, 24 May 2018 17:34:36 -0500 Subject: [PATCH 2/2] Raymond Garcia; Javascript IV --- assignments/lambda-classes.js | 57 ++++++++++++++++++++++++++--------- 1 file changed, 43 insertions(+), 14 deletions(-) diff --git a/assignments/lambda-classes.js b/assignments/lambda-classes.js index ed2bbaf61..0559c1914 100644 --- a/assignments/lambda-classes.js +++ b/assignments/lambda-classes.js @@ -10,7 +10,6 @@ class Person { return `Hello my name is ${this.name}, I am from ${this.location}.` } } - class Instructor extends Person { constructor(instructorOptions) { super(instructorOptions); @@ -21,25 +20,42 @@ class Instructor extends Person { demo (subject){ return `Today we are learning about ${subject}.`; } - subject (student, subject){ + grade (student, subject){ return `${student.name} receives a perfect score on ${subject}`; } + teach(student){ + if (student.grade >= 70){ + return `${student.name}'s grade is ${student.grade} so ${student.name} is now a Lambda School graduate!` + } + else { + while (student.grade < 70){ + student.grade = Math.floor(Math.random() * 100) + 1; + if (student.grade >= 70){ + return `${student.name}'s grade is ${student.grade} so ${student.name} is now a Lambda School graduate!` + } + console.log(`${student.name}'s new grade is ${student.grade}`) + } + } + } } class Student extends Person { constructor(studentOptions) { super(studentOptions); this.previousBackground = studentOptions.previousBackground; this.className = studentOptions.className; - this.favSubjects = favSubjects.favSubjects; + this.favSubjects = studentOptions.favSubjects; + this.grade = Math.floor(Math.random() * 100) + 1; } listsSubjects(){ - return "listsSubjects"; + for (var i = 1; i < 4; i++){ + return(this.favSubjects[`subject${i}`]); + } } - PRAssignment(){ - return "PRAssignment"; + PRAssignment(subject){ + return `${this.name} has submitted a PR for ${subject}`; } - sprintChallenge(){ - return "sprintChallenge"; + sprintChallenge(subject){ + return `${this.name} has begun spring challenge on ${subject}`; } } class ProjectManager extends Instructor{ @@ -48,11 +64,11 @@ class ProjectManager extends Instructor{ this.gradClassName = projectManagerOptions.gradClassName; this.favInstructor = projectManagerOptions.favInstructor; } - standUp(){ - return "standUp"; + standUp(channel){ + return `${this.name} announces to ${channel}, @${channel} standy times!`; } - debugsCode(){ - return "debugsCode"; + debugsCode(student, subject){ + return `${this.name} debugs ${student.name}'s code on ${subject}'`; } } var personTest = new Person ({ @@ -77,16 +93,29 @@ var studentTest = new Student ({ gender: "Male", previousBackground: "College graduate", className: "CS11", - favSubjects: "Game hacking" + favSubjects: { + subject1: "c++", + subject2: "game hacking", + subject3: "logic" + } }); var projectManagerTest = new ProjectManager({ name: "Perry Ahern", age: "50", location: "New York", - gender: "Male" + gender: "Male", specialty: "React", favLanguage: "C++", catchPhrase: "Pair programming is fun!", gradClassName: "CS7", favInstructor: "Dianndra Ryan-Mas" }); +//function tests +console.log(personTest.speak()); +console.log(instructorTest.demo("c++")); +console.log(instructorTest.grade(studentTest,"c++")); +console.log(studentTest.listsSubjects()); +console.log(studentTest.PRAssignment("Perl")); +console.log(studentTest.sprintChallenge("Classes")); +console.log(projectManagerTest.standUp("Cs11-Perry")); +console.log(projectManagerTest.debugsCode(studentTest, "CSS"));