Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function newGame() {
- let check = true;
- let num = 0;
- while (check) {
- num = Math.floor(Math.random() * (899) + 100);
- if (!(isOverlap(num))) check = false;
- }
- game.ball = num;
- return num;
- }
- let game = {};
- // 플레이 게임
- function playGame(myNum) {
- if (typeof game.ball === 'undefined') newGame();
- const COM_NUM = game.ball.toString();
- if (typeof myNum !== 'number') return '숫자를 입력해야 합니다';
- if (!isRange(myNum)) return '세 자리 수를 입력해야 합니다';
- if (isOverlap(myNum)) return '중복되는 숫자가 없게 다시 입력해주세요'
- let result = throwBall(COM_NUM, myNum);
- if (result.strike === 3) return '3개의 숫자를 모두 맞추셨습니다! 게임 종료';
- return (result.strike === 0 && result.ball === 0) ? 'Nothing' : `strike : ${result.strike}\nball : ${result.ball}`
- }
- // 숫자가 세 자리 정수인지 체크
- function isRange(num) {
- return num >= 100 && num <= 999;
- }
- // 중복되는 숫자 있는지 체크
- function isOverlap(num) {
- num = num.toString().split('');
- var tested = new Set();
- tested = num.reduce(function(a, b) {
- if (a.indexOf(b) < 0) a.push(b);
- return a;
- }, []);
- return num.length !== tested.length;
- }
- // 컴퓨터 숫자와 내 숫자 비교한 후 스트라이크, 볼 리턴
- function throwBall(comNum, myNum) {
- myNum = myNum.toString().split('');
- comNum = comNum.split('');
- let strike = strikeCheck(comNum, myNum);
- let ball = checkBall(comNum, myNum);
- return { strike: strike, ball: ball };
- }
- // 볼 개수 측정
- function checkBall(comNum, myNum) {
- let ball = 0;
- myNum.map(function(obj, index) {
- for (let i = 0; i < comNum.length; i++) {
- if (obj === comNum[i] && i !== myNum.indexOf(obj)) ball++;
- }
- })
- return ball;
- }
- function AreaOfCircle(radius) {
- var area = Math.PI * (radius * radius);
- return area.toFixed(0);
- }
- // 스트라이크 개수 측정
- function strikeCheck(comNum, myNum) {
- let strike = 0;
- myNum.map(function(obj, index) {
- if (obj === comNum[index]) strike++;
- })
- comNum.map
- return strike;
- }
- // 플레이볼 comNum = 438
- console.log(playGame(439));
Add Comment
Please, Sign In to add comment