|| 논리합 (OR)
a||b -> a나 b 둘중에 하나라도 참이면 참
0 0 -> false
0 1 -> true
1 0 -> true
1 1 -> true
&& 논리곱 (AND)
a&&b -> a, b 둘다 참이여야 참
0 0 -> false
0 1 -> false
1 0 -> false
1 1 -> true
한줄로 코드들을 표현할 수 있다. 잘쓰면 편한데 가독성이 떨어진다.
조건 ? 참 : 거짓;
console.log(1<2 ? "이건참이야" : "이건 거짓이야");
console.log(1 < 2 ? 3 > 4 ? "두번째는 참이야" : "두번째는 참이 아니야":"첫번째가 참이 아니야");
switch (조건) {
case "조건값":
"수행할 구간"
break;
default:
break;
}
while 반복문 무한히 돌아간다.
while ("값이 true 무한으로 돌아간다. false 값을 변경해주어야 반복문의 멈춘다.")
break 문으로 반복을 종료시켜줄 수 있다.
while(true){
if(){
break; // 조건이 맞을 때 반복을 끝낸다.
}
}
사용자가 브라우저에 값을 간단히 입력 받을 수 있는 상태창 띄워준다.
prompt 간단한 입력값을 받아올 수 있다.
let value = prompt("값을 입력해보시오");
console.log("value : ", value );
우리가 입력받은건 문자열이기때문에 문자열을 출력해준다. 그러므로
숫자로 형태를 변화시켜주는 작업이 필요하다.
parseInt("숫자로 정수로 변경할 변수나 값");
Number("숫자로 변경할 변수나 값");
다른 형태의 type을 number type으로 형변환 시켜준다.
parseInt(inputNum) = Number(inputNum2); 이 2개 같다.
Js에서 랜덤값을 구할 수 있는 친구
Math.random(); // 0~1까지의 랜덤수
parseInt() 를 사용해서 정수로 변환을 하고 값이 너무 작으니깐 곱해줘야한다.
for(i=0; i<3; i++){
// 랜덤수가 3개
console.log(parseInt(Math.random()* 3));
}
// 우리가 만들어볼거 업다운 게임
// 숫자 맞추기
// 1. 플레이어가 있고 컴퓨터가 있고
// 2. 플레이어는 선택할수 있게하고, 컴퓨터는 랜덤값
// 3. 플레이어가 선택할 수 있는 제어문
// 4. 게임의 종료 시점을 정해야겠다
let playSelect;
// 1~ 100의 랜덤숫자
let comSelect = parseInt(Math.random()*99+1);
let count = 0; // 시도를 몇번할건지
let max = 100; // 플레이어가 선택이 가능한 최대의 숫자.
let min = 0; // 플레이어가 선택이 가능한 최소의 숫자.
let subText = ""; // 컴퓨터가 알려줄 문구
let maxCount = parseInt(prompt("게임 몇번할래?")); //게임횟수 이걸로
// 반복 되어야 하니까
while(playSelect !==comSelect && count < maxCount){
// ES6 에서 문자열을 사용할 때 편하게 사용할 수 있는 기법
// 템플릿 리터럴 문자를 다룰때 줄바꿈같은걸 편하게 사용할 수 있게 해준다.
// `백틱`
// "안녕"+playerSelect
// `${변수}문자열`
playSelect = prompt(`${subText}\n숫자를 입력하세요\n
최소: ${min} | 최대 : ${max} | 남은횟수 : ${maxCount - count}`);
//playSelect = parseInt(playSelect);
// 입력된 값이 숫자인지 확인? 문자쓰면 어떻게?
// isNaN 숫자가 아닌 값을 입력했는지?
if(isNaN(playSelect)){
subText = "숫자 입력 하셈";
//다시 게임이 시작되야 하기때문에 아래코드는 읽지 않게 할수 없을까?
continue; // continue 는 그 줄부터 밑으로 읽지 않고 반복문 시작점으로 돌아간다.
}
// 입력값이 최소와 최대 사이의 값인지 확인
if(min >=playSelect || max <= playSelect){
subText = `너 입력값 확인해 최소:${min} | 최대:${max}`;
continue;
}
// 게임의 로직 시작
if(playSelect > comSelect){
// max 최대값을 다시 겹치지 않게 입력해준다.
max = playSelect;
subText = "다운";
}
else if(playSelect < comSelect){
//min 최소값을 다시 겹치지 않게 입력해준다.
min = playSelect;
subText = "업";
}
else{
count = count +1;
console.log(`${count}번 시도해서 너 맞춤`);
//게임 끝났음
break;
}
count++;
if(count >=maxCount){
console.log("게임오버")
}
}
배팅 묵찌빠
https://github.com/zam0ng/20230310/blob/master/20230313/batting.js