일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Promise Chaining
- 화살표함수 기본 개념
- probs.children
- justfiy-content
- probs
- 캡슐화 (encapsulation)
- Promise all
- 재귀적으로 생각하기
- 참조자료형
- 상속 (inheritance)
- 조건문
- 클래스 문법 구조
- 다형성 (polymorphism)
- 얕은복사와 깊은 복사
- 객체지향 프로그래밍 특징
- class
- 첫번째 미니 프로잭트
- 문자열을 객체로 만드는법
- string
- Instanc
- Math.floor()
- align-iitems
- css 정리
- align-content
- 재귀함수 탬플릿
- 추상화 (abstraction)
- flex-direction
- props비구조화 할당
- display
- async/await
Archives
- Today
- Total
희락코딩
react_up down 간단한 웹 게임 만들기! 본문
728x90
반응형
up_and_down_game
미니 프로젝트 목표
React에서 useState와 input값에 대한 이해를 향상 시키고 렌덤함수와 setTimeout를 응용해서 간단한 웹 게임 구현하기!
미니 프로젝트 내용
리엑트를 활용한 up down 간단한 웹 게임 입니다.
사용 스택
react, html, css
기능 및 시연 영상
- 1부터 30까지의 임의 수를 맞추는 게임 입니다.
- 정답을 맞추면 셋타임아웃을 통해 새로운 렌덤 숫자가 생성됩니다.
코드
import React,{useState} from 'react'
import './App.css';
function App() {
const [status, setStatus] = useState('1~30 사이의 숫자를 맞춰보세요!');
const [answer, setAnswer] = useState(0);
const [righyAnswer, setRightAnser] = useState(Math.ceil(Math.random()*30));
function returnFunc(e){
e.preventDefault();
if(+answer === righyAnswer){
console.log(answer)
setStatus("정답!!!")
setTimeout(function(){
resetFunc();
}, 2000)
}else if(answer < righyAnswer){
setStatus("업 ▲")
}else{
setStatus("다운 ▼")
}
}
// 게임 리셋 후 또 다른 렌덤 숫자 생성,
// 텍스트 상태 변경
// 현재 input 초기값 설정
function resetFunc(){
setRightAnser(Math.ceil(Math.random()*30))
setStatus("한번더! 1~30 사이의 숫자를 맞춰보세요!")
setAnswer(0);
}
// input 값을 가져올수 있는 함수
function changeAnswer(e){
setAnswer(e.target.value);
}
return (
<div class="background-card">
<form onSubmit={returnFunc}>
<h1>Up and Down</h1>
<p>{status}</p>
<input
type="number" max="30" min="1"
value={answer} onChange={changeAnswer} />
<button>확인</button>
</form>
</div>
);
}
export default App;
자바스크립트의 기본적 지식만 있다면 리엑트로 충분히 간단한 게임을 만들수 있습니다!
728x90
반응형
'MiNI project' 카테고리의 다른 글
자바스크립트로 Momentum app 만들기! (0) | 2022.01.24 |
---|---|
Vue로 웹 사이트 만들기! (2) | 2021.12.24 |
Movie app 만들기 - with 인프런 (0) | 2021.06.15 |
react로 나만의 웹사이트 만들기!!! # useState, props, router (1) | 2021.05.23 |
로그인 입력 폼 구현하기 _ 유효성 검사# 수정 (0) | 2021.04.26 |
Comments