public interface Chessman {
/*
* Liefert ein einzelnes Zeichen, um die figur Textuelldarzustellen.
*
*/
public char toChar();
/*
*überprüft ob zwei figuren gleiche Schachfiguren also der selbe Object sind
* @return true dann wennes sich um dieselbe Figur / Object handelt
*
*/
public Position getStartPosition();
public Position getPosition();
public void draw (Position p);
public void hit (Position p);
public List <Position> getValidDraws();
public List <Position> getValidHits();
}
----------------------------------------------------------------------------------------
public abstract class AbstractChessman implements Chessman {
/*
* Zeichen zur Darstellung der figur
*/
private char description;
private boolean isBlack;
/**Konstruktor
*
* @param description figur als Zeichen
* @param isBlack true genau dann wenn die Figur schwarz ist
*/
public AbstractChessman(char description, boolean isBlack) {
this.description = description;
this.isBlack = isBlack;
}
/*
* boolesche wert besagt ob es sich um eine schwarze figur
* handelt bzw. um die figur auf weiss oder schwarz zu setzen
* @param true
* @param isBlack
*/
public boolean isIsBlack() {
return isBlack;
}
public void setIsBlack(boolean isBlack) {
this.isBlack = isBlack;
}
/*
* Im Falle weiss liefern wir den Inhalt der Variablen
* Im falle Schwarz wandeln wir den übergebenen Buchstaben von Gross
nach Kleinschreibung
* return @char einzelnes Zeichen
* @param toChar wenn schwarz A -> a
*/
public char toChar() {
return (char) (description + ((isBlack) ? ('a' - 'A') : 0));
}
public void hit(Position p) {
}
}
--------------------------------------------------------------
public class ChessPosition implements Position {
final static public int BLANK = 0;
final static public int HUMAN = 1;
final static public int PROGRAM = -1;
final static public int PAWN = 1;
final static public int KNIGHT = 2;
final static public int BISHOP = 3;
final static public int ROOK = 4;
final static public int QUEEN = 5;
final static public int KING = 6;
int [] board = new int[120];
public String toString() {
StringBuffer sb = new StringBuffer("[");
for (int i=22; i<100; i++) {
sb.append(""+board[i]+",");
}
sb.append("]");
return sb.toString();
}
}
|