Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions 02week/arrayspj.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
'use strict'

//length
let cars = ['Ford','Toyota','Cadillac','Hyundai'];
console.log(cars.length);

//concat
let moreCars = ['Aston Martin','Bugatti','Bentley','Honda'];
let totalCars = cars.concat(moreCars);
console.log(totalCars);

//indexOf
console.log(totalCars.indexOf("Honda"));

//lastIndexOf
console.log(totalCars.lastIndexOf("Ford"));

//join
let stringOfCars = totalCars.join(',');
console.log(stringOfCars);

//split
totalCars = stringOfCars.split(',');
console.log(totalCars);

//reverse
let carsInReverse = totalCars.reverse();
console.log(carsInReverse);

//sort
carsInReverse.sort();
alert(carsInReverse.indexOf('Aston Martin'));
console.log(carsInReverse);

//slice
let removedCars = carsInReverse.slice(4, 6);
console.log(removedCars);

//splice
carsInReverse.splice(1, 1, 'Ford');
carsInReverse.splice(2, 1, 'Honda');
console.log(carsInReverse);

//push
carsInReverse.push('Ford', 'Honda');
console.log(carsInReverse);

//pop
carsInReverse.pop();
console.log(carsInReverse);

//shift
carsInReverse.shift();
console.log(carsInReverse);

//unshift
carsInReverse.unshift("Subaru");
console.log(carsInReverse);

//forEach
var numbers = [23, 45, 0, 2];
function addTwo(item) {
console.log(item + 2);
}
numbers.forEach(addTwo)
42 changes: 36 additions & 6 deletions 02week/ticTacToe.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
'use strict';


//if no, push that player marker to that index
//make a copy to the board
//const updatedBoard = [...board];
//slice the row, store to const, (not splice)
//const updatedRow = board.slice(row, row+1) [0];
//console.log(updatedRow, 'Row')

/*Check it marker exists at row/column
If no wins, switch player, display the updated boardIf any wins come back return the player winner, clear the board*/

//Horizontal Win [0,1,2], [3,4,5], [6,7,8]
// Vertical Win: [0,3,6], [1,4,7], [2,5,8]
// Diagonal Win: [0,4,8], [0,2,6]
// Only way to win is if the total is 0 or if the total is 3. X are worth 1 point and O are worth 0 points

const assert = require('assert');
const readline = require('readline');
const rl = readline.createInterface({
Expand All @@ -23,17 +39,31 @@ function printBoard() {
console.log('2 ' + board[2].join(' | '));
}

// Horizontal Win: [0,1,2], [3,4,5], [6,7,8]
function horizontalWin() {
// Your code here
}
if ('a win in a row') {
[ { x: 0, o: 6 }, { x: 1, o: 7 }, { x: 2, o: 8 }] || [ { x: 3, o: 0 }, {x: 4, o: 1 }, { x: 5, o: 2 }] || [ { x: 6, o: 3 }, { x: 7, o: 4 }, { x: 8, o: 5 }]
};
return ('player " " wins!');
};

// Vertical Win: [0,3,6], [1,4,7], [2,5,8]
function verticalWin() {
// Your code here
}
if ('a win in a column') {
[ { x: 0, o: 1 }, { x: 3, o: 4 }, { x: 6, o: 7 }] || [ { x: 2, o: 0 }, { x: 5, o: 3 }, { x: 8, o: 6 }] || [ { x: 1, o: 2 }, { x: 4, o: 5 }, { x: 7, o: 8 }]

};
return ('player " " wins!');
};

// Diagonal Win: [0,4,8], [2,4,6]
function diagonalWin() {
// Your code here
}
if ('a win diagonally') {
[ { x: 0, o: 2 }, { x: 4, o: 4 }, { x: 8, o: 6 }] || [ { x: 2, o: 0 }, { x: 4, o: 4 }, { x: 6, o: 8 }]

};
return ('player " " wins!');
};

function checkForWin() {
// Your code here
Expand Down
123 changes: 113 additions & 10 deletions 03week/mastermind.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,66 @@
'use strict';

/*
MASTERMIND

const assert = require('assert');
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});

let board = [];
let solution = '';
let letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];

function printBoard() {
for (let i = 0; i < board.length; i++) {
console.log(board[i]);
}
}

- Start game by generating a four-letter code you want the player to guess (generatedCode)

function generatedCode() {
for (let i = 0; i < 4; i++) {
const randomIndex = getRandomInt(0, letters.length);
solution += letters[randomIndex];
}
}

function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}

-- The player chooses 4 letters (playerCode)

-- They win if they guess the code before using up all of their turns
if (playerCode === generatedCode) {
console.log('You win!');
} else {
console.log('Keep trying');
}

-- The letters are checked to see:
1- if their code matches the generatedCode
2- if any of the letters are correct
(correct letter)
3- if they are also in the correct position
(correct position)
(Use 'loops', probably 'while' so can guess until generatedCode is true; or 'do while' if verifying playerCode and then running through rest of loop if incorrect...will see)

-- Alert the player of how many are the correct letter AND how many are in the correct position

-- The player loses if they use all of their turns and never guess the correct code

- Give 5 chances. Restart game when it's done.

-- Find a way to keep the players previous attempts and the results of those attempts on display
---save their inputs into an array
---show array on the screen
*/

const assert = require('assert');
const readline = require('readline');
const rl = readline.createInterface({
Expand All @@ -8,8 +69,10 @@ const rl = readline.createInterface({
});

let board = [];
let solution = '';
let generatedCode = '';
let letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
let gameCounter=0;


function printBoard() {
for (let i = 0; i < board.length; i++) {
Expand All @@ -20,43 +83,83 @@ function printBoard() {
function generateSolution() {
for (let i = 0; i < 4; i++) {
const randomIndex = getRandomInt(0, letters.length);
solution += letters[randomIndex];
generatedCode += letters[randomIndex];
}
}

function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}

function generateHint() {
// your code here
function mastermind(guess) {
if (guess === generatedCode) {
console.log('You win!');
return;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to return your "win" statement here, instead of just console logging here.

See line 161 to test instructions.

} else {
console.log('Keep trying');
}
generateHint(guess);
}

function mastermind(guess) {
solution = 'abcd'; // Comment this out to generate a random solution
// your code here

function generateHint(guess) {
let gueArray = guess.split('');
let genArray = generatedCode.split('');
let counter=0;

for(let i = 0; i < gueArray.length;i++)
{
for(let j=0; j < genArray.length;j++)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You only need one loop here.

{
if (gueArray[i]===genArray[j])
counter+=1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could also use ++ here to increment by one.

}
}
console.log('you have '+counter+' correct letters');

let positionCounter=0;
if (gueArray[0] === genArray[0]) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consolidate lines 121-132 using a for loop and indexof() to check your guess against solution.

positionCounter+=1;
}
if (gueArray[1] === genArray[1]) {
positionCounter+=1;
}
if (gueArray[2] === genArray[2]) {
positionCounter+=1;
}
if (gueArray[3] === genArray[3]) {
positionCounter+=1;
}
console.log('you have '+positionCounter+' letters in the correct position');

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Return statement here showing correct letters and correct letter locations.

}


function getPrompt() {
rl.question('guess: ', (guess) => {
rl.question('guess 4 letters from A through H: ', (guess) => {
mastermind(guess);
//put the guesses in array
board.push(guess);
printBoard();
gameCounter+=1;
if (gameCounter > 10) {
console.log("GAME OVER!!")
return;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove empty return statements from your code.

}
getPrompt();
});
}

// Tests

if (typeof describe === 'function') {
solution = 'abcd';
generatedCode = 'abcd';
describe('#mastermind()', () => {
it('should register a guess and generate hints', () => {
mastermind('aabb');
assert.equal(board.length, 1);
});
it('should be able to detect a win', () => {
assert.equal(mastermind(solution), 'You guessed it!');
assert.equal(mastermind(generatedCode), 'You guessed it!');
});
});

Expand Down
24 changes: 24 additions & 0 deletions 03week/partnerChallenge.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
'use strict'

const partnerObj = {
firstName: "Renata",
lastName: "Estes",
age:27,
eyeColor: "brown",
talk: () => {
return "Hello Renee!"
},
};

partnerObj.lastName = "cars";
console.log(partnerObj['firstName']);
console.log(partnerObj.lastName);
console.log(partnerObj.talk());

const partnerArr = Object.keys(partnerObj);
console.log(partnerArr);

for (var i in partnerArr){
console.log(partnerArr[i])
console.log(partnerObj[partnerArr[i]])
}
Loading