Skip to content

🎹 [2023-1ν•™κΈ°] 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° 1 - Rhythm Dance - C++ μ½˜μ†” 기반 리듬 κ²Œμž„ 🎡

Notifications You must be signed in to change notification settings

lshbluesky/RhythmGame

Repository files navigation

[C++] Rhythm Dance - μ½˜μ†” 기반 리듬 κ²Œμž„ 🎹

Thumbnail


πŸ“– ν”„λ‘œμ νŠΈ μ†Œκ°œ

  • νŒ€ 이름 : Vision(λΉ„μ „)
  • ν”„λ‘œμ νŠΈλͺ… : Rhythm Dance - C++ μ½˜μ†” 기반 리듬 κ²Œμž„
  • ν”„λ‘œμ νŠΈ κΈ°κ°„ : 2023-03-08 ~ 2023-06-07
  • ν”„λ‘œμ νŠΈ ν˜•νƒœ : [2ν•™λ…„ 1ν•™κΈ° - 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° 1] 전곡과λͺ© νŒ€ ν”„λ‘œμ νŠΈ
  • ν”„λ‘œμ νŠΈ μ„€λͺ…
    • λ…ΈνŠΈκ°€ λ‚΄λ €μ˜€λ©΄ λ©œλ‘œλ””μ™€ λ°•μžμ— 맞좰 ν‚€λ³΄λ“œμ˜ 6개 ν‚€λ₯Ό λˆŒλŸ¬μ„œ ν”Œλ ˆμ΄ν•˜λŠ” C++ μ½˜μ†” 기반의 리듬 κ²Œμž„μž…λ‹ˆλ‹€.
    • IVE - I AM μŒμ•…μ„ 기반으둜 λ©œλ‘œλ””μ™€ λ°•μžμ— 맞게 λ…ΈνŠΈκ°€ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
    • FMOD μ‚¬μš΄λ“œ 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ 리듬 κ²Œμž„μ˜ BGM을 μž¬μƒν•©λ‹ˆλ‹€.

πŸ—‚οΈ λͺ©μ°¨

  1. 개발 λͺ©ν‘œ 및 μΆœμ‹œ λ°°κ²½
  2. 개발 ν™˜κ²½
  3. μ‚¬μš© 기술 μŠ€νƒ
  4. 개발 κΈ°κ°„
  5. 개발 쀑점 사항
  6. ν˜‘μ—… 및 ν˜•μƒκ΄€λ¦¬
  7. ν”„λ‘œμ νŠΈ μ„±κ³Ό 및 λŠλ‚€μ 
  8. κ²Œμž„ μ‹œμ—° λͺ¨μŠ΅

1. πŸ’‘ 개발 λͺ©ν‘œ 및 μΆœμ‹œ λ°°κ²½

  • 개발 λͺ©ν‘œ : C++ 객체지ν–₯의 νŠΉμ„±μ„ ν™œμš©ν•˜λ©΄μ„œ, μŒμ•…μ˜ λ©œλ‘œλ””μ™€ λ°•μžμ— λ§žμΆ°μ„œ ν‚€λ₯Ό λˆ„λ₯΄λŠ” 리듬 κ²Œμž„μ„ κ°œλ°œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

2. πŸ› οΈ 개발 ν™˜κ²½

  • 개발 μ–Έμ–΄ : C, C++
  • 라이브러리 : FMOD Sound Library
  • IDE : Microsoft Visual Studio Community 2022
  • 버전 및 ν˜•μƒ 관리 : GitHub Desktop

3. πŸ“š μ‚¬μš© 기술 μŠ€νƒ

  • C++

    • ν΄λž˜μŠ€μ™€ 객체
    • μΊ‘μŠν™” 및 정보 은닉
  • FMOD Sound Library

    • FMOD 라이브러리λ₯Ό ν†΅ν•œ 리듬 κ²Œμž„μ˜ BGM μž¬μƒ
    • GoF λ””μžμΈ νŒ¨ν„΄ : 생성 νŒ¨ν„΄ - 싱글톀 νŒ¨ν„΄

4. πŸ“† 개발 κΈ°κ°„

  • ν”„λ‘œμ νŠΈ 기획, 뢄석, 섀계 : 2023-03-08 ~ 2023-04-05
  • ν”„λ‘œμ νŠΈ 개발 : 2023-04-05 ~ 2023-06-06
  • ν…ŒμŠ€νŠΈ : 2023-05-31 ~ 2023-06-06
  • μ΅œμ’… λ°œν‘œ : 2023-06-07

