Skip to content

Instantly share code, notes, and snippets.

@AsifITk
Created September 9, 2022 07:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AsifITk/fb0cb452b14e51e78bdae9f5cd63dd8d to your computer and use it in GitHub Desktop.
Save AsifITk/fb0cb452b14e51e78bdae9f5cd63dd8d to your computer and use it in GitHub Desktop.
let calcScore = (arr, guess) => {
let len = arr.length;
let count = 0;
let corr = 0;
let inc = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] == guess[i]) {
corr++;
// arr.splice(i, 1);
// guess.splice(i, 1);
arr[i] = "x";
guess[i] = "x";
}
}
// console.log(arr)
// console.log(guess)
for (let i = 0; i < arr.length; i++) {
// console.log(typeof arr[i])
if ((typeof arr[i]) == 'number') {
if (guess.includes(arr[i])) {
inc++;
arr[i] = "x";
guess[guess.indexOf(arr[i])] = "x";
}
}
}
return { correctPos: corr, incorrectPos: inc };
};
// { correctPos: 2, incorrectPos: 1 }
console.log(calcScore([4, 4, 1, 2], [4, 1, 5, 2]));
console.log(calcScore([4, 4, 1, 2], [5, 5, 5, 5]));
console.log(calcScore([4, 4, 1, 2], [4, 4, 1, 2]));
// Should return { correctPos: 2, incorrectPos: 1 }
calcScore([4, 4, 1, 2], [5, 5, 5, 5]); // Should return { correctPos: 0, incorrectPos: 0 }
calcScore([4, 4, 1, 2], [4, 4, 1, 2]);
var readlineSync = require("readline-sync");
let startGame = () => {
let arr = new Array(4).fill(0).map(
() => {
return Math.floor(Math.random() * 10)
}
)
// let num = arr.join('') * 1;
console.log("M A S T E R M I N D");
let count = 10;
while (count > 1) {
var guess = readlineSync.question(`${11 - count}) Guess the 4-digit code: `);
guess = guess + "";
guess.split("")
let ans = calcScore(arr.slice(), guess.split(''));
console.log(`${ans[0]} matching digit(s) in the correct position`);
console.log(`${ans[1]} matching digit(s) in the correct position`);
if (ans.length == 4) {
console.log('you won!');
return;
}
count--;
ans = [];
};
console.log('Correct ans: ' + arr.join(''));
}
startGame();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment