๐ ์ 7์ฐ์ฃผ - FRONTENDBOOTCAMP-13th/JS-07-7zzang-Arcade GitHub Wiki
์ฐ์ฃผ์ ์กฐ์ข ์ ํตํด ์ ์ ์ ๊ฑฐํ๊ณ ์ด์๋จ๋ ์ํ ๊ฒ์์ผ๋ก, ๋ ํธ๋ก ์คํ์ผ์ ์คํ์ด์ค ์ธ๋ฒ ์ด๋ ๋๋์ ๊ตฌํํฉ๋๋ค.
๐ก๋ณดํต
- ํ๋ ์ด์ด ์ด๋ ์์คํ โ ์ข์ฐ ์ด๋ (๋ฐฉํฅํค) + ๊ณต๊ฒฉ ๊ธฐ๋ฅ
- ์ ๋ฑ์ฅ & ์ด๋ ์์คํ โ ์ผ์ ํจํด์ผ๋ก ์ด๋ํ๋ฉฐ ๊ณต๊ฒฉ ์ํ
- ์ด์ ์์คํ โ ๋ฐ์ฌ ํ ํ๋ฉด ๋ฐ์ผ๋ก ๋๊ฐ๋ฉด ์ ๊ฑฐ
| ๊ธฐ์ | ์ค๋ช |
|---|---|
| HTML | ๊ฒ์ UI ๊ตฌ์ฑ |
| CSS | ํฝ์ ์คํ์ผ ๋์์ธ ์ ์ฉ |
| TypeScript | ๊ฒ์ ๋ก์ง ๋ฐ ์ ์ ์์คํ ๊ตฌํ |
- ๋ณด์ค์ ์ถ๊ฐ โ ํน์ ์ ์ ๋๋ฌ ์ ๊ฐ๋ ฅํ ์ ๋ฑ์ฅ
- ์์ดํ ๋๋กญ ๊ธฐ๋ฅ โ ํน์ ์ ์ฒ์น ์ ๋ฌด๊ธฐ ์ ๊ทธ๋ ์ด๋ ์ ๊ณต
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| ๐จ Canvas ์ค์ | HTML5 <canvas>๋ฅผ ์ฌ์ฉํ์ฌ 2D ๊ฒ์ ๊ณต๊ฐ ๊ตฌ์ฑ |
| ๐ฎ ํ๋ ์ด์ด ์ปจํธ๋กค | ์ข์ฐ ๋ฐฉํฅํค๋ก ์ด๋, ์คํ์ด์ค๋ฐ๋ก ์ด์ ๋ฐ์ฌ |
| ๐ซ ์ด์ ์์คํ |
createBullet() ํจ์๋ก ์ด์ ๊ฐ์ฒด ์์ฑ ๋ฐ ๋ฐฐ์ด๋ก ๊ด๋ฆฌ, ํ๋ฉด ๋ฐ์ผ๋ก ๋๊ฐ๋ฉด ์ ๊ฑฐ |
| ๐ ๊ฒ์ ๋ฃจํ |
requestAnimationFrame์ ์ฌ์ฉํ ์ค์๊ฐ ๋ ๋๋ง ์ฒ๋ฆฌ |
| ๐ ๋ฐฐ๊ฒฝ ์ ๋๋ฉ์ด์ | ์ด๋ฏธ์ง ๋ ์ฅ์ ์ฐ๊ฒฐํ์ฌ ์์ฐ์ค๋ฝ๊ฒ ์คํฌ๋กค๋๋ ๋ฐฐ๊ฒฝ ๊ตฌ์ฑ |
| ๐ง ๊ณตํต ๊ฐ์ฒด ๊ตฌ์กฐ |
GameObject ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ด์ด, ์ด์ ๋ฑ์ ๊ณตํต ์์ฑ ๋ถ๋ฆฌ |
| โจ๏ธ ์ ๋ ฅ ์ด๋ฒคํธ ์ฒ๋ฆฌ |
keydown, keyup ์ด๋ฒคํธ๋ก ์
๋ ฅ ์ํ ์ ์ฅ ๋ฐ ๋ฐ์ ์ฒ๋ฆฌ |
| ๐ฆ ํ์ฅ ๊ณ ๋ ค | ์ ์ ๋, ์ถฉ๋ ํ์ , ์ ์ ์์คํ ๋ฑ ์ถ๊ฐ ๊ฐ๋ฅํ ๊ตฌ์กฐ ์ค๊ณ |
| ๋ ์ง | ๋ชฉํ | ์ค๋ช |
|---|---|---|
| Day 1~2 | โ (์๋ฃ!) ๊ธฐ๋ณธ ๊ตฌ์กฐ + ํ๋ ์ด์ด + ์ด์ + ๋ฐฐ๊ฒฝ | ์ง๊ธ๊น์ง ํ ๋ถ๋ถ |
| Day 3 | ๐ป ์ ์ ๋ ์์ฑ ๋ฐ ์ด๋ | ๊ฐ๋จํ ๋ฐฐ์ด๋ก ์ ๋ค ๋ง๋ค๊ณ , ์ข์ฐ/์๋๋ก ์ด๋๋ง ๋จผ์ ๊ตฌํ |
| Day 4 | ๐ฅ ์ถฉ๋ ํ์ (์ด์ vs ์ ) | ์ด์์ด ์ ๊ณผ ๋ฟ์ผ๋ฉด ์ ๊ฑฐ & ์ ์ ์ฒ๋ฆฌ ๋ฑ |
| Day 5 | ๐ง ์ ์ ์์คํ + ๊ฒ์ ์ค๋ฒ ์กฐ๊ฑด | ์ ์ ์ฌ๋ผ๊ฐ๊ณ , ์ ์ด ์๋๊น์ง ์ค๋ฉด ์ข ๋ฃ ์ฒ๋ฆฌ |
| Day 6 | ๐ฑ UI ์์ ์ถ๊ฐ (์ ์, ์ฌ์์ ๋ฒํผ ๋ฑ) | ์ ์ ํ์, ๊ฒ์ ์ค๋ฒ ํ๋ฉด ๋ฑ ๊ธฐ๋ณธ UI ๊ตฌ์ฑ |
| Day 7 | โจ ๋ํ ์ผ ๋ค๋ฌ๊ธฐ + ์ฌ์ด๋ or ํจ๊ณผ ์ถ๊ฐ | sprite ๊ต์ฒด, ์ฌ์ด๋ ์ถ๊ฐ, ๋ฒ๊ทธ ์์ , ๋ง๋ฌด๋ฆฌ polish |
- ์ถฉ๋ ๊ฐ์ง: SAT.js ์ด์ฉํ ๋ค๊ฐํ ํด๋ฆฌ๊ณค ์ถฉ๋ ํ ์คํธ
- ์ ์ด๋ ํจํด: ๋ผ์ธ๋ณ ํ๋ ฌ ๊ธฐ๋ฐ ์ข์ฐ ์ด๋ ํ ํ๊ฐ
-
์ด์ ๊ด๋ฆฌ:
createBullet()โ ๋ฐฐ์ด์ ์ ์ฅ โ ํ๋ฉด ๋ฐ ์ ๊ฑฐ - ๋ผ์ด๋/๋์ด๋ ์กฐ์ : ๋ผ์ด๋๋ณ ์ ์๋ยท์๋ยท๋ณด์ค ๋ฑ์ฅ ๊ธฐ์ค
