From ee2d80af77d48e0aebccf98b5ec06b51e956d968 Mon Sep 17 00:00:00 2001 From: Keshav Mahawar Date: Thu, 21 May 2020 11:47:01 +0530 Subject: [PATCH] Added comments, sceenshots and readme file --- ReadMe.md | 9 + index.html | 537 +-------------------------------------------- screenShots/s1.png | Bin 0 -> 29076 bytes screenShots/s2.png | Bin 0 -> 38287 bytes script.js | 458 ++++++++++++++++++++++++++++++++++++++ style.css | 76 +++++++ 6 files changed, 545 insertions(+), 535 deletions(-) create mode 100644 ReadMe.md create mode 100644 screenShots/s1.png create mode 100644 screenShots/s2.png diff --git a/ReadMe.md b/ReadMe.md new file mode 100644 index 0000000..c1306eb --- /dev/null +++ b/ReadMe.md @@ -0,0 +1,9 @@ +# Chess Game +Chess game built using js as a part of masai sprint-2 project +## Screen shots + +![Game screenshot 1](screenShots/s1.png) + + +![Game screenshot 2](screenShots/s2.png) + diff --git a/index.html b/index.html index a8b61ce..9993521 100644 --- a/index.html +++ b/index.html @@ -3,83 +3,7 @@ Chess Board - +
@@ -92,464 +16,7 @@
- \ No newline at end of file diff --git a/screenShots/s1.png b/screenShots/s1.png new file mode 100644 index 0000000000000000000000000000000000000000..c2426074ae9b980d7cacc60247150ceebcdfcd00 GIT binary patch literal 29076 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 literal 0 HcmV?d00001 diff --git a/screenShots/s2.png b/screenShots/s2.png new file mode 100644 index 0000000000000000000000000000000000000000..c2377afff9766d65cf0bb2b5482c523a9a044232 GIT binary patch literal 38287 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 literal 0 HcmV?d00001 diff --git a/script.js b/script.js index e69de29..3d769f1 100644 --- a/script.js +++ b/script.js @@ -0,0 +1,458 @@ +var board = [] +var pieces = [] +var playerChance = 1 +var picked = -1 +var button, player1Name, player2Name + +function createBoard(){ + var div + var arr, i, j, square + for( i = 0 ; i < 8; i++ ){ + arr = [] + for( j = 0 ; j < 8; j++ ){ + div = document.createElement('div') + div.setAttribute('x',i) + div.setAttribute('y',j) + square = {occupied :-1, element:div} + arr.push(square) + } + board.push(arr) + } +} + + +function createPieces(){ + createPiece( 0, 0, 1, 'rook', 'white') + createPiece( 0, 1, 1, 'knight', 'white') + createPiece( 0, 2, 1, 'bishop', 'white') + createPiece( 0, 3, 1, 'queen', 'white') + createPiece( 0, 4, 1, 'king', 'white') + createPiece( 0, 5, 1, 'bishop', 'white') + createPiece( 0, 6, 1, 'knight', 'white') + createPiece( 0, 7, 1, 'rook', 'white') + + for( i = 0 ; i < 8; i++ ){ + createPiece( 1, i, 1, 'pawn', 'white') + } + + for( i = 0 ; i < 8; i++ ){ + createPiece( 6, i, 2, 'pawn', 'black') + } + + createPiece( 7, 0, 2, 'rook', 'black') + createPiece( 7, 1, 2, 'knight', 'black') + createPiece( 7, 2, 2, 'bishop', 'black') + createPiece( 7, 3, 2, 'queen', 'black') + createPiece( 7, 4, 2, 'king', 'black') + createPiece( 7, 5, 2, 'bishop', 'black') + createPiece( 7, 6, 2, 'knight', 'black') + createPiece( 7, 7, 2, 'rook', 'black') +} + + +function createPiece(x, y , player, type , color){ + var icon = document.createElement('i') + icon.setAttribute('class', 'fas fa-3x fa-chess-' + type + ' ' + color) + icon.setAttribute('id', pieces.length) + icon.addEventListener( 'click', pick ) + + piece={ + x: x, + y: y, + player: player, + element: icon, + type: type + } + + pieces.push(piece) +} + + +function renderBoard(){ + var chessDiv = document.querySelector( '.chessBoard' ) + chessDiv.textContent = '' + var square + for( i = 0 ; i < 8; i++ ){ + for( j = 0 ; j < 8; j++ ){ + square = board[i][j] + chessDiv.append( square.element ) + } + } +} + + +function renderPieces(){ + console.log(pieces) + console.log(board) + var piece,placedSquare + for( var i in pieces){ + piece = pieces[i] + placedSquare = board[piece.x][piece.y] + placedSquare.element.append( piece.element ) + placedSquare.occupied = Number(i) + } +} + + +//----fuctions to claculate all the moveable positions starts here----- + +function getDropCutPlaces(piece){ + var dropPlaces = [] + var cutPlaces = [] + var x,y ,type + x = piece.x + y = piece.y + console.log(x,y) + player = piece.player + type = piece.type + + switch(type){ + case 'pawn': getPawnPlaces( x, y, player, dropPlaces, cutPlaces ) + break + + case 'bishop': getBishopPlaces( x, y, dropPlaces, cutPlaces ) + break + + case 'rook': getRookPlaces( x, y, dropPlaces, cutPlaces ) + break + + case 'queen': getBishopPlaces( x, y, dropPlaces, cutPlaces ) + getRookPlaces( x, y, dropPlaces, cutPlaces ) + break + + case 'knight': getKnightPlaces( x, y, dropPlaces, cutPlaces ) + break + + case 'king': getKingPlaces( x, y, dropPlaces, cutPlaces ) + break + } + return [dropPlaces , cutPlaces] +} + + +function getPawnPlaces( x, y, player, dropPlaces, cutPlaces ){ + if ( player == 1 ){ + x++ + if(x < 8 ) + { + if ( board[x][y].occupied === -1 ){ + dropPlaces.push( { x: x, y: y } ) + } + y++ + if( y < 8 && board[x][y].occupied > 15){ + cutPlaces.push( { x: x, y: y } ) + } + y-=2 + if( y > 0 && board[x][y].occupied > 15){ + cutPlaces.push( { x: x, y: y } ) + } + } + }else{ + x-- + if(x >0) + { + if ( board[x][y].occupied === -1 ){ + dropPlaces.push( { x: x, y: y } ) + } + y++ + if( y < 8 && board[x][y].occupied < 16 && board[x][y].occupied !== -1 ){ + cutPlaces.push( { x: x, y: y } ) + } + y-=2 + if( y > 0 && board[x][y].occupied < 16 && board[x][y].occupied !== -1 ){ + cutPlaces.push( { x: x, y: y } ) + } + } + } +} + + +function getBishopPlaces( x, y, dropPlaces, cutPlaces ){ + var main_x = x + var main_y = y + + x--,y-- + while( validate( x, y, dropPlaces, cutPlaces ) ){ + x--,y-- + } + + x = main_x + y = main_y + x++,y++ + while( validate( x, y, dropPlaces, cutPlaces ) ){ + x++,y++ + } + + x = main_x + y = main_y + x--,y++ + while( validate( x, y, dropPlaces, cutPlaces ) ){ + x--,y++ + } + + x = main_x + y = main_y + x++,y-- + while( validate( x, y, dropPlaces, cutPlaces ) ){ + x++,y-- + } +} + + +function getRookPlaces( x, y, dropPlaces, cutPlaces ){ + var main_x = x + var main_y = y + + y-- + while( validate( x, y, dropPlaces, cutPlaces ) ){ + y-- + } + + x = main_x + y = main_y + x-- + while( validate( x, y, dropPlaces, cutPlaces ) ){ + x-- + } + + x = main_x + y = main_y + y++ + while( validate( x, y, dropPlaces, cutPlaces ) ){ + y++ + } + + x = main_x + y = main_y + x++ + while( validate( x, y, dropPlaces, cutPlaces ) ){ + x++ + } +} + + +function getKnightPlaces( x, y, dropPlaces, cutPlaces ){ + + validate( x + 2 ,y + 1 , dropPlaces, cutPlaces ) + validate( x + 2 ,y - 1 , dropPlaces, cutPlaces ) + validate( x - 2 ,y + 1 , dropPlaces, cutPlaces ) + validate( x - 2 ,y - 1 , dropPlaces, cutPlaces ) + validate( x - 1 ,y + 2 , dropPlaces, cutPlaces ) + validate( x + 1 ,y + 2 , dropPlaces, cutPlaces ) + validate( x - 1 ,y - 2 , dropPlaces, cutPlaces ) + validate( x + 1 ,y - 2 , dropPlaces, cutPlaces ) +} + + +function getKingPlaces( x, y, dropPlaces, cutPlaces ){ + + validate( x + 1 ,y , dropPlaces, cutPlaces ) + validate( x ,y + 1 , dropPlaces, cutPlaces ) + validate( x - 1 ,y , dropPlaces, cutPlaces ) + validate( x ,y - 1 , dropPlaces, cutPlaces ) + validate( x - 1 ,y - 1 , dropPlaces, cutPlaces ) + validate( x + 1 ,y + 1 , dropPlaces, cutPlaces ) + validate( x - 1 ,y + 1 , dropPlaces, cutPlaces ) + validate( x + 1 ,y - 1 , dropPlaces, cutPlaces ) + +} + +//validate if position is present on the board and check if occupied by other player piece +function validate( x ,y , dropPlaces, cutPlaces ){ + var square,occupiedBy + + if(x >= 0 && x < 8 && y >= 0 && y < 8 ) + { + square = board[x][y] + occupiedBy = square.occupied + if( occupiedBy == -1 ){ + dropPlaces.push( { x: x, y: y } ) + return true + }else{ + if( playerChance === 1 ){ + if( occupiedBy > 15 ){ + cutPlaces.push( { x: x, y: y } ) + return false + }else{ + return false + } + }else{ + if( occupiedBy < 16 ){ + cutPlaces.push( { x: x, y: y } ) + return false + }else{ + return false + } + } + } + } +} + +//------movable position functions ends here------- + + +//higlights all the places where we can cut other player's piece +function activateCutPlaces(arr){ + var square, place + for(i in arr) + { + place = arr[i] + square = board [ place.x ][ place.y ].element + square.setAttribute('class', 'cut') + square.addEventListener('click', cut) + } +} + +//higlights all the places where we can place our piece +function activateDropPlaces(arr){ + var square, place + for(i in arr) + { + place = arr[i] + square = board [ place.x ][ place.y ].element + square.setAttribute('class', 'drop') + square.addEventListener('click', drop) + + } +} + +//invoke higlighting functions +function pick(e){ + pieceId = Number(e.target.id) + piece = pieces[ pieceId ] + setAlert('') + if(piece.player != playerChance){ + setAlert( 'You can not pick this' ) + return + } + + clearBoard() + picked = pieceId + var dropCutPlaces = getDropCutPlaces(piece) + var dropPlaces = dropCutPlaces[0] + var cutPlaces = dropCutPlaces[1] + + square = board[ piece.x ][ piece.y ] + square.element.setAttribute('class', 'picked') + + activateDropPlaces(dropPlaces) + activateCutPlaces(cutPlaces) +} + +//cut the existing piece from that square with moving piece +function cut(e){ + setAlert('') + var target = e.target + if(target.nodeName == 'I'){ + target = target.parentNode + } + var dropSquareX = Number( target.getAttribute('x') ) + var dropSquareY = Number( target.getAttribute('Y') ) + + var piece = pieces[picked] + var pickedSquare = board[piece.x][piece.y] + var dropSquare = board[dropSquareX][dropSquareY] + piece.x = dropSquareX + piece.y = dropSquareY + + var dropPiece = dropSquare.occupied + dropPiece.x = dropPiece.y = -1 + dropSquare.element.textContent = '' + + dropSquare.occupied = picked + dropSquare.element.append(piece.element) + pickedSquare.occupied = -1 + + playerChance = playerChance === 1 ? 2 : 1 + picked = -1 + setPlayerChance() + clearBoard() +} + +//drop the moving piece to a square +function drop(e){ + setAlert('') + var target = e.target + var dropSquareX = Number( target.getAttribute('x') ) + var dropSquareY = Number( target.getAttribute('Y') ) + var piece = pieces[picked] + var pickedSquare = board[piece.x][piece.y] + var dropSquare = board[dropSquareX][dropSquareY] + + piece.x = dropSquareX + piece.y = dropSquareY + + + dropSquare.occupied = picked + dropSquare.element.append(piece.element) + pickedSquare.occupied = -1 + + playerChance = playerChance === 1 ? 2 : 1 + picked = -1 + setPlayerChance() + clearBoard() +} + + +//clear event listner and classes of chess board divs +function clearBoard(){ + for( i = 0 ; i < 8; i++ ){ + for( j = 0 ; j < 8; j++ ){ + square = board[i][j] + square.element.removeAttribute('class') + square.element.removeEventListener('click', drop) + square.element.removeEventListener('click',cut) + } + } +} + + +function setAlert( txt ){ + var playerChanceDiv = document.querySelector('.alert') + playerChanceDiv.textContent = txt +} + + +function setPlayerChance(){ + var playerChanceDiv = document.querySelector('.playerChance') + playerChanceDiv.textContent = (playerChance == 1 ? player1Name : player2Name) + ' Chance' +} + + +function startMatch(){ + var p1Input = document.getElementById('p1') + var p2Input = document.getElementById('p2') + player1Name = p1Input.value + player2Name = p2Input.value + p1Input.remove() + p2Input.remove() + + button.removeEventListener('click', startMatch) + button.textContent = 'Reset Match' + button.addEventListener('click', reset) + + createPieces() + renderPieces() + setPlayerChance() +} + + +function reset(){ + board = [] + pieces = [] + playerChance = 1 + createBoard() + renderBoard() + createPieces() + renderPieces() + setPlayerChance() +} + + +window.addEventListener('load',function(){ + button = document.getElementById('button') + button.addEventListener('click', startMatch) + createBoard() + renderBoard() + +}) \ No newline at end of file diff --git a/style.css b/style.css index e69de29..92b2444 100644 --- a/style.css +++ b/style.css @@ -0,0 +1,76 @@ +*{ + font-family: Arial, Helvetica, sans-serif; +} +.chessBoard{ + display: grid; + border: 1px solid black; + height: 600px; + width: 600px; + grid-template-columns: repeat(8, 1fr); + grid-template-rows: repeat(8, 1fr); +} +.chessBoard > div{ + text-align: center; + padding: 10px; + background-color: #E6BA8F; +} +.chessBoard > div:nth-child(16n+1), +.chessBoard > div:nth-child(16n+3), +.chessBoard > div:nth-child(16n+5), +.chessBoard > div:nth-child(16n+7), +.chessBoard > div:nth-child(16n+10), +.chessBoard > div:nth-child(16n+12), +.chessBoard > div:nth-child(16n+14), +.chessBoard > div:nth-child(16n+16){ + background-color: #BD7D40; +} +.white{ + color: white; +} +.black{ + color: black; +} +.picked{ + background-color: orange !important; +} +.drop{ + background-color: skyblue !important; + border: 1px solid black; +} +.cut{ + background-color: tomato !important; +} +.main-div{ + display: flex; + align-items: center; + justify-content: space-evenly; +} +.main-div > div { + margin: 20px; +} +.stats > * { + margin: 10px; +} +.playerChance{ + width: 500px; + font-size: 30px; +} +.stats button{ + font-size: 20px; + padding: 10px 20px; + border: none; + background-color: lime; + border-radius: 10px; +} +.stats input{ + font-size: 25px; + padding: 10px; +} +.alert{ + color: red; +} +@media screen and (max-width: 1000px){ + .main-div{ + flex-direction: column-reverse; + } +} \ No newline at end of file