Guest User

Untitled

a guest
Dec 15th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. for (let i = 0; i < this.field.length; i++) {
  2. let f = this.field;
  3. if (
  4. f[0].innerHTML == 'X' && f[1].innerHTML == 'X' && f[2].innerHTML == 'X' ||
  5. f[3].innerHTML == 'X' && f[4].innerHTML == 'X' && f[5].innerHTML == 'X' ||
  6. f[6].innerHTML == 'X' && f[7].innerHTML == 'X' && f[8].innerHTML == 'X' ||
  7.  
  8. f[0].innerHTML == 'X' && f[3].innerHTML == 'X' && f[6].innerHTML == 'X' ||
  9. f[1].innerHTML == 'X' && f[4].innerHTML == 'X' && f[7].innerHTML == 'X' ||
  10. f[2].innerHTML == 'X' && f[5].innerHTML == 'X' && f[8].innerHTML == 'X' ||
  11.  
  12. f[0].innerHTML == 'X' && f[4].innerHTML == 'X' && f[8].innerHTML == 'X' ||
  13. f[2].innerHTML == 'X' && f[4].innerHTML == 'X' && f[6].innerHTML == 'X'
  14. ) {
  15. console.log('x win')
  16.  
  17. подскажите как переделать с if на switch
  18.  
  19.  
  20. for(let i = 0; i<this.field.length; i++){
  21. switch(this.field[i]){
  22. case (this.field[0].innerHTML == 'X' && this.field[1].innerHTML == 'X' &&this.field[2].innerHTML == 'X'):
  23. console.log('asd');
  24. break;
  25. }
  26. }
  27. пробовал что типа такого, но сам switch явно не должен принимать в параметр итый элемент... тогда что ?
  28.  
  29. helperX(i) {
  30. return eval(`this.field[${i}].innerHTML == 'X' && this.field[${i + 1}].innerHTML == 'X' && this.field[${i + 2}].innerHTML == 'X'`)
  31. }
  32.  
  33. helperY(i) {
  34. return eval(`this.field[${i}].innerHTML == 'X' && this.field[${i + 3}].innerHTML == 'X' && this.field[${i + 6}].innerHTML == 'X'`)
  35. }
  36.  
  37. styleX(i){
  38. return eval(`this.field[${i}].style.color = 'red'; this.field[${i+1}].style.color = 'red'; this.field[${i+2}].style.color = 'red';`)
  39. }
  40. styleY(i){
  41. return eval(`this.field[${i}].style.color = 'red'; this.field[${i+3}].style.color = 'red'; this.field[${i+6}].style.color = 'red';`)
  42. }
  43.  
  44.  
  45. step(domElement) {
  46. for (let i = 0; i < this.field.length; i++) {
  47. if (domElement == this.field[i] && this.flag % 2 == 0 && this.field[i].innerHTML == '') {
  48. this.field[i].innerHTML = 'X';
  49. this.arr.push(this.field[i])
  50. this.flag++
  51. } else if (domElement == this.field[i] && this.field[i].innerHTML == '') {
  52. this.field[i].innerHTML = 'O';
  53. this.arr.push(this.field[i])
  54. this.flag++
  55. }
  56. }
  57.  
  58. }
  59.  
  60. checkWin() {
  61. for (let i = 0; i < this.field.length; i++) {
  62. if (this.helperX(0)) {
  63. this.styleX(0);
  64. } else if (this.helperX(3)) {
  65. this.styleX(3);
  66. }else if (this.helperX(6)) {
  67. this.styleX(6);
  68. }else if (this.helperY(0)) {
  69. this.styleY(0);
  70. }else if (this.helperY(1)) {
  71. this.styleY(1)
  72. }else if (this.helperY(2)) {
  73. this.styleY(2);
  74. }
  75.  
  76.  
  77.  
  78. }
Add Comment
Please, Sign In to add comment