Tile.java 939 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package eu.tankernn.mines;
  2. public class Tile {
  3. public final boolean isMine;
  4. private TileState state = TileState.HIDDEN;
  5. private int minesAround;
  6. public final Pos pos;
  7. public Tile(boolean mine, Pos pos) {
  8. this.isMine = mine;
  9. this.pos = pos;
  10. }
  11. public void setMinesAround(int minesAround) {
  12. this.minesAround = minesAround;
  13. this.state = TileState.CHECKED;
  14. }
  15. public int getMinesAround() {
  16. return minesAround;
  17. }
  18. public TileState getState() {
  19. return state;
  20. }
  21. public void setState(TileState state) {
  22. this.state = state;
  23. }
  24. public void toggleFlag() {
  25. if (this.state.equals(TileState.HIDDEN))
  26. this.setState(TileState.FLAGGED);
  27. else if (this.state.equals(TileState.FLAGGED))
  28. this.setState(TileState.HIDDEN);
  29. }
  30. public enum TileState {
  31. HIDDEN('*'), CHECKED(' '), EXPLODED('X'), FLAGGED('P');
  32. public final char appearance;
  33. private TileState(char value) {
  34. appearance = value;
  35. }
  36. }
  37. }