Difference between revisions of "Weapon class assignment"

From WLCS
(Methods)
Line 35: Line 35:
 
** '''setDamageModifier(int newDamageModifier)''': sets the damageModifier attribute to the newDamageModifier parameter
 
** '''setDamageModifier(int newDamageModifier)''': sets the damageModifier attribute to the newDamageModifier parameter
  
=== Other Method(s): ===
+
=== Other Methods: ===
 
* Add the following method to your Weapon class:
 
* Add the following method to your Weapon class:
  

Revision as of 09:57, 7 May 2010

Objective

  • You will learn to create a basic class that encapsulates several attributes and methods

Purpose

  • The purpose of the Weapon class is to encapsulate the necessary attributes and methods that represent a weapon in the game

Attributes

The Weapon class should use instance variables to represent the following attributes. All attributes should be declared private:

  • String name: the name of the weapon (e.g., "sword" or "magic wand").
  • int damageModifier: an integer added to the damage inflicted when the creature scores a hit.
  • String hitVerb: a verb to describe the action of the weapon when it scores a hit (e.g., "slashes" or "zaps").
  • String missVerb: a verb to describe the action of the weapon when it misses (e.g., "whiffs" or "misses").

Methods

The Weapon class should have the following methods:

Constructors:

  • Weapon(): the default constructor should initialize the damage modifier to 0, the name to "bare hands", the hit verb to "strikes" and the miss verb to "misses".
  • Weapon(int modifier, String name, String hit, String miss): this specific constructor should initialize all the attributes to the specified values.

Accessors/Mutators:

  • All the attributes are declared private, so you should create accessor and mutator methods for each attribute. The name of the accessor/mutator should follow the standard Java naming conventions
    • getName(): returns the name attribute
    • setName(String newName): sets the name attribute to the newName parameter
    • getHitVerb(): returns the hit verb
    • setHitVerb(String newHitVerb): sets the hitVerb attribute to the newHitVerb parameter
    • getMissVerb(): returns the miss verb
    • setMissVerb(String newMissVerb): sets the missVerb attribute to the newMissVerb parameter
    • getDamageModifier(): returns the damageModifier
    • setDamageModifier(int newDamageModifier): sets the damageModifier attribute to the newDamageModifier parameter

Other Methods:

  • Add the following method to your Weapon class:
public String getFullName() 
{
	String modifier = "";
	if ( damageModifier < 0 )
		modifier = "cursed";
	else if ( damageModifier < 3 )
		modifier = "normal";
	else if ( damageModifier < 6 )
		modifier = "shiny";
	else if ( damageModifier < 9 )
		modifier = "high quality";
	else if ( damageModifier < 12 )
		modifier = "elite";
	else
		modifier = "magical";
	return modifier + " " + getName();
}