๊ด€๋ฆฌ ๋ฉ”๋‰ด

JiYoung Dev ๐Ÿ–ฅ

[Computer Science] ์Šคํฌ๋ž˜์น˜๋กœ ๊ฒŒ์ž„ ๋งŒ๋“ค๊ธฐ (2023.03.15) ๋ณธ๋ฌธ

full stack

[Computer Science] ์Šคํฌ๋ž˜์น˜๋กœ ๊ฒŒ์ž„ ๋งŒ๋“ค๊ธฐ (2023.03.15)

Shinjio 2023. 3. 18. 15:11

์ฃผ์š” ๊ธฐ๋Šฅ

5๊ฐœ์˜ ์ค„์„ ํƒ€๊ณ  ์ด๋™ํ•˜๋ฉด์„œ ์žฅ์• ๋ฌผ(์›์ˆญ์ด, ๋ฐ”๋‚˜๋‚˜, ๋ฒŒ, ๋ฑ€)์„ ํ”ผํ•˜๋Š” ๊ฒŒ์ž„

90์ดˆ ๋™์•ˆ ๋ฒ„ํ‹ฐ๋ฉด ์„ฑ๊ณต

๋žœ๋ค์œผ๋กœ ๋‚ ์•„์˜ค๋Š” ์ผ€์ดํฌ๋ฅผ ๋จน์œผ๋ฉด ์ ์ˆ˜ ํš๋“

 

1. user

์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ ๋ฐฉํ–ฅํ‚ค๋ฅผ ์ด์šฉํ•˜์—ฌ ์ค„ ์ด๋™ํ•˜๊ณ  ์œ„ ์•„๋ž˜ ๋ฐฉํ–ฅํ‚ค๋ฅผ ์ด์šฉํ•˜์—ฌ ์œ„ ์•„๋ž˜๋กœ ์›€์ง์ž„

 

2. ์žฅ์• ๋ฌผ 

โ‘  user ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ”๋‚˜๋‚˜๋ฅผ ๋˜์ง€๋ฉด์„œ ์ค„์„ ํƒ€๊ณ  ์˜ฌ๋ผ๊ฐ€๋Š” ์›์ˆญ์ด

โ‘ก ์–‘์ชฝ์—์„œ ๋‚ ์•„์˜ค๋Š” ๋ฒŒ

โ‘ข ์ค„์„ ํƒ€๊ณ  ๋‚ด๋ ค์˜ค๋Š” ๋ฑ€

 

์ฃผ์š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์Šคํฌ๋ฆฝํŠธ

1. user๊ฐ€ ์ค„์„ ํƒ€๊ณ  ์˜ฌ๋ผ๊ฐ€๋Š” ๋ชจ์–‘ 

 

- 5๊ฐœ์˜ ์ค„์ด ๊ทธ๋ ค์ง„ sprite๋ฅผ ๋งŒ๋“ค๊ณ , (0, 0)์œผ๋กœ ์ด๋™์‹œํ‚ด

- 5์ดˆ์— ํ•œ ๋ฒˆ์”ฉ ์ค„ sprite๋ฅผ ๋ณต์‚ฌํ•˜๊ณ , ๊ธฐ์กด sprite๋Š” ๋งจ ๋’ค๋กœ ์ด๋™ ํ›„ ์•„๋ž˜๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ 

  → ์œ„์˜ ๊ณผ์ •์ด ์—†์œผ๋ฉด ๋ณต์ œ๋œ ์•„์ด๊ฐ€ ํ•จ๊ป˜ ์˜ฌ๋ผ๊ฐ€์„œ ๋ฐ‘์— ๋ถ€๋ถ„์ด ๋น„๊ฒŒ ๋จ (์•„๋ž˜ ๊ทธ๋ฆผ ์ฐธ์กฐ)

- ๋ณต์ œ๋œ ์ค„ sprite๋Š” 20์”ฉ y์ถ•์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ค„์„ ํƒ€๊ณ  user๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ๋” ๋งŒ๋“ค์—ˆ์Œ. 

 

 

2. user ์„ค์ •

user ์›€์ง์ด๋Š” ๋ชจ์–‘ ๋ฐ”๊พธ๊ธฐ (ํŒ”์ผ ๋ป—์—ˆ๋‹ค ํŽผ์ณค๋‹ค)

๋ฌดํ•œ๋ฐ˜๋ณต์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ์–‘ 3์—์„œ ๋ชจ์–‘ 2๋กœ ๊ณ„์† ๋ฐ”๊พธ๊ธฐ

 

3. user ์œ„์ชฝ ํ™”์‚ดํ‘œ, ์•„๋ž˜์ชฝ ํ™”์‚ดํ‘œ ํ‚ค ๋ˆŒ๋ €์„ ๋•Œ ์›€์ง์ž„ ์„ค์ •ํ•˜๊ธฐ

y ์ขŒํ‘œ ๊ฐ’์ด 210๋ณด๋‹ค ์ปค์ง€๋ฉด ํ˜น์€ -190๋ณด๋‹ค ์ž‘์•„์ง€๋ฉด ์›€์ง์ด์ง€ ์•Š๊ฒŒ

์œ„, ์•„๋ž˜ ํ™”์‚ดํ‘œ ๋ˆ„๋ฅผ๋•Œ๋งˆ๋‹ค ์œ„ ํ˜น์€ ์•„๋ž˜๋กœ 10์”ฉ ์ด๋™

 

 

4. user ์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ ํ™”์‚ดํ‘œ ํ‚ค ๋ˆŒ๋ €์„ ๋•Œ ์›€์ง์ž„ ์„ค์ •

์™ผ์ชฝ ํ™”์‚ดํ‘œ ํ‚ค

