비즈니스 환경에서 일하기 때문에 더 이상 좋은 콘솔을 코딩하거나 사용하지 않아도됩니다. 내 일은 반복적이어서 정말 도전적이지 않습니다.어레이 할당 스네이크
C# 콘솔에서 뱀 게임을 작성하여 직접 도전하기로 결정했습니다. 소년이 내 두뇌 활동을 했어. 하루 하루를 열심히 생각할 필요는 없지만 프로그래밍 기술이 좋아지지 않는다고 느꼈습니다.
그래도 문제가 있습니다. 내가 취한 기본 접근법은 뱀 클래스와 음식 클래스를 만드는 것이 었습니다. 뱀 클래스는 배열을 사용하여 모든 좌표를 저장 한 다음 드로잉 클래스가 화면에 그리는 좌표를 결정합니다.
문제는 여러분이 뱀을 움직이면 배열이 채워집니다 (성능면에서 최대 250). 배열의 끝에 도달하면 마지막 몇 개의 좌표를 임시 배열에 복사하고 원래의 어레이로 옮기고 temp coords를 주 어레이로 다시 복사하십시오.
문제는 원래 배열에 x 좌표를 다시 복사하는 것입니다. 필자는 수동으로 테스트하기로 결정했으나,이 솔루션을 사용하면 화면에 나타나는 불쌍한 뱀이 화면에 표시되지 않게되었습니다.
프로그래밍 방식으로이 작업을 수행하려면 어떻게해야합니까?
spoints[4, 0] = stemp[249, 0];
spoints[4, 1] = stemp[249, 1];
spoints[4, 2] = stemp[249, 2];
spoints[3, 0] = stemp[248, 0];
spoints[3, 1] = stemp[248, 1];
spoints[3, 2] = stemp[248, 2];
spoints[2, 0] = stemp[247, 0];
spoints[2, 1] = stemp[247, 1];
spoints[2, 2] = stemp[247, 2];
spoints[1, 0] = stemp[246, 0];
spoints[1, 1] = stemp[246, 1];
spoints[1, 2] = stemp[246, 2];
spoints[0, 0] = stemp[245, 0];
spoints[0, 1] = stemp[245, 1];
spoints[0, 2] = stemp[245, 2];
누군가가 정말로 코드를 파고 드는 경우 여기에 전체 게임을 게시하는 데 정말로 신경 쓰지 않아도됩니다.
입력 된 컬렉션/사전 대신 배열을 사용하면 훨씬 어려워집니다. –