From 8ef6f6d0ab828726fb81a5b66666ee6bd7db64af Mon Sep 17 00:00:00 2001 From: aguevara1 Date: Tue, 14 Aug 2018 22:53:50 -0500 Subject: [PATCH 1/3] more edits to file --- 05week/spaceTravelToMars.js | 56 +++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 8 deletions(-) diff --git a/05week/spaceTravelToMars.js b/05week/spaceTravelToMars.js index ce258a382..cc1e8bd63 100644 --- a/05week/spaceTravelToMars.js +++ b/05week/spaceTravelToMars.js @@ -9,12 +9,52 @@ let jobTypes = { programmer: 'Any Ship!' }; -// Your code here +// + + + +//create a class called crewMember with properties name, job specialSkill,ship +//set ship to nul +class CrewMember { + constructor(name, job, specialSkill, ship) { + this.name = name; + this.job = job; + this.specialSkill = specialSkill; + this.ship = null; + } + enterShip(object){ + this.ship = object; + mav.crew = crewMember1; + } +} + +//create method enterShip in crewMember class that takes in Ship instance + +//create ship class with name,type, ability, crew[] +//ship has a missionStatement method +//CrewMember has a method called enterShip + + +class Ship { + constructor(name, job, ability) { + this.name = name; + this.job = job; + this.ability = ability; + this.crew = []; + } + missionStatement() { + + } +} + +let mav = new Ship('Mars Acent Vehicle', 'MAV', 'Ascend into low orbit'); +let crewMember1 = new CrewMember('Rick Martinez', 'pilot', 'chemistry'); +enterShip(mav); //tests -if (typeof describe === 'function'){ - describe('CrewMember', function(){ - it('should have a name, a job, a specialSkill and ship upon instantiation', function(){ +if (typeof describe === 'function') { + describe('CrewMember', function() { + it('should have a name, a job, a specialSkill and ship upon instantiation', function() { var crewMember1 = new CrewMember('Rick Martinez', 'pilot', 'chemistry'); assert.equal(crewMember1.name, 'Rick Martinez'); assert.equal(crewMember1.job, 'pilot'); @@ -22,7 +62,7 @@ if (typeof describe === 'function'){ assert.equal(crewMember1.ship, null); }); - it('can enter a ship', function(){ + it('can enter a ship', function() { let mav = new Ship('Mars Ascent Vehicle', 'MAV', 'Ascend into low orbit'); let crewMember1 = new CrewMember('Rick Martinez', 'pilot', 'chemistry'); crewMember1.enterShip(mav); @@ -32,8 +72,8 @@ if (typeof describe === 'function'){ }); }); - describe('Ship', function(){ - it('should have a name, a type, an ability and an empty crew upon instantiation', function(){ + describe('Ship', function() { + it('should have a name, a type, an ability and an empty crew upon instantiation', function() { let mav = new Ship('Mars Ascent Vehicle', 'MAV', 'Ascend into low orbit'); assert.equal(mav.name, 'Mars Ascent Vehicle'); assert.equal(mav.type, 'MAV'); @@ -41,7 +81,7 @@ if (typeof describe === 'function'){ assert.equal(mav.crew.length, 0); }); - it('can return a mission statement correctly', function(){ + it('can return a mission statement correctly', function() { let mav = new Ship('Mars Ascent Vehicle', 'MAV', 'Ascend into low orbit'); let crewMember1 = new CrewMember('Rick Martinez', 'pilot', 'chemistry'); let hermes = new Ship('Hermes', 'Main Ship', 'Interplanetary Space Travel'); From b26cf3430b049e03f79df8bc92ae14140cdb2a1e Mon Sep 17 00:00:00 2001 From: aguevara1 Date: Wed, 15 Aug 2018 22:24:51 -0500 Subject: [PATCH 2/3] still editing file --- 05week/spaceTravelToMars.js | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/05week/spaceTravelToMars.js b/05week/spaceTravelToMars.js index cc1e8bd63..3b4578a67 100644 --- a/05week/spaceTravelToMars.js +++ b/05week/spaceTravelToMars.js @@ -9,11 +9,7 @@ let jobTypes = { programmer: 'Any Ship!' }; -// - - - -//create a class called crewMember with properties name, job specialSkill,ship +//create a class called crewMember with properties name, job, specialSkill,ship //set ship to nul class CrewMember { constructor(name, job, specialSkill, ship) { @@ -22,9 +18,13 @@ class CrewMember { this.specialSkill = specialSkill; this.ship = null; } - enterShip(object){ - this.ship = object; - mav.crew = crewMember1; + enterShip(shipInstance) { + this.ship = shipInstance; + shipInstance.crew.push(this); + + // console.log(this.ship); + //console.log(shipInstance.crew.length); + //console.log(shipInstance.crew[0]); } } @@ -36,20 +36,34 @@ class CrewMember { class Ship { - constructor(name, job, ability) { + constructor(name, type, ability, crew) { this.name = name; - this.job = job; + this.type = type; this.ability = ability; this.crew = []; } missionStatement() { + // return result=this.crew.length == 0 ? "Can't perform a mission yet." : this.ability; + + //console.log(this.crew); + if (this.crew.length === 0) { + return "Can't perform a mission yet."; + } else{ + return this.ability; + } + } } let mav = new Ship('Mars Acent Vehicle', 'MAV', 'Ascend into low orbit'); +let hermes = new Ship('Hermes', 'Main Ship', 'Interplanetary Space Travel'); let crewMember1 = new CrewMember('Rick Martinez', 'pilot', 'chemistry'); -enterShip(mav); +let crewMember2 = new CrewMember('Commander Lewis', 'commander', 'geology'); +crewMember1.enterShip(mav); +crewMember2.enterShip(hermes); +mav.missionStatement(); +hermes.missionStatement() //tests if (typeof describe === 'function') { From 92a55473b65f3721b9cb3a51e48587ace1b1160f Mon Sep 17 00:00:00 2001 From: aguevara1 Date: Sat, 18 Aug 2018 20:51:40 -0500 Subject: [PATCH 3/3] the final edits and comments --- 05week/spaceTravelToMars.js | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/05week/spaceTravelToMars.js b/05week/spaceTravelToMars.js index 3b4578a67..cb2a4e470 100644 --- a/05week/spaceTravelToMars.js +++ b/05week/spaceTravelToMars.js @@ -2,6 +2,7 @@ let assert = require('assert'); +/* global jobTypes object with different jobs */ let jobTypes = { pilot: 'MAV', mechanic: 'Repair Ship', @@ -9,8 +10,10 @@ let jobTypes = { programmer: 'Any Ship!' }; -//create a class called crewMember with properties name, job, specialSkill,ship -//set ship to nul +/*create a class called crewMember with properties name, job, specialSkill,ship +set ship to null. CrewMember has a method called enterShip that has an instance +of the Ship class as an argument. It also assigns shipInstance to crewmember's +ship property and crewMember to crew of the ship */ class CrewMember { constructor(name, job, specialSkill, ship) { this.name = name; @@ -21,20 +24,11 @@ class CrewMember { enterShip(shipInstance) { this.ship = shipInstance; shipInstance.crew.push(this); - - // console.log(this.ship); - //console.log(shipInstance.crew.length); - //console.log(shipInstance.crew[0]); } } -//create method enterShip in crewMember class that takes in Ship instance - -//create ship class with name,type, ability, crew[] -//ship has a missionStatement method -//CrewMember has a method called enterShip - - +/* Ship class with name,type, ability, crew[]. Has missionStatement() which returns +Ship ability when it has a crew greater than 0. */ class Ship { constructor(name, type, ability, crew) { this.name = name; @@ -43,25 +37,22 @@ class Ship { this.crew = []; } missionStatement() { - - // return result=this.crew.length == 0 ? "Can't perform a mission yet." : this.ability; - - //console.log(this.crew); - if (this.crew.length === 0) { - return "Can't perform a mission yet."; - } else{ - return this.ability; - } - + return this.crew.length == 0 ? "Can't perform a mission yet." : this.ability; } } +/* Creating instances of Ship and CrewMember classes. */ let mav = new Ship('Mars Acent Vehicle', 'MAV', 'Ascend into low orbit'); let hermes = new Ship('Hermes', 'Main Ship', 'Interplanetary Space Travel'); let crewMember1 = new CrewMember('Rick Martinez', 'pilot', 'chemistry'); let crewMember2 = new CrewMember('Commander Lewis', 'commander', 'geology'); +/* instances of CrewMember class calling their enterShip method and passing an +instance of the Ship class */ crewMember1.enterShip(mav); crewMember2.enterShip(hermes); +/* Ship instances calling their missionStatement() method that returns their +ship ability when they have a crew or Can't perform mission when crew[] length +is 0. */ mav.missionStatement(); hermes.missionStatement()