Javascript/GMA(2302~)
23.04.20 자바스크립트 수학객체 - 가위바위보게임 2탄
hyerin1201
2023. 4. 23. 14:07
자바스크립트의 수학객체를 활용하여 가위바위보 게임을 만들어보기
HTML
<body>
<div class="container">
<div class="block">
<h3>컴퓨터 선택 :</h3>
<p class="computer-choice">??</p>
</div>
<div class="block">
<h3>사용자 선택 :</h3>
<p class="you-choice">??</p>
</div>
</div>
<div class="buttons">
<button class="red">가위</button>
<button class="blue">바위</button>
<button class="green">보</button>
</div>
<div class="result">가위바위보!</div>
</body>
CSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
row-gap: 30px;
}
.container {
display: flex;
flex-direction: column;
row-gap: 10px;
}
.block {
display: flex;
column-gap: 10px;
align-items: center;
}
button {
width: 70px;
height: 70px;
border-radius: 15px;
border: none;
color: #fff;
font-size: 1.5em;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}
.buttons {
display: flex;
column-gap: 15px;
}
.red {
background-color: red;
}
.blue {
background-color: blue;
}
.green {
background-color: green;
}
.result {
font-size: 2em;
font-weight: bold;
}
Javascript
// 1.버튼에 대한 정의 - 가위 바위 보에 따라 어떠한 값을 부여할 것인가
// 2. 컴퓨터 선택에 대한 정의 - Math 객체 사용
// 3. 컴퓨터와 사용자 선택에 대해 우열을 가릴 수 있는 조건식
// 4. 컴퓨터와 사용자 선택 값에 따른 결과를 출력할 공간에 대한 정의
const buttons = document.querySelectorAll("button");
const result = ["가위", "바위", "보"];
const computerChoice = document.querySelector(".computer-choice")
const userChoice = document.querySelector(".you-choice")
const winner = document.querySelector(".result")
const show = (user, computer, result) => {
computerChoice.innerText = computer;
userChoice.innerText = user;
winner.innerText = result;
}
const game = (user, computer) => {
if(user == computer) {
message = "무승부!"
} else {
switch(user + computer) {
case "가위보" :
case "바위가위" :
case "보바위" :
message = "사용자승리!"
break;
case "가위바위" :
case "바위보" :
case "보가위" :
message = "컴퓨터승리!"
break;
}
}
show(user, computer, message)
};
const play = (event) => {
const user = event.target.innerText;
const randomIndex = Math.floor(Math.random() * result.length);
const computer = result[randomIndex];
game(user, computer);
}
buttons.forEach((button) => {
button.addEventListener("click", play)
})