전체 글 125

[Design Pattern] state pattern

state pattern 정의 : 상태 패턴(state pattern)은 객체 지향 방식으로 상태 기계를 구현하는 행위 소프트웨어 디자인 패턴이다. 상태 패턴을 이용하면 상태 패턴 인터페이스의 파생 클래스로서 각각의 상태를 구현함으로써, 또 패턴의 슈퍼클래스에 의해 정의되는 메소드를 호출하여 상태 변화를 구현함으로써 상태 기계를 구현한다. -> 객체가 하는 모든 동작을 교체한다. 마치 다른 클래스를 사용하는 것 같은 효과를 얻을 수 있다. 동작을 할 때, 변하지 않는 것은 그대로 두고 변하는 것을 다른 클래스로 분리하는 것이 핵심. 말로 설명하면 복잡하니, 코드를 보자. #include class Character { public: int state; void run() { if (state == 1) ..

Design Pattern 2023.05.19

[C++] type cast (static_cast, dynamic_cast, const_cast, reinterpret_cast)

프로그래밍 하다 보면 내가 원하든, 원하지 않든 자연스래 타입을 변경하여 사용할 때가 있다. int type을 bool로 변경하여 사용하거나, enum 값을 int로 바꿔 비교하거나 하는 방식으로. 이렇게 편리하게 사용 할 수 있는게 장점이지만, 처음에 선언 된 변수의 타입을 강제로 바꾼다는 것 때문에 위험성도 분명히 존재한다. 0. C에서의 casting. C에서의 casting은 매우 위험하다. int main() { double d = 3.2; int* p = (int*)&d; printf("%lf, %d", d, *p); return 0; } 이러한 타입이 아예 다른 변수도 무리없이 캐스팅 되고, #include int main() { const int c = 10; int* p1 = (int*)..

C++/기타 2023.05.18

[로아 섬의 마음] 도망자들의 마을

아르데타인 북쪽에 있는 도망자들의 마을. 에포나 의뢰인 범죄자 검거를 총 6번 완료하면 받을 수 있다. 퀘스트를 받으면 - 금고 털이범 - 노예 매매범 - 귀족 사칭범 총 세 npc를 찾아야 하는데, 시간에 따라 나타났다 사라졌다 해서 상당히 골치아프다. 다행히 범죄자 검거의 위치는 고정이어서 해당 부분만 돌거나, 죽치고 기다리면 뜬다. 금고 털이범, 노예 매매범, 귀족 사칭범, 이 세 놈들의 위치는 이런 식으로 고정되어 있다. 추가적으로 더 있을진 모르겠는데... 중앙에서 왼쪽 부분만 빙글빙글 돌아도 큰 문제는 없을 듯 하다. 해당 위치로 가면 이런 식으로 애들이 나타났다 사라졌다 하니, 지도를 보고 각 범죄자들의 위치를 잘 찾아가도록 하자. 범죄자 검거 에포나 의뢰 수행하다 보면 도망자들의 마을 섬의..

겜/로아 2023.05.17

[아르데타인 모험의 서 필드보스] 불칸

아르데타인 모험의 서를 위해 필요한 필드보스 불칸. 역시 프로키온의 나침반에서 뜨진 않아서 알아서 잡아야 한다. 젠 위치는 토트리치 젠 시간은 잡힌 후 40분이다. 해당 위치에 가면 ? 너 왜 바로있냐. 아마 좀 나온지 오래 된 보스이기도 하고, 잡아서 나온 템으로 무언갈 만들어야 하는 것도 아니니, 이젠 그냥 가면... 엥간하면 있나 보다. 젠 시간은 잡힌 뒤 40분. 잡으러 갔다면, 그냥 거기서 기다려서 잡고 나오도록 하자. 아르데타인 필드보스 불칸 끝!

겜/로아 2023.05.16

[C++] LValue vs RValue. 총 정리

2023.04.29 - [C++/기타] - [C++] LValue vs RValue (1) [C++] LValue vs RValue (1) 맨 첨에 C를 어정쩡하게 배운 후에 C++ 사용하다 보니 애매하게 이해가 되기도 했고.. 지금도 어느 정도 쓰고 있긴 하지만 아직까지 제대로 감이 잡히지 않아, 공부하며 정리할 겸 남겨본다. https:/ donot-simsim.tistory.com 2023.05.10 - [C++/기타] - [C++] LValue vs RValue (2) [C++] LValue vs RValue (2) 2023.04.29 - [C++/기타] - [C++] lValue vs rValue (1) [C++] LValue vs RValue (1) 맨 첨에 C를 어정쩡하게 배운 후에 C++ ..

C++ 2023.05.16

[토토이크 모험의 서 요리] 부먹찍먹 화평의 요리 + (카스피엘 위치, 시간)

토토이크 마지막 모험의 서 요리인 부먹찍먹 화평의 요리. 필드보스 카스피엘이 드랍하는 (산산조각 난 부먹찍먹 그릇) 이라는 재료를 하나만 가지고 가면 만들어 주긴 하지만, 프로키온 나침반에 뜨는 필드보스 일정에 없는 보스라... 알아서 시간 맞춰 가 잡아야 하는 불편함이 있다. 필드보스 카스피엘은 잰 위치는 성큼바위 숲. 잰 주기는 잡은 후 40분이다. 산산조각 난 부먹찍먹 그릇 더보기 토토이크의 필드 보스인 카스피엘 이 확률적으로 드랍하는 아이템이다. 성큼바위 숲의 해당 위치에 가면 이렇게 뭔가 엄청 큰 바위 골렘이 나온다. 시간을 좀 잘 못 찍긴 했는데... 잡고 밥먹고 돌아와 보니 누군가에게 다시 잡혀 있더라. 다른 글을 봐도, 젠 시간은 잡은 후 40분 인 듯 하다. 다만.. 단번에 잡을 생각은 ..

겜/로아 2023.05.15

[C++] LValue vs RValue (3)

2023.05.16 - [C++] - [C++] LValue vs RValue. 총 정리 2023.05.10 - [C++/기타] - [C++] LValue vs RValue (2) [C++] LValue vs RValue (2) 2023.04.29 - [C++/기타] - [C++] lValue vs rValue (1) [C++] LValue vs RValue (1) 맨 첨에 C를 어정쩡하게 배운 후에 C++ 사용하다 보니 애매하게 이해가 되기도 했고.. 지금도 어느 정도 쓰고 있긴 하지만 아직까지 donot-simsim.tistory.com 에서 이어지는 글. value. glvalue와 rvalue의 특성을 모두 가지고 있다. xvalue. [곧 사라지는 값] 이 가지고 있는 두 가지의 특성 1. 본인..

C++/기타 2023.05.15

[슈사이어 모험의 서 필드보스] 마네스

슈사이어 필드보스 마네스. 처음에는 다른 녀석들처럼 필드보스 뜨는 시간에 맞춰 가야 하는 줄 알았는데... 아니었다. 정해진 날짜 없이 본인이 잰 될 때 되면 바로바로 나오더라. 잰 위치는 얼음나비 절벽. 잰 시간은 잡은 후 두 시간이다. 해당 위치에 가서 하염없이 기다리다 보면 요래 마네스가 나타난다. 마네스 끝! 슈사이어도 모험의 서 100퍼가 보인다...

겜/로아 2023.05.13
반응형