You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.1 KiB
68 lines
1.1 KiB
package solitaer;
|
|
|
|
import java.util.Objects;
|
|
|
|
import javax.swing.JPanel;
|
|
|
|
enum Symbol {
|
|
Herz, Karo, Kreuz, Pik
|
|
}
|
|
|
|
public class Card extends JPanel {
|
|
|
|
/**
|
|
*
|
|
*/
|
|
private static final long serialVersionUID = 1L;
|
|
private int nr;
|
|
private Symbol symbol;
|
|
|
|
private boolean faceUp;
|
|
|
|
public Card(int nr, Symbol symbol, boolean faceUp) {
|
|
this.nr = nr;
|
|
this.symbol = symbol;
|
|
this.faceUp = faceUp;
|
|
}
|
|
|
|
public boolean isFaceUp() {
|
|
return faceUp;
|
|
}
|
|
|
|
public void setFaceUp(boolean faceUp) {
|
|
this.faceUp = faceUp;
|
|
}
|
|
|
|
public int getNr() {
|
|
return nr;
|
|
}
|
|
|
|
public Symbol getSymbol() {
|
|
return symbol;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "Card [nr=" + nr + ", symbol=" + symbol + ", faceUp=" + faceUp + "]";
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return Objects.hash(faceUp, nr, symbol);
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object obj) {
|
|
if (this == obj)
|
|
return true;
|
|
if (obj == null)
|
|
return false;
|
|
if (getClass() != obj.getClass())
|
|
return false;
|
|
Card other = (Card) obj;
|
|
return faceUp == other.faceUp && nr == other.nr && symbol == other.symbol;
|
|
}
|
|
|
|
|
|
|
|
}
|