RECORD

[웹게임_자바스크립트] 숫자 야구_⚾

ez1n 2022. 2. 11. 17:08

[Java Script_ Number Baseball]

 

👉숫자 야구 하러가기👈

 


 

<STUDY>

 

⚾ 랜덤으로 숫자 뽑기

 

❔ 0부터 9까지의 숫자 중 설정한 자릿수 만큼의 숫자를 랜덤으로 선택하기

 

   1. 0부터 9까지 연속적인 숫자 배열 생성

 

첫 번째 방법 : 빈 배열을 선언한 뒤 for 반복문을 이용하여 push 한다.

const numbers = [];
for (let i = 0; i < 10; i += 1) {
  numbers.push(i);
};

두 번째 방법. : 길이가 10인 배열을 만들어 준 뒤 map을 사용하여 값을 채워준다.

const numbers = Array(10).fill().map((value,index) => index);

 

   2. 생성된 배열 numbers에서 랜덤으로 숫자를 선택하여 answer(답) 만들기

const answer = [];
for (let i = 0; i < num_number; i += 1) {
  const index = Math.floor(Math.random() * (numbers.length - 1));
  answer.push(numbers[index]);
  numbers.splice(index,1);
};

 

 

⚾ strike, ball, out 출력하기

 

❔조건에 따라 strike, ball, out 갯수 설정하기

 

    - strike, ball, out을 각각 변수로 설정한다.

    - 입력한 숫자(value)의 자료형은 string 이므로 Array.from() 메서드를 통해 Array로 변환시켜주었다.

    - for of 반복문을 이용하여 i를 입력한 숫자(value)의 요소로 선택하고 switch 문으로 각 변수에 숫자를 할당해주었다.

let strike = 0;
let ball = 0;
let out = 0;

for (let i of Array.from(value)) {
  switch (answer.indexOf(Number(i))) {
    case -1 : 
      out += 1;
      break;
     case value.indexOf(i) :
      strike += 1;
      break;
     default : ball += 1;
  }
}

 

 

⚾ 결과물

 

 

 


 

 

웹게임을 만들면서 개인적으로 조금 어려웠던 부분, 헷갈렸던 부분을 정리해 보았다.

 

뚝딱뚝딱 코딩할 수 있는 그날까지 화이팅!

 

코드 전체 보기는 🔗ez1n_github 클릭하기!

 

 


 

ttugttag-coding