목록2017/08 (3)
Graphics Programming
문제: https://www.hackerrank.com/challenges/matrix-rotation 난이도 Hard이지만 코드포스로 따지면 Div2 B 정도 되는 문제다. m×n 배열을 바깥 테두리부터 한 층씩 잘라내어 각각 r번 돌리고 다시 합쳐서 출력하면 된다. 이 때 r이 너무 크니 r을 테두리 길이로 나눈 나머지 만큼만 돌린다. 절차형 언어면 그냥 배열을 직접 조작해서 풀었는데 하스켈이니 리스트와 배열을 왔다갔다 하면서 풀어야 한다. mutable array를 사용하면 하스켈을 쓰는 의미가 퇴색되니 쓰지 않는다. 먼저 입력을 받는다. 배열 원소가 최대 90000개여서 String으로 읽으면 I/O 하다 시간 초과가 날 것 같으니 ByteString으로 읽는다. import Control.Mon..
Tools - Install Software 선택. 세 개를 체크하고 업데이트한다.이제부터 노가다를 해야 한다. 프로젝트 속성에서 SDK는 최신 버전으로 선택할 수 있다.하지만 Output 탭에 가보면 플레이어 최신 버전이 없고 구버전으로 실행된다. C:\사용자\\AppData\Local\FlashDevelop\Settings\Platforms\AS3 로 가면 air.xml과 flashplayer.xml이 있다. 목록이 여기서 끝나면 FlashDevelop\Apps\flashsa 디렉토리를 확인하고 빠진 최신 버전들을 추가한다.내 경우는 25.0, 26.0이 빠져있었다. value와 swf-version은 동일하게 1씩 증가하는데확실히 하려면 https://www.adobe.com/devnet/artic..
크로스 플랫폼 환경에서 작업하거나 극단적인 리눅스 진영 사람들을 많이 접하면 표준은 무조건 지켜야만 하며, 네이티브 코드가 죄악이라는 세뇌를 점차 당한다. 하지만 목적에 따라 어느 API를 쓸지 신중하게 결정해야 한다. C++로 작성되었고 윈도우즈에서만 돌아가는 게임을 예로 들어보자. 무언가 새 기능을 구현해야 하는데 파일시스템 API가 필요하다. 선택지가 적어도 4가지가 있다. 1. 게임 엔진의 파일시스템 모듈게임 엔진에는 대개 파일 I/O를 래핑한 모듈 혹은 서브시스템이 들어있다. 이 경우는 C++로 작성했으니 C 런타임 라이브러리 또는 C++ STL을 래핑했을 것이고, 사용법도 비슷할 것이다. 2. C 런타임 라이브러리 (CRT)게임 엔진이나 네이티브 API에 대한 사전지식이 필요 없고 STL보다 ..