시작마을 맵, 대충 만들었다.
플레이어를 구분하기 쉽게 색을 입혔고 방향키로 움직일 수 있다.
방향키 입력은 이런식으로 받아서 처리하였다.
다른 함수에서 이를 처리하여 다시 false로 바꾼다.
플레이어가 이동하려는 방향에 공백문자 " "가 아닌 다른 문자가 있는지
확인함으로써 물체가 있는지 없는지 if문으로 처리하여 벽을 뚫고 이동하지
못하게 만든다.
다음은 UI로 메인 화면과 여러 UI화면을 왔다갔다 해야 하므로
현재 랜더링을 해야 하는 화면을 구분하기 쉽게 enum으로 선언하여 정리하였다.
Switch 문으로 Ui버퍼에 원하는 문자열을 char배열로 변환하여 배치한다.
결과
하지만 이때 문제가 생기는데, 보통 영어나 숫자같은 문자열은
한자리당 1바이트씩 차지하는데 특수문자와 한글은 2바이트다.
(UTF8 기준으로는 3바이트)
그래서 자리 칸 무시하고 그냥 출력하면 이렇게 된다.
이런식으로 길이 차이가 생긴다.
여기서 1바이트 문자 개수 만큼 맨 뒤에다 " "공백을 넣게되면 정상적으로 자리가 맞춰진다.
다음은 인벤토리이다.
일단은 구조체로 만든 무기, 방어구의 상세 정보를 배열로 만들어서
출력할 때 내용물 중에서 이름 정보가 null 아니면 출력하게 하였다.
(구조체 자체가 null인지 확인할 수 없음)
아직 장착하는 부분을 안했다.)
댓글 없음:
댓글 쓰기