전체 글131 Win32 API 기초 : Win32 API 기본 (2) main 함수에서 42번째 줄에 있는 코드는 단축키 정보를 의미합니다. 리소스 뷰에서 Accelerator에서 IDC_CLIENT를 더블클릭하면 아래와 같은 창이 뜹니다. 42번째 코드는 이러한 단축키를 로딩하여 대입하는 동작인 것이죠. 그리고 49번째 줄에 있는 if 문을 통해단축키가 입력되었는지 검사하게 됩니다. 그래서 실제로 프로그램을 실행하고 단축키 Alt + ?를 입력하면 새로운 창이 뜹니다. 리소스 뷰에서 Menu에서 IDC_CLIENT를 더블클릭하면 위와 같이 파일이 하나 열리는데 여기서 도움말 - 정보를 클릭해 보면 속성 창에서 메뉴 편집기가 나타납니다. 이때 ID를 보니 IDM_ABOUT으로 되어 있네요. Accelerator에서 IDC_CLIENT를 클릭했을 때확인할 수 있었던 I.. 2024. 6. 16. Win32 API 기초 : Win32 API 기본 (1) Win32 API 프로젝트를 위해비주얼 스튜디오를 켜서 "새 프로젝트 만들기"를 클릭합니다. 그러면 아래와 같은 창이 뜨는데 "Windows 데스크톱 애플리케이션"을 선택하고 다음을 누릅니다. 프로젝트 이름과 솔루션 이름, 위치를 설정해 주고 만들기를 누릅니다. 우측에 '솔루선 탐색기'에서 소스 파일에 생성된 파일을 클릭하면, 아래와 같은 코드가 보일 겁니다. 사용자가 직접 코드를 작성한 적이 없음에도 프로젝트 생성만으로많은 코드가 미리 작성되어 있는 모습이네요. 먼저 11, 12번째 줄에 있는 WCHAR가 무엇인지 봅시다.WCHAR를 클릭하고 F12를 눌러 보세요. 그럼 위 사진과 같은 코드로 이동할 겁니다. WCHAR가 의미하는 것은 wchar_t 자료형을 재정의하여 나타내는 것이었.. 2024. 6. 15. C++ 빙고 게임 제작 : 게임 결과 출력 VictoryCheck 함수에서 914번째 줄에 있는BingoPlay 함수가 종료되었다면 어느 한쪽(또는 둘 다) 빙고 테이블에서3개 이상의 빙고가 완성되었다는 의미일 겁니다. 916 ~ 917번째 줄을 보시면두 개의 변수에 플레이어의 빙고 완성 개수 또는CPU의 빙고 완성 개수를 저장하고 있습니다. 플레이어의 빙고 완성 개수가 더 높다면PLAYER_WIN에 대응하는 값이 반환되고 CPU의 빙고 완성 개수가 더 높다면CPU_WIN에 대응하는 값이 반환되며, 플레이어와 CPU의 완성된 빙고의 개수가 같다면무승부로 처리하기 위해 DRAW에 대응하는 값이 반환됩니다. 또한 3개의 빙고를 완성하면 승패가 결정되긴 하지만,920번째 줄에 있는 if 문에 의해 더 많은 빙고를 완성한 쪽이최종 승리하게 됩니다... 2024. 6. 14. C++ 빙고 게임 제작 : 빙고 게임 진행 플레이어의 빙고 테이블 객체 AnimalBingo_player를 만들고빙고 데이터를 직접 입력하여 삽입하였습니다. 이후 CPU의 빙고 테이블 객체도 만들었죠. CPU의 빙고 테이블 객체를 생성하는 과정은 플레이어 빙고 테이블 객체를생성하는 과정과 다르지 않지만, 데이터를 삽입하는 과정은 조금 차이가 있었습니다. CPU의 빙고 데이터는 이미 존재하는 파일을 읽어 데이터를 삽입하였죠. 이제 CPU와 플레이어가 돌아가면서 빙고 데이터를 하나씩오픈할 것이고 먼저 3개의 빙고를 완성하는 쪽이 승리하도록 할 겁니다. 두 빙고 테이블을 비교하는 구문은 아래 코드에서 36번째 줄에서 시작됩니다.VictoryCheck 함수가 가장 먼저 실행되겠네요. VictoryCheck 함수의 동작을 살펴 봅시다. 해당 함수는 CPU.. 2024. 6. 13. C++ 빙고 게임 제작 : 빙고 데이터 입력 Menu 함수가 호출되고 나면객체 selectedGameMode의 멤버 변수의 값들이모두 설정이 되었을 겁니다. 만약 플레이어가 동물 카테고리를 선택하였다면 selectedGameMode의 멤버 Mode의 값은 GMAE_MODE_WORD로,멤버 Category의 값은 GAME_CATEGORY_ANIMAL로 초기화되었을 겁니다. 이 경우 23번째 줄에 있는 if 문 안의 코드가 실행되겠죠. 이후 cBingoTable형 객체 AnimalBingo_player를 만듭니다.IS_PLAYER라는 enum class에 있는 PLAYER를 통해 초기화해 주면해당 빙고 테이블은 플레이어의 빙고 테이블임을 의미하게 됩니다. cBingoTable의 멤버 변수를 살펴 봅시다. tBingoInfo형 객체 m_pBingoIn.. 2024. 6. 12. C++ 빙고 게임 제작 : 메인 메뉴 콘솔 창을 통해 진행할 수 있는 빙고 게임을 만들겠습니다. 기본적으로 3 x 3 크기의 빙고로 진행됩니다.빙고 한 줄의 사이즈만큼 빙고를 완성한 사람이 승리합니다. 3 x 3 크기의 빙고니까 3개의 빙고를 먼저 완성하는 쪽이 승리하죠. 게임이 시작되면 메인 메뉴에서 플레이어는고를 수 있는 빙고 카테고리는 3개가 있습니다.동물, 과일, 숫자이죠. 선택한 후에는 빙고 칸에 원하는 데이터를하나씩 입력하게 됩니다. 모두 입력하면 본격적으로 빙고 게임이시작되는데 먼저 CPU 빙고가 하나 오픈이 되며 플레이어는방향키와 엔터를 통해 오픈하고 싶은 데이터를 선택합니다. 이후 다시 CPU가 자신의 빙고를 하나 오픈하고,이를 플레이어와 CPU 중 빙고 3개가 먼저 완성될 때까지반복합니다. 다음에는 승자를 판별하고 .. 2024. 6. 8. 이전 1 ··· 5 6 7 8 9 10 11 ··· 22 다음