Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. let initGameBoard = function(){
  2.  
  3. let arr = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","x"]
  4. return _.chunk( _.shuffle(arr),4 )
  5. }
  6.  
  7. function printGameBoard(board){
  8. let boardHtml = board.map((rowVals)=> rowVals.map( (colVal)=> {
  9. return `<div id="${colVal}">${colVal}</div>`
  10. }).join('')).join('')
  11.  
  12. document.querySelector('main').innerHTML = boardHtml
  13. }
  14.  
  15. function setXYCoords( xCoord, yCoord, val, board){
  16. board[xCoord][yCoord] = val
  17. return board
  18. }
  19.  
  20. function findXYCoords(pieceToFind, board){
  21. let pos = {
  22. x: null,
  23. y: null
  24. }
  25.  
  26. board.forEach(function(boardRowVals, rowIndex){
  27. boardRowVals.forEach(function(colVal , colIndex){
  28. if( colVal === pieceToFind ){
  29. pos.y = rowIndex
  30. pos.x = colIndex
  31. }
  32. })
  33. })
  34.  
  35. return pos
  36. }
  37.  
  38. let GAMEBOARD = initGameBoard()
  39.  
  40.  
  41. printGameBoard(GAMEBOARD)
  42.  
  43. $('main').on('click div', function(evt){
  44. let emptyPos = findXYCoords("x", GAMEBOARD)
  45. let clickedPos = findXYCoords(evt.target.id, GAMEBOARD)
  46. console.log(emptyPos)
  47. console.log(clickedPos)
  48. let isMoveable = false
  49.  
  50. if( clickedPos.x + 1 === emptyPos.x &&
  51. clickedPos.y === emptyPos.y
  52. ){
  53. isMoveable = true
  54. console.log('clicked-piece-MOVES-RIGHT')
  55. }
  56.  
  57. if( clickedPos.x - 1 === emptyPos.x &&
  58. clickedPos.y === emptyPos.y
  59. ){
  60. isMoveable = true
  61. console.log('clicked-piece-MOVES-LEFT')
  62. }
  63.  
  64. if( clickedPos.x === emptyPos.x &&
  65. clickedPos.y - 1 === emptyPos.y
  66. ){
  67. isMoveable = true
  68. console.log('clicked-piece-MOVES-UP')
  69. }
  70.  
  71. if( clickedPos.x === emptyPos.x &&
  72. clickedPos.y + 1 === emptyPos.y
  73. ){
  74. isMoveable = true
  75. console.log('clicked-piece-MOVES-DOWN')
  76. }
  77.  
  78. console.log(evt.target.id)
  79.  
  80. if(isMoveable === true){
  81. GAMEBOARD = setXYCoords(clickedPos.y, clickedPos.x, 'x', GAMEBOARD)
  82. GAMEBOARD = setXYCoords(emptyPos.y, emptyPos.x, evt.target.id , GAMEBOARD)
  83. printGameBoard(GAMEBOARD)
  84. }
  85.  
  86.  
  87. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement