inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

연습문제 (달팽이)

다른 코드 참조용

344

정민균
0

void Snailing(int* snail, int size)
{
	int endOfSnail = size * size;
	int point = -1;

	int i = 1;
	int jump = 1;
	int turn = 0;
	while (i <= endOfSnail) {
		int next = jump * (1 + turn * (size - 1));
		point += next;
		for (int x = 0; x < size; x++)
		{
			*(snail + point) = i++;
			if (*(snail + point + next) != 0 || ((point%size) + next) == size || (point + next) >= endOfSnail)
				break;
			point += next;
		}
		jump = (turn == 1) ? jump * -1 : jump * 1;
		turn = (turn + 1) % 2;		
	}
}

1시간 반 가량 정말 머리를 싸매고 고민하면서 코딩했는데 해설을 보고 현탐이 와버렸습니다...

완전히 다른 스타일이라서 다른 분들이 참조하실 수 있도록 올려놓습니다..

답변 0