문제

XNA와 함께 C#에서 테트리스 클론을 만들고 있으며 실제로 블록을 구현하는 방법이 확실하지 않습니다.

이미지로 모양을 만드는 것이 작동한다고 생각하지 않습니다 (선이 형성 될 때 부품이 제거되기 때문에). 이것.

불행히도, 나는 조각을 만들기 위해 실제로 블록을 정의하는 방법을 모르고, 회전하게 만들기 위해 그들을 조작하는 방법을 모릅니다.

편집 : 또한 테트리스 그리드를 만드는 방법을 배우는 데 도움이 필요합니다.

도움이 되었습니까?

해결책

나는 전에 테트리스를 만들지 않았지만 어떤 생각을 한 후에, 나는 간단한 매트릭스를 사용하여 내 작품을 만들 것이라고 믿는다. 예를 들어, 전체 게임 보드는 하나의 큰 매트릭스입니다. 4x4 블록이라고 말하는 해당 매트릭스의 하위 집합은 게임 조각 일 것입니다. 4x4 블록의 어떤 부분이 채워질지는 특정 부분이 어떤 특정 조각을 만들고자하는지 결정할 것입니다. 매트릭스의 각 부분에는 부울 깃발이 채워질 수 있는지 여부를 나타낼 수 있습니다. 이것은 매우 단순한 견해이지만, 그것은 실행 가능한 솔루션이라고 생각합니다.

다른 팁

부울 매트릭스를 사용하여 화면의 상태를 모델링하십시오. 각 조각 자체는 또 다른 작은 부울 매트릭스입니다.

조각을 회전시키는 것은 좌표로 연주하는 것만 큼 간단합니다 (나는 이것을 당신에게 맡겼습니다).

렌더링 방법에 대해, 매트릭스의 각 진정한 값에 대해 피스 타일을 그립니다. ored 전류가 떨어지는 조각으로 이동하고 회전합니다.

블록의 경우 3D로 일하는 것이 좋습니다. 카메라 등을 잠그면 게임을 2D처럼 보이게 만들 수 있지만 벡터 그래픽에서 작업하면 많은 도움이됩니다. 블록은 간단한 큐브 (평평하거나 깊이가있는)입니다.

그리드의 경우 @Fortran과 @Aaron의 답변을 보면 부울 매트릭스가 트릭을 수행합니다.

아마도이 링크 Coding4fun 도움이 될 것입니다. 그것은 독일어이지만 소스 코드를 가져 와서 문제가 어떻게 해결되는지 살펴볼 수 있어야합니다.

확실히 여기, 여기 직접 다운로드 링크.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top