[디지털 시스템] 전공과목 팀프로젝트 - 게임 만들기
- 팀원 A, B
- Vivado 2018.2
- ZedBoard Zynq Evaluation and Development Kit
- 알까기 당구
- 노란공 : 플레이어1, 빨간공 : 플레이어2
- 상대방 공을 홀에 집어 넣어야 승리
- 자기 공 들어가면 패배
- 본인 차례에 키패드를 이용하여 발사 각도와 발사 속력을 조절
- 조절 후 발사
- 당구 역학은 적용하지 못함 (삼각함수 사용X)
- 속력과 각도에 대응하는 x축 속력과 y축 속력 테이블을 만들어 놓음
- input : 속력, 각도
- output : x축 속력, y축 속력
- 공끼리 충돌 시 움직이는 공의 속도 정보를 부딪친 공에 그대로 인가
- 공의 속도는 시간에 비례하여 일정하게 줄어들음
- 정지 직전에 직선운동을 하는 이유는 x축과 y축 속력 중 하나가 먼저 0에 수렴하기 때문
- x축이나 y축 성분 하나가 0일 때 움직임을 멈추는 방식으로 구현한다면 좀 더 자연스러운 표현이 가능했을 것