[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
'RECORD' 카테고리의 다른 글
[Expo] 권한 설정 / Play Console 버전 검토, 기본 권한 설정 (0) | 2022.09.13 |
---|---|
[HTML] 파일 다운로드_📂 / a 태그, download, HTML (0) | 2022.08.20 |
[CKEditor5] 리액트에서 CKEditor5 사용하기_타입스크립트, 선언 파일 오류 (0) | 2022.08.13 |
[파이썬] for~else문 (0) | 2022.04.01 |
[웹게임_자바스크립트] 계산기 만들기_🔢 (0) | 2022.02.12 |