반응형
주사위 게임
주사위 게임
- 랜덤한 수를 뽑아 변수에 저장
- 자신이 입력한 수와 일치하면 끝나는 게임(틀리면 무한 반복)
[출력 예시]
주사위 숫자를 맞춰보세요.(1~6) 3
틀렸습니다.
주사위 숫자를 맞춰보세요.(1~6) 4
맞췄습니다
[코드]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
'use strict';
while(true){
let rand = Math.floor(Math.random()*6) + 1; //1~6까지 랜덤한 수 생성
let user = Number(prompt('주사위 숫자를 맞춰보세요.(1~6)')); //user가 입력한 값
if(rand == user){ // 랜덤값과 유저 값이 같다면
alert('맞췄습니다'); // 맞췄습니다 팝업
break;
}else{ // 랜덤값과 유저값이 같지않다면
alert('틀렸습니다'); //틀렸습니다 팝업
}
}
</script>
</body>
</html>
[결과]
가위바위보 게임
가위바위보
-랜덤한 수를 뽑아 변수에 저장(1. 가위, 2. 바위, 3.보)
-자신의 입력한 가위, 바위, 보와 비교하여 결과를 출력
[출력예시]
가위,바위,보 중 하나를 입력하세요. 가위
컴퓨터 : 바위, 유저 : 가위 졌습니다.
가위,바위,보 중 하나를 입력하세요. 가위
컴퓨터 : 보, 유저 : 가위 이겼습니다. 게임을 종료합니다.
[코드]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
'user strict';
let flag = true;
while(flag){
let computer = Math.floor(Math.random()*3);
// 0 : 가위, 1:바위, 2:보
let user = prompt('가위,바위,보 중에 입력해주세요.'); //유저가 입력한 값 저장
switch (user){ // user 값으로 비교
case '가위': // user가 가위를 입력했을 때
//모든 경우의 수 if문으로 결과값 나누기
if(computer == 0) alert(`컴퓨터: ✌, 유저 : ✌ 비겼습니다.`);
if(computer == 1) alert(`컴퓨터: ✊, 유저 : ✌ 졌습니다.`);
if(computer == 2){
alert(`컴퓨터: ✋, 유저 : ✌ 이겼습니다. 게임을 종료합니다.`);
flag = false; // flag가 false가 되며 while문이 종료된다
}
break;
case '바위':
if(computer == 0){
alert(`컴퓨터: ✌, 유저 : ✊ 이겼습니다. 게임을 종료합니다.`);
flag = false;
}
if(computer == 1) alert(`컴퓨터: ✊, 유저 : ✊ 비겼습니다.`);
if(computer == 2) alert(`컴퓨터: ✋, 유저 : ✊ 졌습니다.`);
break;
case '보':
if(computer == 0) alert(`컴퓨터: ✌, 유저 : ✋ 졌습니다.`);
if(computer == 1){
alert(`컴퓨터: ✊, 유저 : ✋ 이겼습니다. 게임을 종료합니다.`);
flag = false;
}
if(computer == 2)alert(`컴퓨터: ✋, 유저 : ✋ 비겼습니다.`);
break;
}
}
document.write(`<h2>승리를 축하합니다🎉</h2>`)
</script>
</body>
</html>
[결과]
로또 번호 추첨
로또 번호 예측 프로그램
- 1 ~ 45까지의 랜덤한 수를 총 6개 추출
- 같은 수가 중복되어 추출되면 안됨
- 배열을 이용
- 보너스 번호 따로 뽑기
- 숫자가 중복되면 안됨
[코드]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let rottoNum = []; //로또 번호를 담을 배열 생성
alert('로또 번호를 추첨하려면 확인버튼을 눌러주세요.')
for(let i = 0; i < 6 ; i++){ //보너스 번호를 제외한 5개의 번호 생성을 위한 for문
rottoNum[i] = Math.floor(Math.random()*45)+1;
//1~45까지의 랜덤한 숫자 5개를 rottoNum 배열에 담기
for(let j = 0; j < i; j++){ //중복 검사
if(rottoNum[i] == rottoNum[j]){ //현재 있는 로또번호와 새로 뽑은 로또 번호가 같다면
i--; // i를 -1해 다시 뽑음
break;
}
}
//보너스 번호 추첨
let bonusNum = Math.floor(Math.random()*45)+1;
// 중복 검사
for(let i = 0; i < rottoNum.length; i++){
if(bonusNum == rottoNum[i]){
bonusNum = Math.floor(Math.random()*45)+1;
}
}
}
document.write(`<h2>[ 로또 추첨 번호 🎱]</h2>`)
rottoNum = rottoNum.join(' ');
document.write(`<h2>${rottoNum} + ${bonusNum}</h2>`);
</script>
</body>
</html>
[결과]
열심히 공부하고 있지만, 오류 사항이 존재 할 수 있습니다.
수정 사항이 존재 할 경우 알려주시면 감사하겠습니다 <(__)>
반응형
'프로그래밍 > 자바스크립트' 카테고리의 다른 글
09 사용자 정의 함수(function) (0) | 2021.06.16 |
---|---|
08 자바스크립트의 배열과 for in, for of, forEach문 (0) | 2021.06.15 |
06 연산자 (0) | 2021.06.10 |
05 대화상자 (0) | 2021.06.09 |
댓글