From e6f3a04e21b6f9ebb4bfb80a9b9233f305d59ae0 Mon Sep 17 00:00:00 2001 From: anniebaker Date: Sun, 5 May 2019 17:14:33 -0500 Subject: [PATCH 1/2] checkers --- 05week/checkers.js | 70 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 4 deletions(-) diff --git a/05week/checkers.js b/05week/checkers.js index 15d9953d1..d461cc55d 100644 --- a/05week/checkers.js +++ b/05week/checkers.js @@ -8,13 +8,20 @@ const rl = readline.createInterface({ }); -function Checker() { - // Your code here +class Checker { + constructor(color) { + if (color === 'white') { + this.symbol = '○'; + } else { + this.symbol = '●'; + } + } } class Board { constructor() { - this.grid = [] + this.grid = []; + this.checkers = []; } // method that creates an 8x8 array, filled with null values createGrid() { @@ -51,8 +58,46 @@ class Board { } console.log(string); } + createCheckers() { + let whitePosition = [ + [0, 1], [0, 3], [0, 5], [0, 7], + [1, 0], [1, 2], [1, 4], [1, 6], + [2, 1], [2, 3], [2, 5], [2, 7]]; + let blackPosition = [ + [5, 0], [5, 2], [5, 4], [5, 6], + [6, 1], [6, 3], [6, 5], [6, 7], + [7, 0], [7, 2], [7, 4], [7, 6] + ]; + for (let i=0;i<12;i++){ + // whitePosition[i].push(this.grid); + // whitePosition[i].push(this.checkers); + let whiteChecker = new Checker('white'); + let whiteRow = whitePosition[i][0]; + let whiteCol = whitePosition[i][1]; + + blackPosition[i].push(this.grid); + // blackPosition[i].push(this.checkers); + let blackChecker = new Checker ('black'); + let blackRow = blackPosition[i][0]; + let blackCol = blackPosition[i][1]; + + this.grid[whiteRow][whiteCol] = whiteChecker; + this.grid[blackRow][blackCol] = blackChecker; + this.checkers.push(whiteChecker, blackChecker); + } + } + selectChecker(row, col) { + // this.board.grid = [start][end]; + return this.grid[row][col]; + } + killChecker(position){ + // this.selectChecker = (position[0], position[1]); + let checker = this.selectChecker(position[0], position[1]) + let indexChecker = this.checkers.indexOf(checker) + this.checkers.splice(indexChecker, 1); - // Your code here + this.grid[position[0]][position[1]] = null; + } } class Game { @@ -61,6 +106,23 @@ class Game { } start() { this.board.createGrid(); + this.board.createCheckers(); + } + moveChecker(start, end) { + const startRow= start.charAt(0); + const startCol = start.charAt(1); + const endRow = end.charAt(0); + const endCol = end.charAt(1); + console.log('start: ' + start); + console.log('end: ' + end); + const checker = this.board.selectChecker(start[0], start[1]); + this.board.grid[endRow][endCol] = checker; + // this.board.grid[endRow][endCol] = this.board.grid[startRow][startCol] + this.board.grid[startRow][startCol] = null; + if (Math.sqrt((endRow-startRow)^2 + (endCol-startCol)^2) >= 2){ + // const position = [((startRow + endRow)/2),((startCol+endCol)/2)]; + this.board.killChecker[(startRow + endRow)/2,(startCol+endCol)/2]; + } } } From 422ccc083aa534a5a0b1063305a78ed6f8360528 Mon Sep 17 00:00:00 2001 From: anniebaker Date: Sun, 12 May 2019 22:32:58 -0500 Subject: [PATCH 2/2] sorting --- 06week/sorting.js | 126 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 06week/sorting.js diff --git a/06week/sorting.js b/06week/sorting.js new file mode 100644 index 000000000..aa7013701 --- /dev/null +++ b/06week/sorting.js @@ -0,0 +1,126 @@ +const strNums = ["1","4","1","5","9","2","6","5","3","5","8","9","7","9","3","2","3","8","4","6","2","6","4","3","3","8","3","2","7","9","5","0","2","8","8","4","1","9","7","1","6","9","3","9","9","3","7","5","1","0","5","8","2","0","9","7","4","9","4","4","5","9","2","3","0","7","8","1","6","4","0","6","2","8","6","2","0","8","9","9","8","6","2","8","0","3","4","8","2","5","3","4","2","1","1","7","0","6","7","9","8","2","1","4","8","0","8","6","5","1","3","2","8","2","3","0","6","6","4","7","0","9","3","8","4","4","6","0","9","5","5","0","5","8","2","2","3","1","7","2","5","3","5","9","4","0","8","1","2","8","4","8","1","1","1","7","4","5","0","2","8","4","1","0","2","7","0","1","9","3","8","5","2","1","1","0","5","5","5","9","6","4","4","6","2","2","9","4","8","9","5","4","9","3","0","3","8","1","9","6","4","4","2","8","8","1","0","9","7","5","6","6","5","9","3","3","4","4","6","1","2","8","4","7","5","6","4","8","2","3","3","7","8","6","7","8","3","1","6","5","2","7","1","2","0","1","9","0","9","1","4","5","6","4","8","5","6","6","9","2","3","4","6","0","3","4","8","6","1","0","4","5","4","3","2","6","6","4","8","2","1","3","3","9","3","6","0","7","2","6","0","2","4","9","1","4","1","2","7","3","7","2","4","5","8","7","0","0","6","6","0","6","3","1","5","5","8","8","1","7","4","8","8","1","5","2","0","9","2","0","9","6","2","8","2","9","2","5","4","0","9","1","7","1","5","3","6","4","3","6","7","8","9","2","5","9","0","3","6","0","0","1","1","3","3","0","5","3","0","5","4","8","8","2","0","4","6","6","5","2","1","3","8","4","1","4","6","9","5","1","9","4","1","5","1","1","6","0","9","4","3","3","0","5","7","2","7","0","3","6","5","7","5","9","5","9","1","9","5","3","0","9","2","1","8","6","1","1","7","3","8","1","9","3","2","6","1","1","7","9","3","1","0","5","1","1","8","5","4","8","0","7","4","4","6","2","3","7","9","9","6","2","7","4","9","5","6","7","3","5","1","8","8","5","7","5","2","7","2","4","8","9","1","2","2","7","9","3","8","1","8","3","0","1","1","9","4","9","1","2","9","8","3","3","6","7","3","3","6","2","4","4","0","6","5","6","6","4","3","0","8","6","0","2","1","3","9","4","9","4","6","3","9","5","2","2","4","7","3","7","1","9","0","7","0","2","1","7","9","8","6","0","9","4","3","7","0","2","7","7","0","5","3","9","2","1","7","1","7","6","2","9","3","1","7","6","7","5","2","3","8","4","6","7","4","8","1","8","4","6","7","6","6","9","4","0","5","1","3","2","0","0","0","5","6","8","1","2","7","1","4","5","2","6","3","5","6","0","8","2","7","7","8","5","7","7","1","3","4","2","7","5","7","7","8","9","6","0","9","1","7","3","6","3","7","1","7","8","7","2","1","4","6","8","4","4","0","9","0","1","2","2","4","9","5","3","4","3","0","1","4","6","5","4","9","5","8","5","3","7","1","0","5","0","7","9","2","2","7","9","6","8","9","2","5","8","9","2","3","5","4","2","0","1","9","9","5","6","1","1","2","1","2","9","0","2","1","9","6","0","8","6","4","0","3","4","4","1","8","1","5","9","8","1","3","6","2","9","7","7","4","7","7","1","3","0","9","9","6","0","5","1","8","7","0","7","2","1","1","3","4","9","9","9","9","9","9","8","3","7","2","9","7","8","0","4","9","9","5","1","0","5","9","7","3","1","7","3","2","8","1","6","0","9","6","3","1","8","5","9","5","0","2","4","4","5","9","4","5","5","3","4","6","9","0","8","3","0","2","6","4","2","5","2","2","3","0","8","2","5","3","3","4","4","6","8","5","0","3","5","2","6","1","9","3","1","1","8","8","1","7","1","0","1","0","0","0","3","1","3","7","8","3","8","7","5","2","8","8","6","5","8","7","5","3","3","2","0","8","3","8","1","4","2","0","6","1","7","1","7","7","6","6","9","1","4","7","3","0","3","5","9","8","2","5","3","4","9","0","4","2","8","7","5","5","4","6","8","7","3","1","1","5","9","5","6","2","8","6","3","8","8","2","3","5","3","7","8","7","5","9","3","7","5","1","9","5","7","7","8","1","8","5","7","7","8","0","5","3","2","1","7","1","2","2","6","8","0","6","6","1","3","0","0","1","9","2","7","8","7","6","6","1","1","1","9","5","9","0","9","2","1","6","4","2","0","1","9","8","9"]; + +// Given 1000 digits of PI as strings, return an array of the digits as numbers +const stringsToNumbs = (numbers) => { + let newArr = []; + for (i=0;i x%2==0).reduce((total, amount) => total+amount) +console.log(sumEvens); + +// Find the index of the first value when added to it's index = 512 (#ATX!!) +let nums = strNums +const atxFinder = (nums) => { + for (i=0;i