Advertisement
Guest User

Untitled

a guest
May 11th, 2016
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. $(document).ready(function() {
  2.  
  3. var player1Name = "";
  4. var player2Name = "";
  5. var turn = "";
  6. var grid = [[0,0,0],[0,0,0],[0,0,0]];
  7. var hasWinner = 0;
  8. var moveCount = 0;
  9.  
  10. $("#game_board").addClass("ui-widget")
  11. .addClass("ui-corner-all");
  12.  
  13. $(":header").addClass("ui-widget-header")
  14. .addClass("ui-corner-all");
  15.  
  16. $("#noName").dialog();
  17.  
  18. $("#noName").dialog("option", "minHeight", 200);
  19. $("#noName").dialog("option", "minWidth", 300);
  20. $("#noName").dialog({
  21. buttons: [{text: "Continue", icons: {primary: "ui-icon-check"},
  22. click: function() {
  23. $(this).dialog( "close" ); } } ] });
  24. $("#noName").dialog("close");
  25.  
  26. $("#positionFilled").dialog();
  27.  
  28. $("#positionFilled").dialog("option", "minHeight", 200);
  29. $("#positionFilled").dialog("option", "minWidth", 300);
  30. $("#positionFilled").dialog({
  31. buttons: [{text: "Continue", icons: {primary: "ui-icon-check"},
  32. click: function() {
  33. $(this).dialog( "close" ); } } ] });
  34. $("#positionFilled").dialog("close");
  35.  
  36. $("#playAgain").dialog();
  37.  
  38. $("#playAgain").dialog("option", "minHeight", 200);
  39. $("#playAgain").dialog("option", "minWidth", 300);
  40. $("#playAgain").dialog({
  41. buttons: [{text: "Continue", icons: {primary: "ui-icon-check"},
  42. click: function() {
  43. $(this).dialog( "close" ); } } ] });
  44. $("#playAgain").dialog("close");
  45.  
  46. function boardMsg(x) {
  47. return $("#message_area").text(x);
  48. }
  49.  
  50. function setTurn() {
  51. var r = Math.floor((Math.random() * 2) + 1);
  52. hasWinner=0;
  53. if(r==1) {
  54. turn = player1Name;
  55. boardMsg(player1Name + "'s turn.");
  56. } else {
  57. turn = player2Name;
  58. boardMsg(player2Name + "'s turn.");
  59. }
  60. }
  61.  
  62. function init() {
  63. turn = "";
  64. grid = [[0,0,0],[0,0,0],[0,0,0]];
  65. boardMsg("");
  66. $(".col").map(function() {
  67. $(this).text("");
  68. }).get();
  69. hasWinner = 0;
  70. moveCount = 0;
  71. }
  72.  
  73. $("#playButton").click(function () {
  74. if(hasWinner == 1) {
  75. init();
  76. }
  77. player1Name = $("#player-1-inp").val();
  78. player2Name = $("#player-2-inp").val();
  79. if(player1Name == "" || player2Name == "") {
  80. $("#noName").dialog("open");
  81. return;
  82. }
  83. setTurn();
  84. });
  85.  
  86. $(".col").click(function () {
  87. player1Name = $("#player-1-inp").val();
  88. player2Name = $("#player-2-inp").val();
  89. if(player1Name == "" || player2Name == "") {
  90. $("#noName").dialog("open");
  91. return;
  92. }
  93. var row = $(this).parent().index();
  94. var col = $(this).index();
  95. if(grid[row][col] !== 0) {
  96. $("#positionFilled").dialog("open");
  97. return;
  98. }
  99. if(hasWinner==1) {
  100. $("#playAgain").dialog("open");
  101. return;
  102. }
  103. if(turn == player1Name){
  104. moveCount++;
  105. $(this).text("O");
  106. grid[row][col] = 1;
  107. var ifWon = winnerCheck(1,player1Name);
  108. if(!ifWon) {
  109. if(moveCount>=9){
  110. boardMsg("Match Drawn!");
  111. moveCount=0;
  112. hasWinner=1;
  113. $("#playAgain").dialog("open");
  114. return;
  115. } else {
  116. turn = player2Name;
  117. boardMsg(player2Name + "'s turn.");
  118. }
  119. return;
  120. } else {
  121. return;
  122. }
  123. }
  124. else if (turn == player2Name) {
  125. moveCount++;
  126. $(this).text("X");
  127. grid[row][col] = 2;
  128. var ifWon = winnerCheck(2, player2Name);
  129. if(!ifWon) {
  130. if(moveCount>=9){
  131. boardMsg("Match Drawn!");
  132. moveCount = 0 ;
  133. hasWinner = 1;
  134. $("#playAgain").dialog("open");
  135. return;
  136. } else {
  137. turn = player1Name;
  138. boardMsg(player1Name+"'s turn.");
  139. }
  140. return;
  141. } else {
  142. return;
  143. }
  144. }
  145. });
  146.  
  147. function winnerCheck(n,playerName){
  148. if (
  149. (grid[0][0]==n && grid[0][1]==n && grid[0][2]==n) ||
  150. (grid[1][0]==n && grid[1][1]==n && grid[1][2]==n) ||
  151. (grid[2][0]==n && grid[2][1]==n && grid[2][2]==n) ||
  152. (grid[0][0]==n && grid[1][0]==n && grid[2][0]==n) ||
  153. (grid[0][1]==n && grid[1][1]==n && grid[2][1]==n) ||
  154. (grid[0][2]==n && grid[1][2]==n && grid[2][2]==n) ||
  155. (grid[0][0]==n && grid[1][1]==n && grid[2][2]==n)||
  156. (grid[0][2]==n && grid[1][1]==n && grid[2][0]==n)
  157. )
  158. {
  159. boardMsg(playerName+" has won; congratulations!");
  160. hasWinner = 1;
  161. moveCount=0;
  162. $("#playAgain").dialog("open");
  163. return true;
  164. }
  165. return false;
  166. }
  167. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement