본문 바로가기
반응형

분류 전체보기582

트레이 프로그램 작성 프로그램을 개발할 때, 트레이(tray)에만 표시되고 화면에 표시되지 않는 프로그램을작성하고 싶을 때가 있습니다. 프로그램이 화면에 표시되지 않게 하는 방법은 간단합니다. 화면을 보여주지 않으면 됩니다. 그렇게 하면 작업 표시줄에도 아무런 표시가 생기지 않습니다. 그렇게 한 후 트레이에 아이콘만 표시하면 됩니다. 트레이에 아이콘을 표시하는 방법은 윈도우 API에 있지는 않습니다. 트레이를 관리하는 주체는 쉘(Shell)입니다. 쉘에 대해서 간단하게 설명하자면, 윈도우 운영체제와 사용자를 이어주는 역할을 해준다고 보시면 됩니다. 트레이 영역은 윈도우 운영체제가 아닌 쉘이 담당하는 부분입니다. 쉘 명령어를 이용하면 간단하게 트레이에 아이콘을 표시할 수 있고, 트레이 아이콘에서 간단한 마우스 입력을 받을 수도.. 2011. 11. 28.
숫자 야구 게임 만들기 Making baseball game. 숫자로 즐길 수 있는 숫자 야구게임은 어느정도 머리를 쓰면서 하는 게임이라 중고등학교를 다니면서 한두번씩은 접해본 적이 있는 게임일겁니다. 요즘은 컴퓨터 게임이 대세니 이런 장난스러운 게임도 안 할지도 모르겠네요. 서로 숫자를 생각하고 숫자맞추기를 하는 게임입니다. 한사람이 세자리 숫자를 생각합니다. 이 세자리 숫자의 각 자릿수는 서로 달라야 합니다. 맞추어야 하는 사람은 같은 규칙의 세자리 숫자를 제시합니다. 같은 자리의 숫자가 맞은 경우에는 스트라이크를, 다른 자리의 숫자가 맞은 경우에는 볼을 셉니다. 3 strike가 될 때까지 숫자를 제시해야 하며, 서로 더 적은 횟수만에 숫자를 맞추면 이기는 게임입니다. 예를 들어서 431 이라는 숫자를 생각했고, 제시한 .. 2011. 11. 20.
Eight queens problem 체스판에서 8개의 퀸을 서로 죽이지 않도록 배치하는 문제는 알고리즘에서 많이 다루어집니다. 여기서는 알고리즘의 문제도 있지만, 어떻게 프로그램을 작성해야지 더 효율적일지를 생각해볼까 합니다. 체스에서 퀸은 전후좌우 그리고 대각선까지 장애물이 있지 않는 한 원하는 칸 수만큼 이동할 수 있습니다. 체스판에서 8개의 퀸을 어떻게 배치하면 서로 잡을 수 없는 위치에 놓일까 하는 것입니다. 이 조건을 간단하게 정리하면 다음과 같습니다. 각 열에는 오직 하나의 퀸만 존재해야 한다. 각 행에는 오직 하나의 퀸만 존재해야 한다. 각각의 퀸의 대각선에 다른 퀸이 존재해서는 안 된다. 여기서 첫번째 조건과 두번째 조건은 손쉽게 프로그램으로 작성할 수 있습니다. 만약 8개의 룩(Rook)을 가지고 이 문제를 냈다면, 수학적.. 2011. 11. 14.
우리나라에서 스티브 잡스를 배출할려면? 이번 서울시장 모후보가 자신이 서울시장 20년 하면 스티브 잡스같은 사람 수십명을 배출할 수 있다고 한다. 이 글을 읽고서 정말 헛웃음이 나오더라. 스티브 잡스가 나올려면 시장이 뒷바침되어야 할텐데.. 여기서 시장은 서울시장을 지칭하는 것은 당연히 아니다. 우리나라에 뿌리박힌 잘못된 생각. "그것은 꽁짜라면 양잿물도 마신다"라는 것이다. 휴대폰을 개통할 때에도, "꽁짜폰"이라는 미명하에 높은 사용료를 내고 있다. 하지만 일단 "꽁짜"란 말에 휴대폰을 바꾼다. 하드웨어야 기계를 만들기 위해서 원재료비가 존재하지만, 소프트웨어는 원재료비라는 것이 존재하지 않는다. 패키지 가격 정도? 그렇지만 하드웨어도 마찬가지지만, 소프트웨어에도 원개발비라는 것이 있다. 원재료비가 존재하지 않기 때문에 어느정도 이상의 프로.. 2011. 10. 21.
\(\varphi(x)+\varphi(y)+\varphi(z)\)의 최소값 문제 문제 출처는 중학 수학 문제지입니다. 사실 그 때, 문제 풀었을 때, 문제지 답지가 틀렸었던 문제였습니다. 문제 출제하신 분이 좀 착각을 했었던 듯 합니다. 사실 중학 수학 문제에 정수론에서 사용되는 것들을 사용하는 것은 바람직하지 않습니다. 정수론과 관련해서 용어를 설명드리겠습니다. 서로 소는 두개의 수에 대한 소인수 분해하여 공통 인자가 없는 경우입니다. 즉, 최대 공약수가 1이라는 뜻입니다. \(\varphi(x)\)는 x보다 작은 자연수 중에서 x와 서로 소인 수의 개수를 뜻하며, 오일러의 수(Euler's totient)라고 합니다. \( (a, b) = g \) 형태의 표현법은 a와 b 수의 최대 공약수가 g라는 표현입니다. \( \sigma (x) \) 는 x의 약수의 합을 말합니다. 문제).. 2011. 9. 30.
Initialize Direct3D 10 이 글은 Frank D. Luna가 쓴 "Introduction to 3D game programming with DirectX 10" 책을 기반으로 했습니다. 책의 내용을 그대로 옮기기 보다는 제 경험적인 것을 같이 적었습니다. DirectX 10 이상을 사용하실 분들에게 도움이 되었으면 합니다. DirectX 10이 나온지도 꽤 되었고, 이제는 DirectX 11도 나왔는데, 정작 참고할 수 있는 도서는 별로 없더군요. 가능하면 DirectX 11을 해볼려고 했는데, 원서에도 DirectX 11 책은 몇 달전까지만 해도 나오지 않은 상태였습니다. 번역본이나 한글 서적으로는 DirectX 10조차도 못 구했고요. 아직까지 학교나 개발쪽에서는 DirectX 9이 주류인 것 같습니다만, 책을 읽다보니 Di.. 2011. 9. 29.
728x90