5. 🎯 개발 쀑점 사항

  • λ‹€μŒκ³Ό 같은 C++ 객체지ν–₯의 νŠΉμ„±μ΄ ν™œμš©λ˜λ„λ‘ κ°œλ°œν•˜μ˜€μŠ΅λ‹ˆλ‹€.
    • ν΄λž˜μŠ€μ™€ 객체
    • μΊ‘μŠν™” 및 정보 은닉
  • FMOD μ‚¬μš΄λ“œ λΌμ΄λΈŒλŸ¬λ¦¬μ— 싱글톀 νŒ¨ν„΄μ΄ μ μš©λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • 회의λ₯Ό μ§„ν–‰ν•˜μ—¬ μ§„μ²™ 사항을 κ³΅μœ ν•˜κ³  ν”Όλ“œλ°±ν•˜κ³ , νšŒμ˜λ‘μ„ μž‘μ„±ν•˜λ©΄μ„œ μ§„μ²™ 관리가 μ΄λ£¨μ–΄μ§ˆ 수 μžˆλ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • GitHubλ₯Ό ν†΅ν•˜μ—¬ νŒ€μ› κ°„μ˜ ν˜‘μ—… 및 μ†ŒμŠ€ μ½”λ“œμ˜ 버전을 κ΄€λ¦¬ν•˜μ—¬ ν˜•μƒ 관리가 μ΄λ£¨μ–΄μ§ˆ 수 μžˆλ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 개발 κ³Όμ •μ—μ„œ 어렀움 λ˜λŠ” 였λ₯˜κ°€ λ°œμƒν•  μ‹œ νŒ€μ› κ°„ μ„œλ‘œ ν˜‘λ ₯ν•˜μ—¬ ν•΄κ²°ν•˜λŠ” 과정을 κ°€μ§ˆ 수 μžˆλ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

6. πŸ—ƒοΈ ν˜‘μ—… 및 ν˜•μƒκ΄€λ¦¬

  • GitHubλ₯Ό ν†΅ν•œ ν˜‘μ—… : 각 νŒ€μ›μ΄ 개발 및 μž‘μ—…ν•œ μ†ŒμŠ€ μ½”λ“œλ₯Ό λ³Έ GitHub μ €μž₯μ†Œμ—μ„œ Pull Request μƒμ„±ν•˜κ³ , κ²€ν†  및 승인 ν›„ Merge(병합)ν•˜λŠ” λ°©μ‹μœΌλ‘œ ν˜‘μ—…μ„ μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • ν˜•μƒ 관리 : μ†ŒμŠ€ μ½”λ“œμ˜ 버전 κ΄€λ¦¬λŠ” GitHubλ₯Ό 톡해 Commit λ‚΄μ—­μœΌλ‘œ κ΄€λ¦¬λ˜λ„λ‘ ν•˜μ—¬ ν˜•μƒ 관리λ₯Ό μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

7. πŸ“Š ν”„λ‘œμ νŠΈ μ„±κ³Ό 및 λŠλ‚€μ 

  • C++의 ν΄λž˜μŠ€μ™€ 객체, μΊ‘μŠν™” 및 정보 μ€λ‹‰μ˜ νŠΉμ„±μ„ μ†ŒμŠ€ μ½”λ“œλ‘œ 직접 κ΅¬ν˜„ν•˜λ©° 이해할 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
    • private둜 접근이 μ œν•œλœ ν•„λ“œ 및 λ©”μ„œλ“œλŠ” 이λ₯Ό μ ‘κ·Όν•˜κΈ° μœ„ν•œ public λ©”μ„œλ“œλ₯Ό ν†΅ν•΄μ„œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • C++μ—μ„œ 싱글톀 νŒ¨ν„΄μ„ κ΅¬ν˜„ν•˜λŠ” 방법을 μŠ΅λ“ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
    • ν΄λž˜μŠ€μ—μ„œ μƒμ„±μžμ˜ μ ‘κ·Ό μ œν•œμžλ₯Ό private둜 μ§€μ •ν•˜μ—¬, ν•΄λ‹Ή 클래슀의 객체λ₯Ό ν•œ 번만 μƒμ„±ν•˜κ³  이λ₯Ό κ³΅μœ ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
  • Visual Studioμ—μ„œ μ™ΈλΆ€ 라이브러리λ₯Ό μ‚¬μš©ν•˜λŠ” 방법을 μŠ΅λ“ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
    • FMOD μ‚¬μš΄λ“œ 라이브러리λ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄ ν”„λ‘œμ νŠΈ μ„€μ •μ˜ 포함 디렉터리, 라이브러리 디렉터리 섀정을 λ³€κ²½ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  • 전곡과λͺ©μ—μ„œ νŒ€ ν”„λ‘œμ νŠΈλ₯Ό 처음 μ§„ν–‰ν•˜λŠ” κ²ƒμ΄μ–΄μ„œ 쑰금 λ―Έν‘ν•˜μ§€λ§Œ, λ‹€μŒ ν”„λ‘œμ νŠΈμ—μ„œλŠ” μ•„λž˜μ˜ 사항을 쑰금 더 λ³΄μ™„ν•˜μ—¬ μ§„ν–‰ν•˜λ©΄ 쒋을 것 κ°™λ‹€λŠ” 생각이 λ“€μ—ˆμŠ΅λ‹ˆλ‹€.
    • WBSλ₯Ό ν†΅ν•œ 진척관리
    • ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό ν†΅ν•œ ν’ˆμ§ˆκ΄€λ¦¬

8. πŸ“Έ κ²Œμž„ μ‹œμ—° λͺ¨μŠ΅


메인 ν™”λ©΄

κ²Œμž„ μ‹œμž‘ μ „ μ€€λΉ„ ν™”λ©΄

κ²Œμž„ μ§„ν–‰ ν™”λ©΄ 1

κ²Œμž„ μ§„ν–‰ ν™”λ©΄ 2

λ…ΈνŠΈ 싱크 쑰절 메뉴

κ²Œμž„ μ’…λ£Œ ν™”λ©΄

About

🎹 [2023-1ν•™κΈ°] 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° 1 - Rhythm Dance - C++ μ½˜μ†” 기반 리듬 κ²Œμž„ 🎡

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages