대학교 1학년 동아리 첫 프로젝트로 보드게임 유저 인터페이스를 담당하고 있는데요, 기본적으로 칸 나누기, 남은 턴 혹은 주사위가 될 두 개의 큰 숫자, 칸의 정보를 표시할 (null) 출력 파트 등을 각각 함수로 나누어 gotoxy문, 그리고 for문으로 x,y 값을 바꿔가며 조건문으로 특수문자, 문자열 등을 printf문으로 출력하는 식으로 제작 중입니다.
노가다만 하면 될 것 같았던 작업은 얼마 후 아래와 같은 크나큰 난관에 부딪히게 됬습니다. 우선 위 첫번째 짤이 제가 코드상 의도한 모양 그대로 입니다. 하지만 반복실행을 하면,
분명히 같은 코드 인데도 이렇게 기괴한 출력 결과들이 랜덤하게 발생합니다... 출력 버퍼 문제일 수 있다는 말을 듣고 fflush(stdout);으로 버퍼를 비워주기도 해봤고 출력의 방식도 바꿔보고, 가운데 공간을 구분하는 선을 지워보기도 했으나 개선되지 않고 있습니다.
다만 클릭&드래그 시
이와 같이 모양이 다시 맞춰지는데요, 그렇다고 사용자에게 플레이하며 알아서 드래그 해서 원래 모양으로 만들라고 할 수도 없는 노릇 아닙니까? 그리고 사실 이건 원래 모양도 아닙니다. 우측에 세로 방향으로 출력되고 있는 (null)의 시작점 x 값은 124입니다. 그리고 ○에도 x 값은 124를 줬는데 보시다시피 7칸 밀려서 출력 됩니다...
여기서 다시 왼쪽으로 가며 (null)을 출력해도 x 값 자체가 7칸 오른쪽으로 밀린채 출력이 됩니다...
도대체 이유가 뭘까요 시간도 얼마 안남았는데 이 것 때문에 진행을 못하고 있습니다. 예측이라도 좋으니 제발 답변 부탁드립니다.. 인터넷 보면 콘솔 UI 잘만 만들던데 왜 이런 문제가 발생할까요 ㅠㅠ
븅신들아 그냥 특수문자 자체가 븅신 같은 특수문자 였던 것 같다 꺼져라!