Advertisement
Guest User

Untitled

a guest
Apr 27th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Observable;
  3.  
  4.  
  5. public class Model extends Observable {
  6.  
  7. private boolean spelare, vinst, oavgjort, startaOmSpel;
  8. private ArrayList<String> knappar;
  9. private String vinstText;
  10. private ArrayList<Integer> trycktaKnappar;
  11.  
  12. public Model (){
  13. spelare = true;
  14. vinst = false;
  15. oavgjort = false;
  16. startaOmSpel = false;
  17. knappar = new ArrayList<String>();
  18. trycktaKnappar = new ArrayList<Integer>();
  19. setArrayList();
  20. vinstText = "Vann";
  21. }
  22.  
  23. public void setArrayList(){
  24. for(int i = 0; i<9; i++){
  25. knappar.add("");
  26. }
  27. }
  28.  
  29. public ArrayList<String> getLista(){
  30. return knappar;
  31. }
  32. public boolean getSpelare(){
  33. return spelare;
  34. }
  35. public String getVinstText(){
  36. return vinstText;
  37. }
  38. public ArrayList<Integer> getTrycktaKnappar(){
  39. return trycktaKnappar;
  40. }
  41. public boolean getVinst(){
  42. return vinst;
  43. }
  44. public boolean getOavgjort(){
  45. return oavgjort;
  46. }
  47. public boolean getStartaOmSpel(){
  48. return startaOmSpel;
  49. }
  50.  
  51.  
  52. public void setButton(int plats){
  53. if(spelare == true){
  54. knappar.set(plats, "X");
  55. spelare = false;
  56. }
  57. else{
  58. knappar.set(plats, "O");
  59. spelare = true;
  60. }
  61. trycktaKnappar.add(plats);
  62.  
  63. checkGame();
  64. checkOavgjort();
  65. setChanged();
  66. notifyObservers();
  67. }
  68.  
  69.  
  70.  
  71. public void startaOmSpelet(){
  72. vinst = false;
  73. oavgjort = false;
  74. for(int i = 0; i<9; i++){
  75. knappar.set(i, "");
  76. }
  77. for(int i = 0; i<trycktaKnappar.size(); i++){
  78. trycktaKnappar.clear();
  79. }
  80. startaOmSpel = true;
  81. setChanged();
  82. notifyObservers();
  83. startaOmSpel = false;
  84. }
  85.  
  86.  
  87. public void checkGame(){
  88.  
  89. vinst = false;
  90.  
  91. //Kontrollerar om x-vunnit
  92. if(knappar.get(0) == knappar.get(1) && knappar.get(1) == knappar.get(2) && knappar.get(2) == "X") {
  93. vinst = true;
  94. }
  95. if(knappar.get(3) == knappar.get(4) && knappar.get(4) == knappar.get(5) && knappar.get(5) == "X") {
  96. vinst = true;
  97. }
  98. if(knappar.get(6) == knappar.get(7) && knappar.get(7) == knappar.get(8) && knappar.get(8) == "X") {
  99. vinst = true;
  100. }
  101. if(knappar.get(0) == knappar.get(3) && knappar.get(3) == knappar.get(6) && knappar.get(6) == "X") {
  102. vinst = true;
  103. }
  104. if(knappar.get(1) == knappar.get(4) && knappar.get(4) == knappar.get(7) && knappar.get(7) == "X") {
  105. vinst = true;
  106. }
  107. if(knappar.get(2) == knappar.get(5) && knappar.get(5) == knappar.get(8) && knappar.get(8) == "X") {
  108. vinst = true;
  109. }
  110. if(knappar.get(6) == knappar.get(4) && knappar.get(4) == knappar.get(2) && knappar.get(2) == "X") {
  111. vinst = true;
  112. }
  113. if(knappar.get(0) == knappar.get(4) && knappar.get(4) == knappar.get(8) && knappar.get(8) == "X") {
  114. vinst = true;
  115. }
  116.  
  117. //kontrollerar om O vunnit
  118. if(knappar.get(0) == knappar.get(1) && knappar.get(1) == knappar.get(2) && knappar.get(2) == "O") {
  119. vinst = true;
  120. }
  121. if(knappar.get(3) == knappar.get(4) && knappar.get(4) == knappar.get(5) && knappar.get(5) == "O") {
  122. vinst = true;
  123. }
  124. if(knappar.get(6) == knappar.get(7) && knappar.get(7) == knappar.get(8) && knappar.get(8) == "O") {
  125. vinst = true;
  126. }
  127. if(knappar.get(0) == knappar.get(3) && knappar.get(3) == knappar.get(6) && knappar.get(6) == "O") {
  128. vinst = true;
  129. }
  130. if(knappar.get(1) == knappar.get(4) && knappar.get(4) == knappar.get(7) && knappar.get(7) == "O") {
  131. vinst = true;
  132. }
  133. if(knappar.get(2) == knappar.get(5) && knappar.get(5) == knappar.get(8) && knappar.get(8) == "O") {
  134. vinst = true;
  135. }
  136. if(knappar.get(6) == knappar.get(4) && knappar.get(4) == knappar.get(2) && knappar.get(2) == "O") {
  137. vinst = true;
  138. }
  139. if(knappar.get(0) == knappar.get(4) && knappar.get(4) == knappar.get(8) && knappar.get(8) == "O") {
  140. vinst = true;
  141. }
  142.  
  143. if(vinst == true){
  144. //notifyObservers();
  145. for(int i = 0; i<9; i++){
  146. knappar.set(i, "");
  147. }
  148. for(int i = 0; i<trycktaKnappar.size(); i++){
  149. trycktaKnappar.clear();
  150. }
  151.  
  152. }
  153. }
  154.  
  155. public void checkOavgjort(){
  156. oavgjort = false;
  157. int count = 0;
  158.  
  159. for(int i =0; i<9;i++){
  160. if(knappar.get(i).isEmpty()){
  161. count = count + 1;
  162. }
  163. }
  164. if(count == 0){
  165. oavgjort = true;
  166. }
  167.  
  168. if(oavgjort == true){
  169. //notifyObservers();
  170. for(int i = 0; i<9; i++){
  171. knappar.set(i, "");
  172. }
  173. for(int i = 0; i<trycktaKnappar.size(); i++){
  174. trycktaKnappar.clear();
  175. }
  176.  
  177. }
  178.  
  179. }
  180.  
  181. public static void main(String[] args) {
  182. // TODO Auto-generated method stub
  183. new View();
  184.  
  185. }
  186.  
  187.  
  188.  
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement