본문 바로가기

Algorithm/Implementation

게임 개발

 

 

유형

구현-시뮬레이션

 

 

코드

array = [
    [1, 1, 1, 1, 1],
    [1, 0, 0, 0, 1],
    [1, 1, 0, 1, 1],
    [1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1]
]
start_dir = 0
start_x = 1
start_y = 1
dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]
count = 0
result = 1

while(1):
    array[start_x][start_y] = 1
    left = start_dir-1
    if left < 0:
        left = 3
    pos_x = start_x + dx[left] 
    pos_y = start_y + dy[left]
    if 0 <= pos_x <= len(array) and 0 <= pos_y <= len(array):
        if array[pos_x][pos_y] == 0:
            array[pos_x][pos_y] = 1
            start_x = pos_x
            start_y = pos_y
            count = 0
            result += 1
    start_dir -= 1
    if start_dir < 0:
        start_dir = 3
    count += 1
    for i in array:
        print(i)
    print(" ")
    if count >= 4:
        break

print(result)

 

 

구현은 사실 설명할 것이 없다. 그냥 차분히 구현해야한다. 다만, 조금 복잡한 구현은 나중에 변수나 함수들이 헷갈리기 시작한다. 또한 방향또한 헷갈릴때가 있는 것 같다. 방향은 많은 연습이 필요하고 변수는 만들때 그 변수의 의미를 잘 표현해줄 이름으로 선정하는 것이 중요한 것 같다.

'Algorithm > Implementation' 카테고리의 다른 글

문자열 재정렬  (0) 2023.04.09
럭키 스트레이트  (0) 2023.04.09
왕실의 나이트  (0) 2023.04.08
시각  (0) 2023.04.08
상하좌우  (1) 2023.04.08