package edu.columbia.cs.cs1007.comics;
/**
* An implementation of superheroes who possess magical powers.
* @author Julia Stoyanovich (jds2109@columbia.edu)
* COMS 1007, Summer 2009
*
*/
public class MagicalSuperHero extends SuperHero {
/**
* Constructor.
* @param name
*/
public MagicalSuperHero(String name) {
super(name, "Black Magic");
}
/**
* Implementation of the abstract method inherited from the superclass.
* @param villain
* @return dialogue
*/
public String killVillain(Villain villain) {
String dialogue = villain.speakUp() + "\n" + this.speakUp();
dialogue += "\n" + turnIntoDust(villain);
return dialogue;
}
/**
* A private method that implements the method of killing the villain by using magic.
* @param villain
* @return dialogue
*/
private String turnIntoDust(Villain villain) {
String dialogue = getName() + " : Abrakadabra!";
dialogue += "\n" + villain.die();
return dialogue;
}
}
|