본문 바로가기

분류 전체보기

(392)
[1. 개념 잡기 - 1] 시스템 기획에 관하여 게임 시스템의 정의 게임에 필요한 기능을 구현하고 이를 쉽게 사용하기 위해, 필요한 요소와 요소 간의 상호작용을 조직화한 것. 게임 시스템의 목적은 게임에 필요한 기능을 제공하고 사용하는 것을 체계적으로 하는 데 있다. 시스템 기획은 시스템의 기능 제공에 필요한 것들을 정리하고 이를 조직화하는 작업을 말한다. 뿐만 아니라 시스템을 통해 게임 기능의 사용을 쉽게 하기 위해서 기획자(시스템 사용자)가 가능을 조정할 수 있는 수단을 기획해야 한다. 인지 요소는 우리가 인지할 수 있는 어떤 '대상'으로, 구조와 부품들에 해당한다. 인체로 예를 들자면, 신체를 구성하고 있는 유형의 물체(가시적)인 살, 뼈 등이다. 규칙은 구조와 부품들의 동작 원리 및 법칙들을 말한다. 인체로 예를 들자면, 무형의 개념(추상적)인..
[C++] 이명제조기, 참조자 - 5 (with. 함수) 들어가며 필자는 20대 초반이며 이제 막 대학에 입학하는 입장인지라, 대학 생활이나 OT, MT 등등 기대하고 있었는데 MT는 커녕 empty에 가까운 것 같다. 진짜 나한테 왜 그래 어흐흑. const 참조자의 뇌절 전 글에서 const 참조자에 대해 이야기한 바가 있다. 이와 관련하여 추가적으로 보충할 내용이 남아있다. 그럼 어쨌거나 저쨌거나 다음 코드를 보고 논리적으로 무엇이 잘못 되었는지 확인하라. const int num = 20; int& ref = num; ref += 10; cout
[C++] 이명제조기, 참조자 - 4 (with. 함수) 들어가며 시작하기에 앞서 드디어 본인이 현재 서식하고 있는 지역에서도 코로나 바이러스 확진자가 나왔다. 발이나 손은 반드시 외출 후 세척해야 한다. 신천지 신도라고 환자가 말해주었기에 천만다행으로 빠르게 역학조사가 실시 되었다. 지금 할 수 있는 최선의 방법은 외출을 자제하는 것이지 않을까. 참조형 반환(진) - 중 전 글의 끝 무렵에 코드를 주고 해석을 하고 의미를 찾아오라고 하였다. 우선 그 코드는 다음과 같다. #include using namespace std; int& RefRetFuncOne(int& ref) { ref++; return ref; } int main() { int num1 = 1; int num2 = RefRetFuncOne(num1); num1+=1; num2+=10; cout
[C++] 이명제조기, 참조자 - 3 (with. 함수) 들어가며 1720년에는 마르세이유 역병이 창궐했다. 1820년에는 콜레라, 1920년에는 림프절 페스트, 그리고 2020년에는 코로나 바이러스. 이쯤 되면 지구가 친환경을 직접 실천하는 것이 아닐까 싶다. 100년 주기로 이렇게 기승인 것을 보면, 역병 스킬 쿨타임이 꽤나 긴 것 같다. 진짜 Call-By-Reference 전 글에서 말했듯이 이번엔 진짜 'Call-By-Reference' 방식을 학습할 것이다. 이름에 맞게 참조자를 사용한 함수 호출 방식 말이다. 전에도 말했다시피 핵심은 '함수 외부에 선언된 변수에 접근' 이지 않은가? 일단 빠르게 코드와 부딪쳐보자. int SwapByRef(int& ref1, int& ref2) { int temp = ref1; ref1 = ref2; ref2 = ..
[C++] Call-By- ······ 그게 뭔데 들어가며 원래는 본격적으로 참조자의 활용에 대해 학습할 시간이지만, 오늘 배울 이 개념을 확실하게 잡고 가지 않으면 안된다. '또,또,또,또,또, 지만 아는 거 나왔다고 신났죠?' 누누히 말하지만 이 블로그가 누구한테 보여지는 것을 상정하고 본 필자가 글을 쓰는 것은 아니기 때문에 혼자 공부하는 느낌으로 운영하는 블로그다. 실제로는 꽤 보는 사람이 있는 거 같지만, 어찌 되었던 간에 내 일기장을 누가 보는 느낌이라고 생각하면 편하다. 각설하고, 사실 참조자의 활용에는 함수가 큰 지분을 차지하고 있기 때문인데, 따라서 오늘은 함수의 호출 방식에 관한 것을 학습해볼까 한다. 함수 호출의 두 가지 방식 'Call-By-Value & Call-By-Reference' 어디서 분명 많이 들어본 구절이다. 포인터를..
[C++] 이명제조기, 참조자 - 2 들어가며 자 이번 시간을 끝으로 개념적인 참조자의 설명은 끝이 난다. 그 말은 즉, 아직 참조자에 대해 알아야 할 것들이 많이 남아 있다는 소리다. 지금까지 설명한 것만 가지고 참조자를 어디다가 실용적이게 잘 써먹어 봐라! 라고 한다면 너무 무책임 한 것이 아닌가. 그렇기에 우린 좀 더 참조자에 대해서 알아볼 필요가 있다. 분명 어딘가에 써먹지 않겠는가? 참조자의 개수의 제한 결론부터 말하자면, 그런 거 없다. 즉, 다음과 같이 여러 개의 참조자를 선언하는 것도 가능하다. int num1 = 1; int& num2 = num1; int& num3 = num1; 이렇게 된다면 num1의 메모리 공간에 num2와 num3라는 이명이 붙은 것이 되고, num2와 num3를 이용하여 num1의 메모리 공간에 접..
속보) 본인 방금 참조자 글 다쓰고 날려... 정신적 충격 상당히 커 '야발' 2020. 2. 19. 00:05 아 진짜 나한테 왜 그래 엄청 열심히 내용 알차게 썼는데 아 아 아 어흐흑
[C++] 이명제조기, 참조자 - 1 들어가기 전에 반갑다. 여러분들은 프로그래머의 길을 걷고 있지 않은가? 컴퓨터를 다루는 모든 IT관련 직종의 필수 기본 소양 패시브가 있다. Passive - 항시 저장 본인은 이 글을 한 번 날린 전적이 있다. 아 들어가며 참조자(Reference). 프로그래밍을 공부하려는 사람이면 어디선가 많이 들어본 키워드다. 이름만 들어서는 어디다 써먹을지, 무슨 개념인지 감이 잘 오지 않는다. 오늘은 이 녀석이 뭐하는 놈인지를 함께 알아보는 시간을 갖도록 하겠다. 오늘 공부할 '참조자'라는 녀석은 성격상 '포인터'와 비교되기 쉬운데, 참조자는 포인터를 모르더라도 이해할 수 있는 개념이다. 따라서 굳이 포인터의 개념을 끌어와다가 이해하겠답시고 자신을 괴롭히지 않았으면 한다. 그런데 사실은 참조자도 내부적으로는 포..
[C++] 자료형계의 이단심문관, bool 들어가며 오늘은 모순에 관하여 얘기할까 싶다. 마침 bool형 자료형도 참과 거짓을 구분하는 자료형으로 주제와도 어느 정도 공통점을 가진다. 모순, 어딜 봐도 딱히 좋은 이미지의 단어는 아니다. 사람에게 적용해보면? 딱 혼자 다니기 좋아 보이는 성격이지 않은가? 우린 솔직해 질 필요가 있다. 우리가 살아가면서 인생에 단 한 번도 모순적인 태도를 보인 적이 없을까? 우리 모두는 모순적인 사람이다. 하지만 우린 한 가지 관점에서만 바라보기에 부정적인 프레임에 갇혀있는 것이다. 우린 게으른 프로그래머가 되기 위해 성실히 공부한다. 게으르기 위해 성실해진다. 완벽한 모순이다. 마치 0과 1의 상태가 중첩된 양자컴퓨터의 CPU의 단자 한 구석처럼 우리 인간은 그런 양자적 상태에 자주 놓이게 된다. 우린 솔직해질 ..
[C++] 이름 공간(Name space) - 2 들어가며 오랜만이다. 꽤 며칠동안 글 써야지 써야지 각만 재다가 각만 쟀다. 사실 병원이다, 졸업식이다, 설이다, 요다, 소다, 뭐다 아무튼 마냥 놀기만 한 것은 아니었다. 나름 따로 시스템 기획 공부도 찬찬히 하고 있었으니 나름의 합리화를 해본다. 아무튼 오늘의 주제 '이름공간'에 관하여 공부해 보겠다. 솔직히 이제 20살인데 좀 놀아야지. 안 놀면 청춘 낭비지. 이름 공간의 중첩 이름 공간의 마지막 특성인 '중첩'이다. 이름 공간은 다른 이름 공간 내부에 삽입 될 수 있다. 즉, 다음과 같은 형태로 중첩이 가능하다. namespace Brain { int Lv = 1; namespace Dopamine { int Lv = 2; } namespace Serotonin { int Lv = 3; } nam..
[C++] 이름 공간(Name space) - 1 들어가며 오늘은 '이름 공간(Name space)'에 관하여 알아볼 생각이다. 말 그대로 공간에다가 이름을 갖다 붙인다는 것이다. 공간이라고 하니까 생각난 것인데, 보편적인 학생의 방을 떠올려 보자. 방에는 침대가 있고, 옷장이 있으며, 책상 등등의 가구가 배치되어 있다. 왜 많은 사람들은 집의 테이블이나 책상을 놔두고 굳이 독서실이나 스터디 카페를 찾을까? 왜 서제와 침실을 분리해 놓을까? 우린 어떤 행동을 할 때 최대의 효율과 집중력을 발휘하기를 바란다. 침대 옆에서, 컴퓨터 옆에서 공부하다가 정신 차려보면 드러누워서 잔다거나, 소환사의 협곡에서 정의를 지키고 있는 자신을 발견한 경험이 없잖아 있을 것이다. 이처럼 우린 다른 요소로부터 방해받지 않고 하고자 하는 행동을 하기 위해 역할마다 공간을 분리..
[C++] 인라인과 인라인 함수 들어가며 이번 시간에는 '인라인' 에 대하여 알아볼 생각이다. 인라인이라고 하면 무엇이 생각나는가? 그렇다! 모두가 알고, 땅이 알고, 하늘이 아는, 바로 '인라인 함수'다! 혹시 '인라인 스케이트'를 생각하였는가? 그렇다면 정신차리자. 지금 우린 공부하기 위해 이곳에 있는 것이다. Key Word - inline 한번 간지나게 영어로 표지글을 써봤다. 키워드 'inline'은 전에 배웠던 'macro'와 유사한 특징이 다수 존재한다. 우선 인라인 키워드를 사용하는 방법은 다음과 같다. inline (Return Data type) (Function name) (Parameter Data type Parameter name) 한번 간지나게 영어로 써봤다. 이정도 쯤이야 현대를 살아가는 우리들에겐 모국어와..