Please only do part b which is below part A. It is only creating a class for starship. I put part A down incase if it's confusing. In python. Part A: In this assignment, we’ll be creating several different classes to represent the crew of a spaceship as they encounter another hostile ship. We’ll start with a Crew class to represent a basic member of the spaceship crew - we’ll later use inheritance on this class to represent a variety of potential specializations that a crew member could have.   The Crew class should have the following methods to start: Constructor: The Crew class constructor should have the following signature:   __init__(self, name)   Where name (the name of the crew member) is a string. The constructor should create an instance variable to store the value of the argument (self.name), along with two more instance variables:    self.status, a string representing whether the crew member is currently Active or Injured.  This should be initialized to 'Active'. self.location, a string representing where the crew member is currently located on the spaceship.  This should be initialized to 'Sleep Pods'. __repr__(self) You must override the repr() method (similar to the str() method, except that it also changes what is output when you pass the object directly to the interpreter) so that it returns a string of the format below.    : , at   Be sure to match the spacing and format of the above string exactly or you will fail test cases and lose points (note that the angled brackets are not part of the string itself, but indicate where you should substitute in the actual title, name, status, and location of your the crew member). Note that changing __repr__ automatically changes the behavior of str() as well.  See the sample output below for an example. Examples: Copy the following if __name__ == "__main__" block into your hw12.py file, and comment out tests for parts of the class you haven’t implemented yet.  The lines that have output include the expected value next to them as a comment.   if __name__ == '__main__':     crew0 = Crew('Ava')     print(crew0.name) #Ava     print(crew0.status) #Active     print(crew0.location) #Sleep Pods     print(crew0) #Ava : Active, at Sleep Pods Problem B.  Starship Class(please do this part) Before we start looking at some of the more interesting methods for Crew and its subclasses, we need a class to represent the spaceship that the crew members are interacting with.  For now, we’ll just set up the constructor for the Starship class. Constructor: The Starship class constructor should have the following signature: __init__(self, name, crew_list) Where name (the name of the ship) is a string, and crew_list is a list of the Crew objects (or its subclasses) that make up the crew of the ship. The constructor should create instance variables to store the value of the arguments (self.name and self.crew_list respectively), along with one more instance variable:  self.damaged, a dictionary with string keys and boolean values representing whether each area of the ship is currently damaged.  This should be initialized to: {'Bridge':False, 'Medbay':False, 'Engine':False,  'Lasers':False, 'Sleep Pods':False}   Examples: Copy the following if __name__ == "__main__" block into your hw12.py file, and comment out tests for parts of the class you haven’t implemented yet.  The lines that have output include the expected value next to them as a comment: if __name__ == '__main__':     crew1 = Crew('Sakshi')     crew2 = Crew('Jina')     crew3 = Crew('Daniel')     space_boat = Starship('Ebon Hawk', [crew1, crew2, crew3])     print(space_boat.name) #Ebon Hawk     print(space_boat.crew_list) #[Sakshi : Active, at Sleep Pods, Jina : Active, at Sleep Pods, Daniel : Active, at Sleep Pods]     print(space_boat.damaged) #{'Bridge': False, 'Medbay': False, 'Engine': False, 'Lasers': False, 'Sleep Pods': False}

Microsoft Visual C#
7th Edition
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Joyce, Farrell.
Chapter10: Introduction To Inheritance
Section: Chapter Questions
Problem 2CP
icon
Related questions
Question
100%

Please only do part b which is below part A. It is only creating a class for starship. I put part A down incase if it's confusing. In python.

Part A: In this assignment, we’ll be creating several different classes to represent the crew of a spaceship as they encounter another hostile ship.

We’ll start with a Crew class to represent a basic member of the spaceship crew - we’ll later use inheritance on this class to represent a variety of potential specializations that a crew member could have.

 

The Crew class should have the following methods to start:



  • Constructor: The Crew class constructor should have the following signature:

 

__init__(self, name)

 

Where name (the name of the crew member) is a string. The constructor should create an instance variable to store the value of the argument (self.name), along with two more instance variables: 

 

  • self.status, a string representing whether the crew member is currently Active or Injured.  This should be initialized to 'Active'.
  • self.location, a string representing where the crew member is currently located on the spaceship.  This should be initialized to 'Sleep Pods'.





  • __repr__(self)

You must override the repr() method (similar to the str() method, except that it also changes what is output when you pass the object directly to the interpreter) so that it returns a string of the format below. 

 

<Name> : <Status>, at <Location>

 

Be sure to match the spacing and format of the above string exactly or you will fail test cases and lose points (note that the angled brackets are not part of the string itself, but indicate where you should substitute in the actual title, name, status, and location of your the crew member). Note that changing __repr__ automatically changes the behavior of str() as well.  See the sample output below for an example.




Examples:

Copy the following if __name__ == "__main__" block into your hw12.py file, and comment out tests for parts of the class you haven’t implemented yet.  The lines that have output include the expected value next to them as a comment.

 

if __name__ == '__main__':

    crew0 = Crew('Ava')

    print(crew0.name) #Ava

    print(crew0.status) #Active

    print(crew0.location) #Sleep Pods

    print(crew0) #Ava : Active, at Sleep Pods

Problem B.  Starship Class(please do this part)

Before we start looking at some of the more interesting methods for Crew and its subclasses, we need a class to represent the spaceship that the crew members are interacting with.  For now, we’ll just set up the constructor for the Starship class.

  • Constructor: The Starship class constructor should have the following signature:

__init__(self, name, crew_list)

Where name (the name of the ship) is a string, and crew_list is a list of the Crew objects (or its subclasses) that make up the crew of the ship. The constructor should create instance variables to store the value of the arguments (self.name and self.crew_list respectively), along with one more instance variable: 

  • self.damaged, a dictionary with string keys and boolean values representing whether each area of the ship is currently damaged.  This should be initialized to:

{'Bridge':False, 'Medbay':False, 'Engine':False,

 'Lasers':False, 'Sleep Pods':False}

 

Examples:

Copy the following if __name__ == "__main__" block into your hw12.py file, and comment out tests for parts of the class you haven’t implemented yet.  The lines that have output include the expected value next to them as a comment:

if __name__ == '__main__':

    crew1 = Crew('Sakshi')

    crew2 = Crew('Jina')

    crew3 = Crew('Daniel')

    space_boat = Starship('Ebon Hawk', [crew1, crew2, crew3])

    print(space_boat.name) #Ebon Hawk

    print(space_boat.crew_list) #[Sakshi : Active, at Sleep Pods, Jina : Active, at Sleep Pods, Daniel : Active, at Sleep Pods]

    print(space_boat.damaged) #{'Bridge': False, 'Medbay': False, 'Engine': False, 'Lasers': False, 'Sleep Pods': False}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning