목록전체 글 (150)
개발하는 리프터 꽃게맨입니다.
게임은 총 3개의 함수에 의해 진행됩니다. (1) 초기화 함수 (2) 업데이트 함수 (3) 렌더링 함수 초기화 함수는 게임 시작에 있어서 초기에 설정해야할 값을 정의하고, 메인 루프에서는 업데이트 함수와 렌더링 함수가 계속 실행되면서 연산 및 그리기 작업을 수행합니다. 그래서 우리는 게임을 관리할 매니저 클래스가 필요합니다. 그것을 GameManager 라고 하고, 여기서 싱글톤 패턴을 사용하게 됩니다. 아래는 싱글톤에 대해 참고할 포스팅입니다. 더보기 https://powerclabman.tistory.com/66 [C++/디자인패턴] 싱글톤 (Singletone) 개요 싱글톤 패턴은 하나의 클래스가 하나의 객체만 가지도록 하면서 이 객체에 대한 접근은 전역으로 제공하는 디자인 패턴 입니다. 게임을 만..
https://powerclabman.tistory.com/77 [WinAPI] hWnd 윈도우 핸들, hDC hWnd 핸들 윈도우란 뭔가? 윈도우의 핸들은 운영체제의 커널 오브젝트를 사용하기 위해 필요한 장치라고 볼 수 있습니다. 우리가 프로그램으로 만든 윈도우는 고유 식별 id가 있습니다. 이런 고유 powerclabman.tistory.com 이전 포스팅에서 말했듯 GetMessage는 게임 루프를 돌리는데 적합하지 않습니다. 게임은 보통 1초에 60번의 업데이트 및 렌더링을 제공해야하는데, GetMessage의 경우 메시지 큐에서 메시지를 꺼내고, 어떤 메시지인지 확인하는 과정이 시간이 생각보다 많이 걸리기 때문이죠. 더하여 메시지 큐에 메시지를 넣어주지 않으면 무한정 대기하는 참사가 일어납니다...
함수 수학에서 함수는 어떤 집합의 각 원소를 다른 집합의 유일한 원소에 대응시키는 이항 관계를 뜻합니다. 한 변수의 값에 따라 다른 한 변수의 값이 정해질 때, 후자는 전자의 함수가 된다. 라고 말할 수 있죠 함수가 되기 위해서는 몇 가지 조건을 만족해야 합니다. 1) 함수가 성립되기 위한 조건 (1) 집합 X, Y가 있을 때 집합 X의 한 원소 x가 집합 Y의 원소에 유일하게 대응해야 한다. (2) 집합 X의 모든 원소가 집합 Y의 원소와 대응해야 한다. 2) 함수가 아닌 대응 관계 (1) 집합 X의 어떤 한 요소가 집합 Y의 원소와 대응하지 않을 때 함수라고 부르지 않는다. (2) 집합 x의 한 원소가 집합 Y의 2개 이상의 원소와 대응할 때 함수라고 부르지 않는다. 3) 함수에 관련된 주요 용어 (..
hWnd 핸들 윈도우란 뭔가? 윈도우의 핸들은 운영체제의 커널 오브젝트를 사용하기 위해 필요한 장치라고 볼 수 있습니다. 우리가 프로그램으로 만든 윈도우는 고유 식별 id가 있습니다. 이런 고유 식별 id를 HWND로 관리하고 있다고 보시면 됩니다. 객체가 메모리단에 잡히긴 했는데 우리가 함부로 접근할 수 없습니다. 윈도우는 운영체제가 관리하는 객체이기 때문이죠. 그래서 우리는 hwnd라는 id를 통해서 윈도우를 간접적으로 다뤄야만 하는 것입니다. 윈도우에서 동작하는 프로그램을 만들기 위해서는 무조건 hwnd를 다뤄야만 합니다. 화면에 그림을 그리는 것 또한 hwnd에 접근해서 그려줘야만 하죠 이런 식으로 말이죠. 추가적으로 윈도우 프로그래밍을 할 때는 이 H 자료형 시리즈가 중요합니다. HPEN HDC..
https://www.acmicpc.net/problem/13334 13334번: 철로 입력은 표준입력을 사용한다. 첫 번째 줄에 사람 수를 나타내는 양의 정수 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 각 줄에 정수 쌍 (hi, oi)가 주어진다. 여기서 hi와 oi는 −100,000,000이상, 100,000,0 www.acmicpc.net 1. 문제 2. 아이디어 이 문제는 기본적으로 스위핑 알고리즘을 사용해서 풀이합니다. 스위핑 알고리즘은 뜻 그대로 휩쓸고 지나가며 문제를 해결하는 방식으로, 특정 기준에 따라 정렬한 후 순서대로 처리하는 알고리즘입니다. 그러므로 스위핑 알고리즘의 복잡도는 O(N log N + N) = O(N log N) 의 복잡도를 가집니다. 즉, 이 문제는 선..