console.log("================");
grape: for (var i = 0; i < 3; i++) {
strawberry: for (var j = 0; j < 2; j++) {
// 안쪽 for문만 break 걸림
if (i === j) {
break strawberry;
}
console.log(`${i},${j}`);
}
}
// 정답 생성
var secret = Math.floor(Math.random() * 100) + 1;
while (true) {
// 사용자의 입력값
var answer = +prompt("숫자를 입력하세요! [1 ~ 100]: ");
// 정답 판정
if (secret === answer) {
alert("딩동댕~~~~ !!");
break;
} else if (secret > answer) {
alert("UP!!!!");
} else {
alert("DOWN!!!!");
}
}
// 정답 생성
var secret = Math.floor(Math.random() * 100) + 1;
// 입력기회 횟수
var count = 5;
while (true) {
// 사용자의 입력값
var answer = +prompt("숫자를 입력하세요! [1 ~ 100]: ");
count--;
// 정답 판정
if (secret === answer) {
alert("딩동댕~~~~ !!");
break;
} else if (secret > answer) {
alert("UP!!!!");
} else {
alert("DOWN!!!!");
}
// 카운트다운 게임 종료 조건
if (count <= 0) {
alert(`기회가 모두 소진되었습니다. 정답은 ${secret}이지렁 ㅎㅎㅎ`);
break;
} else {
alert(`기회가 ${count}번 남았습니다.`);
}
}
count--;
--count;
둘 다 가능 !
// 난이도 상수
const HIGH = 1,
MIDDLE = 2,
LOW = 3;
while (true) {
// 난이도 설정
var level = +prompt(
"1. 상 (기회 3번) | 2. 중 (기회 6번) | 3. 하 (기회 10번)"
);
if (level === HIGH) {
var count = 3;
} else if (level === MIDDLE) {
var count = 6;
} else if (level === LOW) {
var count = 10;
} else {
alert("난이도를 숫자로 다시 입력해주세요.");
continue; // 아래 과정을 건너뛰게해서 처음으로 돌아감
}
break;
}
// 정답 생성
var secret = Math.floor(Math.random() * 100) + 1;
// 입력기회 횟수
var countDown = count;
while (true) {
// 사용자의 입력값
var answer = +prompt("숫자를 입력하세요! [1 ~ 100]: ");
countDown--;
// 정답 판정
if (secret === answer) {
alert("딩동댕~~~~ !!");
break;
} else if (secret > answer) {
alert("UP!!!!");
} else {
alert("DOWN!!!!");
}
// 카운트다운 게임 종료 조건
if (countDown <= 0) {
alert(`기회가 모두 소진되었습니다. 정답은 ${secret}이지렁 ㅎㅎㅎ`);
break;
} else {
alert(`기회가 ${countDown}번 남았습니다.`);
}
}
alert("재미있는 사칙연산 게임");
alert("즐겁게 문제를 푸시다가 지겨우면 0을 누르세요~");
alert("====================================");
// 카운트
var count = 1;
while (true) {
// 정답 생성
var num1 = Math.floor(Math.random() * 50) + 1;
var num2 = Math.floor(Math.random() * 50) + 1;
// 문제
alert(`Q${count}. ${num1} + ${num2} = ??`);
var answer = +prompt("");
count++;
if (answer === num1 + num2) {
alert("정답입니다!");
} else if (answer !== num1 + num2 && answer !== 0) {
alert("틀렸어요~");
} else if (answer === 0) {
alert("게임을 종료합니다!");
break;
}
if (count === 5) {
alert("게임을 종료합니다!");
break;
}
}
alert("재미있는 사칙연산 게임");
alert("즐겁게 문제를 푸시다가 지겨우면 0을 누르세요~");
alert("====================================");
// 카운트
var count = 1;
// 정답횟수, 틀린횟수 카운트
var answerCount = 0;
var wrongCount = 0;
while (true) {
// 정답 생성
var num1 = Math.floor(Math.random() * 50) + 1;
var num2 = Math.floor(Math.random() * 50) + 1;
// 문제
alert(`Q${count}. ${num1} + ${num2} = ??`);
var answer = +prompt("");
count++;
if (answer === num1 + num2) {
alert("정답입니다!");
answerCount++;
} else if (answer !== num1 + num2 && answer !== 0) {
alert("틀렸어요~");
wrongCount++;
} else if (answer === 0) {
alert("게임을 종료합니다!");
break;
}
if (count === 6) {
alert("게임을 종료합니다!");
break;
}
}
alert("================================");
alert(`정답횟수: ${answerCount}회, 틀린횟수: ${wrongCount}회`);
alert("~~~~~~~~~ 재미있는 사칙연산 게임 ~~~~~~~~");
alert("즐겁게 문제를 푸시다가 지겨우면 0을 누르세요~");
alert("=========================================");
// 카운트
var count = 1;
// 정답, 틀린횟수 카운트
var correctCount = 0;
var wrongCount = 0;
while (true) {
// 숫자 생성
var num1 = Math.floor(Math.random() * 10) + 1;
var num2 = Math.floor(Math.random() * 10) + 1;
// 부호 생성
// 0, 1, 2 중에 하나가 생성되는 난수
var markNum = Math.floor(Math.random() * 3);
// 부호
var mark;
// 실제정답
var realAnswer;
switch (markNum) {
case 0:
mark = "+";
realAnswer = num1 + num2;
break;
case 1:
mark = "-";
realAnswer = num1 - num2;
break;
case 2:
mark = "*";
realAnswer = num1 * num2;
break;
}
// 사용자 입력값
var userAnswer = +prompt(`Q${count}. ${num1} ${mark} ${num2} = ??`);
count++;
// 정답 판정
if (userAnswer === realAnswer) {
alert(`정답입니다.`);
correctCount++;
} else if (userAnswer !== realAnswer && userAnswer !== 0) {
alert(`틀렸어요 ~`);
wrongCount++;
} else if (userAnswer === 0) {
alert(`게임을 종료합니다!`);
break;
}
}
alert(`정답횟수: ${correctCount}회, 틀린횟수: ${wrongCount}회`);
부호생성을 랜덤으로 난수를 생성하여 switch로 이어주는 식으로 썼다.
부호와 더불어 실제정답도 변수로 설정해주었다. 왜냐하면 부호를 숫자와 이어주려면 실제 식이 필요한데 부호마저 mark라는 변수로 바뀌었기 때문에 이어줄 수 없기 때문이다.
그렇게 숫자2개와 부호를 모두 랜덤으로 생성하게 만들고 내 입력값과 비교하는 if문을 작성했다!
4번
alert("~~~~~~~~~ 재미있는 사칙연산 게임 ~~~~~~~~");
alert("즐겁게 문제를 푸시다가 지겨우면 0을 누르세요~");
alert("=========================================");
while (true) {
// 난이도 설정
var level = +prompt("[ 1. 상 (1~100) | 2. 중 (1~50) | 3. 하 (1~20)]");
// 난이도에 따른 max 숫자 설정
var maxNumber;
if (level === 1) {
maxNumber = 100;
} else if (level === 2) {
maxNumber = 50;
} else if (level === 3) {
maxNumber = 20;
}
break;
}
// 카운트
var count = 1;
// 정답, 틀린횟수 카운트
var correctCount = 0;
var wrongCount = 0;
while (true) {
// 숫자 생성
var num1 = Math.floor(Math.random() * maxNumber) + 1;
var num2 = Math.floor(Math.random() * maxNumber) + 1;
// 앞의 숫자가 더 크게 설정
if (num1 < num2) {
var temp = num1;
num1 = num2;
num2 = temp;
} else if (num1 === num2) { // 같은 숫자 출제 X
continue;
}
// 부호 생성
// 0, 1, 2 중에 하나가 생성되는 난수
var markNum = Math.floor(Math.random() * 3);
// 부호
var mark;
// 실제정답
var realAnswer;
switch (markNum) {
case 0:
mark = "+";
realAnswer = num1 + num2;
break;
case 1:
mark = "-";
realAnswer = num1 - num2;
break;
case 2:
mark = "*";
realAnswer = num1 * num2;
break;
}
// 사용자 입력값
var userAnswer = +prompt(`Q${count}. ${num1} ${mark} ${num2} = ??`);
count++;
// 정답 판정
if (userAnswer === realAnswer) {
alert(`정답입니다.`);
correctCount++;
} else if (userAnswer !== realAnswer && userAnswer !== 0) {
alert(`틀렸어요 ~`);
wrongCount++;
} else if (userAnswer === 0) {
alert(`게임을 종료합니다!`);
break;
}
}
alert(`정답횟수: ${correctCount}회, 틀린횟수: ${wrongCount}회`);