1๋ฒˆ ์ค„์— ์žˆ์œผ๋ฉด ์•„๋ฌด ๋™์ž‘ X

2๋ฒˆ ์ค„์— ์žˆ์œผ๋ฉด x ์ขŒํ‘œ -90๋งŒํผ ์ด๋™ํ•˜๊ณ , ๋ณ€์ˆ˜ ํƒ€๊ณ  ์žˆ๋Š” ์ค„์„ 1๋กœ ๋ฐ”๊พธ๊ธฐ (3,4,5 ๋™์ผ)

 

 

์˜ค๋ฅธ์ชฝ ํ™”์‚ดํ‘œ ํ‚ค๋ฅผ ๋ˆŒ๋ €์„ ๋•Œ

x์ขŒํ‘œ๋ฅผ 90๋งŒํผ ์ด๋™ํ•˜๋˜, ์ˆ˜ํ–‰๋ฌธ ๋งˆ์ง€๋ง‰์— ๋ฉˆ์ถ”๊ธฐ ์ถ”๊ฐ€ 

WHY?

๋ฉˆ์ถ”๊ธฐ๊ฐ€ ์—†์œผ๋ฉด ๋ณ€์ˆ˜๊ฐ€ ๊ณ„์†ํ•ด์„œ 1์—์„œ 5๋กœ ์ด๋™ํ•˜์—ฌ 1๋ฒˆ ์ค„์—์„œ 5๋ฒˆ ์ค„๋กœ ๋ฐ”๋กœ ์ด๋™ํ•˜๊ฒŒ ๋จ.

์ด ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋ฉด ์กฐ๊ฑด๋ฌธ ์ˆœ์„œ๋ฅผ ๋ฐ˜๋Œ€๋กœ ํ•˜๋ฉด ๋จ

 

 

3. ์–‘์ชฝ์—์„œ ๋‚ ์•„์˜ค๋Š” ๋ฒŒ

์ฒ˜์Œ์— ๋ฒŒ์„ ์ˆจ๊ฒผ๋‹ค๊ฐ€ ๋žœ๋คํ•œ ์ดˆ ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋žœ๋ค ์ดˆ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๋ณด์ด๊ธฐ

์™ผ์ชฝ์€ 1, ์˜ค๋ฅธ์ชฝ์€ 2๋กœ ๋ณ€์ˆ˜ ์„ค์ •

x=-300 y๋Š” ๋žœ๋ค ์œ„์น˜์—์„œ user ํ–ฅํ•ด์„œ ์ด๋™ํ•˜๊ณ  5๋งŒํผ ์ด๋™ํ•˜๋‹ค ๋ฒฝ์— ๋‹ฟ์œผ๋ฉด ์ˆจ๊ธฐ๊ธฐ

์˜ค๋ฅธ์ชฝ๋„ ๋˜‘๊ฐ™์ด ์ง„ํ–‰

 


user์— ๋ฒŒ์ด ๋‹ฟ์œผ๋ฉด ๊ฒŒ์ž„ ๋

 

 

4. ์œ„์—์„œ ์ค„์„ ํƒ€๊ณ  ๋‚ด๋ ค์˜ค๋Š” ๋ฑ€

๋‚œ์ˆ˜ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ดˆ ๊ธฐ๋‹ค๋ฆฐ ํ›„ ์›ํ•˜๋Š” ์ค„์˜ ์œ„์น˜๋กœ ์ด๋™ํ›„ y์ถ• ์•„๋ž˜ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™. 

 

 

5. ์ค„์„ ํƒ€๊ณ  ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ๋ฐ”๋‚˜๋‚˜๋ฅผ ๋˜์ง€๋Š” ์›์ˆญ์ด (๋‚ด๊ฐ€ ๊ตฌํ˜„)

์ˆ˜์ดˆ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ์›ํ•˜๋Š” ์ค„๋กœ ์ด๋™ ํ›„ ๋ฐ”๋‚˜๋‚˜๋กœ ์‹ ํ˜ธ ๋ณด๋‚ด๊ธฐ. ๊ทธ๋ฆฌ๊ณ  y์ถ• ์œ„์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋‹ค 180์„ ๋„˜์–ด๊ฐ€๋ฉด ์ˆจ๊ธฐ๊ธฐ

 

 

์›์ˆญ์ดํ•œํ…Œ์„œ ์‹ ํ˜ธ๋ฅผ ๋ฐ›์œผ๋ฉด user ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ”๋‚˜๋‚˜ ๋˜์ง€๊ธฐ

 

 

6. ๋žœ๋ค ๋ฐฉํ–ฅ์œผ๋กœ ๋–จ์–ด์ง€๋Š” ์ผ€์ดํฌ

start ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ผ€์ดํฌ๊ฐ€ ๋ณด์ด๊ณ , ์ผ€์ดํฌ ๋ฐฉํ–ฅ์„ 1๋ถ€ํ„ฐ 4 ์‚ฌ์ด ๋‚œ์ˆ˜๋กœ ์ด๋™ ํ›„ ํ™”๋ฉด ์ „์ฒด ๋žœ๋คํ•œ ์œ„์น˜๋กœ ์ด๋™์‹œํ‚ค๊ธฐ

์—ฌ๊ธฐ์„œ 1,2,3,4๋Š” ์™ผ์ชฝ๋ฒฝ, ์œ„์ชฝ๋ฒฝ, ์˜ค๋ฅธ์ชฝ๋ฒฝ, ์•„๋ž˜์ชฝ๋ฒฝ ๋ถ€๊ทผ (๋Ÿฌํ”„ํ•˜๊ฒŒ ๋ฒ”์œ„ ์„ค์ •)

 

 

7. start ๋ฒ„ํŠผ

start ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ game start ์‹ ํ˜ธ ๋ณด๋‚ด๊ธฐ