1. 데모 영상
https://www.youtube.com/watch?v=BNcL2K8Jx-Y
2. 핵심 구현
- 공은 벽돌(깨야하는 사각형), 벽(회색 사각형), 패들(흰색 사각형)과 충돌 시 튕겨져 나간다
- 공이 튕길 때 속도 벡터의 x 혹은 y 부호가 반대로 바뀐다
- 공이 패들 아래로 떨어지면 왼쪽 위의 똥 하나가 감소하고 똥이 남아있으면 공은 리스폰된다
- 패들에서 공이 튕길 때
- 패들 중심의 x좌표와 공 중심 x좌표 사이 거리가 멀어질수록 튕기는 공의 속도 벡터 각도는 감소한다
- 패들의 속도 벡터를 튕겨져 나가는 공의 속도 벡터에 더한다
- 튕겨져 나가는 공의 속도 벡터 최소 각도를 설정할 수 있다
- 게임 종료 조건
- 왼쪽 위의 모든 똥이 없어진다
- 모든 벽돌이 깨진다
3. 관련 링크
- 프로젝트 코드: https://github.com/nansu0425/CppGameProgramming/tree/main/BrickBreaker
- 강의
- https://www.youtube.com/watch?v=UqN9svru_rg&list=PLqCJpWy5FohcehaXlCIt8sVBHBFFRVWsx&index=40
- https://www.youtube.com/watch?v=jZOeRp8Nm20&list=PLqCJpWy5FohcehaXlCIt8sVBHBFFRVWsx&index=41
- https://www.youtube.com/watch?v=rvWFlowWSkg&list=PLqCJpWy5FohcehaXlCIt8sVBHBFFRVWsx&index=42
- https://www.youtube.com/watch?v=5miKCudxFUs&list=PLqCJpWy5FohcehaXlCIt8sVBHBFFRVWsx&index=43
- 사용 프레임워크: