SonHyeWon / SnakeGame

GNU General Public License v3.0
0 stars 2 forks source link

mapArray 배열의 위치 변경 #38

Closed mellime closed 4 years ago

mellime commented 4 years ago

문제 파트 및 상황 서술

프로젝트 진행 중 mapArray 배열이 전역 변수로 선언되어 있지만 drawUI 함수에서만 사용하고 있는 것을 발견했습니다. 이에, mapArray 배열을 drawUI 함수의 지역 변수로 선언하는 것이 어떨지 팀원 분들의 의견을 구해보고자 합니다.

원하는 작동 방식

mapArray 배열이 지역 변수로써 drawUI 함수가 끝나면 사라졌으면 합니다.

추가로 서술을 원하는 내용

mapArray 배열을 지역 변수로 넣게 되면 drawUI 함수의 길이가 너무 길어져 오히려 가독성이 떨어지는 것이 아닌가 하는 우려가 들어, 지역 변수로 선언 시 두 가지 구현 방식 중 어느 것이 좋을지도 여쭤보고 싶습니다.

  1. 전역 변수로 선언된 내용 그대로 drawUI 함수 안에 넣는다.
  2. mapArray 배열을 지우고, 원본 코드의 box 함수처럼 for문을 통해 맵을 출력한다.
hongyj9823 commented 4 years ago

저는 가독성을 생각하면 원본 코드의 box 함수처럼 for문을 통해 맵을 출력하는 것이 낫다 생각합니다. 지역변수로 선언하는 것이 더 나은 것 같습니다.

MtNight commented 4 years ago

ui 변수처럼 형태가 복잡한 경우 배열을 차용하는 게 좋지만, 이거는 단순한 박스니까 일반적인 for문으로 찍는 것이 나아보입니다.

SonHyeWon commented 4 years ago

이중for문으로 출력하실 경우, for{ 첫 줄 출력 for {마지막 전 줄까지 출력} 첫 줄 출력 } 이렇게 되나요? + 문자로 시작하는 줄은 어떻게 처리되나 궁금합니다.

mellime commented 4 years ago

@SonHyeWon 다음과 같은 알고리즘을 사용할 예정입니다. for{ if (첫 줄이거나 마지막 줄) { if (커서의 x의 좌표가 처음이거나 마지막 좌표) { } else { } } else { for { } } } 보다 나은 구현 방법에 대한 의견이 있다면 감사히 받겠습니다!

SonHyeWon commented 4 years ago

@mellime 답변 감사합니다. 제시해주신 알고리즘이 좋은 듯 하네요. 2번 구현 방식에 의견 드립니다.

mellime commented 4 years ago

의견 감사합니다! 그럼 다음과 같은 방식으로 수정하도록 하겠습니다.

  1. 전역 변수 삭제
  2. for문으로 구현