Guest User

Untitled

a guest
Jun 21st, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. package projekt;
  2.  
  3. /**
  4. * State
  5. * Use: Board b = new Board(); b.change(); b.change();
  6. * @author toor
  7. */
  8. public class Board {
  9.  
  10. private BoardState current;
  11.  
  12. public Board() {
  13. current = new FirstPlayer();
  14. }
  15. // Exporting non-public type through public API
  16. public void setBoardState(BoardState s) {
  17. current = s;
  18. }
  19.  
  20. public void change() {
  21. current.change(this);
  22. }
  23. }
  24.  
  25. interface BoardState {
  26.  
  27. public void change(Board board);// {
  28. //board.setBoardState(new FirstPlayer());
  29. // }
  30. }
  31.  
  32. class FirstPlayer implements BoardState {
  33.  
  34. @Override
  35. public void change(Board board) {
  36. board.setBoardState(new SecondPlayer());
  37. }
  38. }
  39.  
  40. class SecondPlayer implements BoardState {
  41.  
  42. @Override
  43. public void change(Board board) {
  44. board.setBoardState(new FirstPlayer());
  45. }
  46. }
Add Comment
Please, Sign In to add comment