Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. def next_move(position, board)
  2. @team = "white"
  3. @position = position
  4. @moves = []
  5. position_column = [nil, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
  6. column = position[0]
  7. row = position[1].to_i
  8. ### up and to the right ###
  9. i = 1
  10. while i < 8
  11. diagonal_attack = position_column[position_column.find_index(column)+i].to_s + (row + i).to_s
  12. if empty_square?(diagonal_attack, board)
  13. @moves << diagonal_attack
  14. i+=1
  15. elsif enemy_square?(diagonal_attack, board)
  16. @moves << diagonal_attack
  17. i = 8
  18. else
  19. i = 8
  20. end
  21. end
  22. ### down and to the right ###
  23. i = 1
  24. while i < 8
  25. diagonal_attack = position_column[position_column.find_index(column)+i].to_s + (row - i).to_s
  26. if empty_square?(diagonal_attack, board)
  27. @moves << diagonal_attack
  28. i+=1
  29. elsif enemy_square?(diagonal_attack, board)
  30. @moves << diagonal_attack
  31. i = 8
  32. else
  33. i = 8
  34. end
  35. end
  36. ### up and to the left attack ###
  37. i = 1
  38. while i < 8
  39. diagonal_attack = position_column[position_column.find_index(column)-i].to_s + (row + i).to_s
  40. if empty_square?(diagonal_attack, board)
  41. @moves << diagonal_attack
  42. i+=1
  43. elsif enemy_square?(diagonal_attack, board)
  44. @moves << diagonal_attack
  45. i = 8
  46. else
  47. i = 8
  48. end
  49. end
  50. ### down and to the left ###
  51. i = 1
  52. while i < 8
  53. diagonal_attack = position_column[position_column.find_index(column)-i].to_s + (row - i).to_s
  54. if empty_square?(diagonal_attack, board)
  55. @moves << diagonal_attack
  56. i+=1
  57. elsif enemy_square?(diagonal_attack, board)
  58. @moves << diagonal_attack
  59. i = 8
  60. else
  61. i = 8
  62. end
  63. end
  64. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement