148 lines
2.5 KiB
Java
148 lines
2.5 KiB
Java
package break_out.model;
|
|
|
|
import java.awt.*;
|
|
|
|
/**
|
|
* This class contains information about the stones characteristics and behaviour
|
|
*
|
|
* @author Gruppe 175: Moritz Henseleit, Rubn Meyer
|
|
*/
|
|
public class Stone implements IStone {
|
|
|
|
/**
|
|
* The stones type
|
|
*/
|
|
private int type;
|
|
|
|
/**
|
|
* The stones value according to the stones type to calculate players score
|
|
*/
|
|
private int value;
|
|
|
|
/**
|
|
* The stones color according to the stones type
|
|
*/
|
|
private Color color;
|
|
|
|
/**
|
|
* The stones position on the playground
|
|
*/
|
|
private Position position;
|
|
|
|
/**
|
|
* The constructor of a stone
|
|
*
|
|
* @param type stones initial type
|
|
* @param position stones initial position
|
|
*/
|
|
public Stone(int type, Position position) {
|
|
// sets type; and value and color according to stone type
|
|
setType(type);
|
|
// sets position
|
|
setPosition(position);
|
|
}
|
|
|
|
/**
|
|
* The getter for the stones value to calculate players score
|
|
*
|
|
* @return stones value
|
|
*/
|
|
public int getValue() {
|
|
return this.value;
|
|
}
|
|
|
|
/**
|
|
* The setter for the stones value
|
|
*
|
|
* @param value The stones new value
|
|
*/
|
|
public void setValue(int value) {
|
|
this.value = value;
|
|
}
|
|
|
|
/**
|
|
* The getter for the stones color
|
|
* Can be null because a stone could not exist
|
|
*
|
|
* @return The stones color
|
|
*/
|
|
public Color getColor() {
|
|
return this.color;
|
|
}
|
|
|
|
/**
|
|
* The setter for the stones color
|
|
*
|
|
* @param color The stones new color
|
|
*/
|
|
public void setColor(Color color) {
|
|
this.color = color;
|
|
}
|
|
|
|
/**
|
|
* The getter for the stones position
|
|
*
|
|
* @return The stones position
|
|
*/
|
|
public Position getPosition() {
|
|
return this.position;
|
|
}
|
|
|
|
/**
|
|
* The setter for the stones position
|
|
*
|
|
* @param position The stones new position
|
|
*/
|
|
public void setPosition(Position position) {
|
|
this.position = position;
|
|
}
|
|
|
|
/**
|
|
* The getter for the stones type
|
|
*
|
|
* @return The stones type
|
|
*/
|
|
public int getType() {
|
|
return this.type;
|
|
}
|
|
|
|
/**
|
|
* The setter for the stones type
|
|
*
|
|
* @param type The stones new type
|
|
*/
|
|
public void setType(int type) {
|
|
|
|
// set the type; no verification needed;
|
|
this.type = type;
|
|
|
|
switch(type) {
|
|
// multi-case, hacky, but dont care
|
|
case 0:
|
|
// nah, isn't a stone
|
|
default:
|
|
// default case, not in range
|
|
// setting to not a stone
|
|
setColor(null);
|
|
break;
|
|
case 1:
|
|
// stone type one
|
|
setColor(Color.CYAN);
|
|
setValue(1);
|
|
break;
|
|
case 2:
|
|
// stone type two
|
|
setColor(Color.WHITE);
|
|
setValue(2);
|
|
break;
|
|
case 3:
|
|
// stone type three
|
|
setColor(Color.BLUE);
|
|
setValue(3);
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
}
|