Advertisement
Guest User

igraAI() [ funkcija ]

a guest
Oct 18th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.81 KB | None | 0 0
  1. function igraAI(){
  2.  
  3.  
  4. function isMovesLeft($board)
  5. {
  6. for (let i = 0; i<6; i++)
  7. for (let j = 0; j<6; j++)
  8. if ( $(`.col[data-row='${i}'][data-col='${j}']`).hasClass("empty") ){
  9. return true;
  10. }
  11. return false;
  12. }
  13.  
  14. function evaluate($board){
  15.  
  16. // Checking for Rows or RED or BLACK VICTORY.
  17. //CRVENO IDE U PLUS
  18. //CRNO IDE U MINUS
  19. // var className = $(`.col[data-row='${1}'][data-col='${1}']`).attr('class');
  20. // console.log(className); TAKO VRATI SAMO KLASU KOJU SVE IMA
  21. for(let row = 0; row<6; row++){
  22. //situacija npr : [r r r r _ _]
  23. if( $(`.col[data-row='${row}'][data-col='${0}']`).attr('class') == $(`.col[data-row='${row}'][data-col='${1}']`).attr('class')
  24. && $(`.col[data-row='${row}'][data-col='${1}']`).attr('class') == $(`.col[data-row='${row}'][data-col='${2}']`).attr('class')
  25. && $(`.col[data-row='${row}'][data-col='${2}']`).attr('class') == $(`.col[data-row='${row}'][data-col='${3}']`).attr('class')
  26. )
  27. {
  28. if($(`.col[data-row='${row}'][data-col='${0}']`).hasClass("red")){
  29. return +10;
  30. } else if($(`.col[data-row='${row}'][data-col='${0}']`).hasClass("black")){
  31. return -10;
  32. }
  33.  
  34. }
  35. //situacija npr : [ _ r r r r _ ]
  36. if( $(`.col[data-row='${row}'][data-col='${1}']`).attr('class') == $(`.col[data-row='${row}'][data-col='${2}']`).attr('class')
  37. && $(`.col[data-row='${row}'][data-col='${2}']`).attr('class') == $(`.col[data-row='${row}'][data-col='${3}']`).attr('class')
  38. && $(`.col[data-row='${row}'][data-col='${3}']`).attr('class') == $(`.col[data-row='${row}'][data-col='${4}']`).attr('class')
  39. )
  40. {
  41. if($(`.col[data-row='${row}'][data-col='${1}']`).hasClass("red")){
  42. return +10;
  43. } else if($(`.col[data-row='${row}'][data-col='${1}']`).hasClass("black")){
  44. return -10;
  45. }
  46. }
  47. //situacija npr : [ _ _ r r r r ]
  48. if( $(`.col[data-row='${row}'][data-col='${2}']`).attr('class') == $(`.col[data-row='${row}'][data-col='${3}']`).attr('class')
  49. && $(`.col[data-row='${row}'][data-col='${3}']`).attr('class') == $(`.col[data-row='${row}'][data-col='${4}']`).attr('class')
  50. && $(`.col[data-row='${row}'][data-col='${4}']`).attr('class') == $(`.col[data-row='${row}'][data-col='${5}']`).attr('class')
  51. )
  52. {
  53. if($(`.col[data-row='${row}'][data-col='${2}']`).hasClass("red")){
  54. return +10;
  55. } else if($(`.col[data-row='${row}'][data-col='${2}']`).hasClass("black")){
  56. return -10;
  57. }
  58. }
  59.  
  60.  
  61. } /* ----- KRAJ FORA ZA ROWS -------- */
  62.  
  63. // Checking for COLS or RED or BLACK VICTORY.
  64. for(let col = 0; col<6; col++){
  65. /*situacija npr :
  66. [
  67. r
  68. r
  69. r
  70. r
  71. _
  72. _
  73. ]
  74. */
  75. if( $(`.col[data-row='${0}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${1}'][data-col='${col}']`).attr('class')
  76. && $(`.col[data-row='${1}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${2}'][data-col='${col}']`).attr('class')
  77. && $(`.col[data-row='${2}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${3}'][data-col='${col}']`).attr('class')
  78. )
  79. {
  80. if($(`.col[data-row='${0}'][data-col='${col}']`).hasClass("red")){
  81. return +10;
  82. } else if($(`.col[data-row='${0}'][data-col='${col}']`).hasClass("black")){
  83. return -10;
  84. }
  85.  
  86. }
  87. /*situacija npr :
  88. [
  89. _
  90. r
  91. r
  92. r
  93. r
  94. _
  95. ]
  96. */
  97. if( $(`.col[data-row='${1}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${2}'][data-col='${col}']`).attr('class')
  98. && $(`.col[data-row='${2}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${3}'][data-col='${col}']`).attr('class')
  99. && $(`.col[data-row='${3}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${4}'][data-col='${col}']`).attr('class')
  100. )
  101. {
  102. if($(`.col[data-row='${1}'][data-col='${col}']`).hasClass("red")){
  103. return +10;
  104. } else if($(`.col[data-row='${1}'][data-col='${col}']`).hasClass("black")){
  105. return -10;
  106. }
  107. }
  108. /*situacija npr :
  109. [
  110. _
  111. _
  112. r
  113. r
  114. r
  115. r
  116. ]
  117. */
  118. if( $(`.col[data-row='${2}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${3}'][data-col='${col}']`).attr('class')
  119. && $(`.col[data-row='${3}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${4}'][data-col='${col}']`).attr('class')
  120. && $(`.col[data-row='${4}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${5}'][data-col='${col}']`).attr('class')
  121. )
  122. {
  123. if($(`.col[data-row='${2}'][data-col='${col}']`).hasClass("red")){
  124. return +10;
  125. } else if($(`.col[data-row='${2}'][data-col='${col}']`).hasClass("black")){
  126. return -10;
  127. }
  128. }
  129.  
  130.  
  131. } /* ----- KRAJ FORA ZA COLS -------- */
  132.  
  133. // Checking for Diagonals or RED or BLACK VICTORY.
  134. //GLAVNA DIJAGONALA
  135. for(let row = 0;row<6;row++){
  136. for(let col=0;col<6;col++){
  137. //proveri od 0 do 4-te u dijagonali
  138. if($(`.col[data-row='${row}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${row+1}'][data-col='${col+1}']`).attr('class')
  139. && $(`.col[data-row='${row+1}'][data-col='${col+1}']`).attr('class') == $(`.col[data-row='${row+2}'][data-col='${col+2}']`).attr('class')
  140. && $(`.col[data-row='${row+2}'][data-col='${col+2}']`).attr('class') == $(`.col[data-row='${row+3}'][data-col='${col+3}']`).attr('class')
  141. )
  142. {
  143. if($(`.col[data-row='${row}'][data-col='${col}']`).hasClass("red")){
  144. return +10;
  145. } else if($(`.col[data-row='${row}'][data-col='${col}']`).hasClass("black")){
  146. return -10;
  147. }
  148. }
  149.  
  150. //proveri od 1 do 5-te u dijagonali
  151. if($(`.col[data-row='${row+1}'][data-col='${col+1}']`).attr('class') == $(`.col[data-row='${row+2}'][data-col='${col+2}']`).attr('class')
  152. && $(`.col[data-row='${row+2}'][data-col='${col+2}']`).attr('class') == $(`.col[data-row='${row+3}'][data-col='${col+3}']`).attr('class')
  153. && $(`.col[data-row='${row+3}'][data-col='${col+3}']`).attr('class') == $(`.col[data-row='${row+4}'][data-col='${col+4}']`).attr('class')
  154. )
  155. {
  156. if($(`.col[data-row='${row+1}'][data-col='${col+1}']`).hasClass("red")){
  157. return +10;
  158. } else if($(`.col[data-row='${row+1}'][data-col='${col+1}']`).hasClass("black")){
  159. return -10;
  160. }
  161.  
  162. }
  163. //proveri od 2 do 6-te u dijagonali
  164. if($(`.col[data-row='${row+2}'][data-col='${col+2}']`).attr('class') == $(`.col[data-row='${row+3}'][data-col='${col+3}']`).attr('class')
  165. && $(`.col[data-row='${row+3}'][data-col='${col+3}']`).attr('class') == $(`.col[data-row='${row+4}'][data-col='${col+4}']`).attr('class')
  166. && $(`.col[data-row='${row+4}'][data-col='${col+4}']`).attr('class') == $(`.col[data-row='${row+5}'][data-col='${col+5}']`).attr('class')
  167. )
  168. {
  169. if($(`.col[data-row='${row+2}'][data-col='${col+2}']`).hasClass("red")){
  170. return +10;
  171. } else if($(`.col[data-row='${row+2}'][data-col='${col+2}']`).hasClass("black")){
  172. return -10;
  173. }
  174.  
  175. }
  176.  
  177.  
  178. }
  179.  
  180.  
  181.  
  182.  
  183. }/* ----------- KRAJ FOROVA ZA GLAVNU DIJAGONALU --------- */
  184.  
  185. // Checking for Diagonals or RED or BLACK VICTORY.
  186. //SPOREDNA DIJAGONALA
  187. for(let row = 0;row<6;row++){
  188. for(let col=0;col<6;col++){
  189. //proveri od 0 do 4-te u dijagonali
  190. if($(`.col[data-row='${row}'][data-col='${col}']`).attr('class') == $(`.col[data-row='${row-1}'][data-col='${col-1}']`).attr('class')
  191. && $(`.col[data-row='${row-1}'][data-col='${col-1}']`).attr('class') == $(`.col[data-row='${row-2}'][data-col='${col-2}']`).attr('class')
  192. && $(`.col[data-row='${row-2}'][data-col='${col-2}']`).attr('class') == $(`.col[data-row='${row-3}'][data-col='${col-3}']`).attr('class')
  193. )
  194. {
  195. if($(`.col[data-row='${row}'][data-col='${col}']`).hasClass("red")){
  196. return +10;
  197. } else if($(`.col[data-row='${row}'][data-col='${col}']`).hasClass("black")){
  198. return -10;
  199. }
  200. }
  201.  
  202. //proveri od 1 do 5-te u dijagonali
  203. if($(`.col[data-row='${row-1}'][data-col='${col-1}']`).attr('class') == $(`.col[data-row='${row-2}'][data-col='${col-2}']`).attr('class')
  204. && $(`.col[data-row='${row-2}'][data-col='${col-2}']`).attr('class') == $(`.col[data-row='${row-3}'][data-col='${col-3}']`).attr('class')
  205. && $(`.col[data-row='${row-3}'][data-col='${col-3}']`).attr('class') == $(`.col[data-row='${row-4}'][data-col='${col-4}']`).attr('class')
  206. )
  207. {
  208. if($(`.col[data-row='${row-1}'][data-col='${col-1}']`).hasClass("red")){
  209. return +10;
  210. } else if($(`.col[data-row='${row-1}'][data-col='${col-1}']`).hasClass("black")){
  211. return -10;
  212. }
  213.  
  214. }
  215. //proveri od 2 do 6-te u dijagonali
  216. if($(`.col[data-row='${row-2}'][data-col='${col-2}']`).attr('class') == $(`.col[data-row='${row-3}'][data-col='${col-3}']`).attr('class')
  217. && $(`.col[data-row='${row-3}'][data-col='${col-3}']`).attr('class') == $(`.col[data-row='${row-4}'][data-col='${col-4}']`).attr('class')
  218. && $(`.col[data-row='${row-4}'][data-col='${col-4}']`).attr('class') == $(`.col[data-row='${row-5}'][data-col='${col-5}']`).attr('class')
  219. )
  220. {
  221. if($(`.col[data-row='${row-2}'][data-col='${col-2}']`).hasClass("red")){
  222. return +10;
  223. } else if($(`.col[data-row='${row-2}'][data-col='${col-2}']`).hasClass("black")){
  224. return -10;
  225. }
  226.  
  227. }
  228.  
  229.  
  230. }
  231. } /* ------- KRAJ FORA ZA SPOREDNU DIJAGONALU */
  232.  
  233.  
  234.  
  235. }/* --------------- KRAJ EVALUETE FJE ------------ */
  236. //isMovesLeft($board);
  237. // evaluate($board);
  238. }/* ----------------- KRAJ igraAI() fje ------------ */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement