본문 바로가기

전체 글

(58)
몬스터 행동 패턴 구현 정리 객체가 여러 동작을 수행하기 위해 고민한 구조를 정리한 글.몬스터가 여러 동작을 수행할 때 애니메이션과, 동작에 대한 상태 변경에 대해서 간단하게 작성한 글입니다.  1. 애니메이션 자료구조✅ AnimInfo애니메이션 스프라이트의 상태 정보 저장용 구조체입니다.typedef struct AnimInfo{ int iFrameStartInit = 0; // 스프라이트의 시작 프레임 int iFrameEndInit = 0; // 스프라이트의 끝 프레임 int iFrameEnd = 0; // 스프라이트 이미지의 끝 int iCurrentFrame = 0; // 현재 스프라이트의 프레임 (열 정보) int iMotion = 0; // 해당 스프라이트의 몇번째 줄을 사용할 것인지? (행 ..
함수의 호출 함수 호출.스택 프레임 구조함수 호출 과정에서 할당되는 메모리 블록을 가리켜 스택 프레임이라 합니다.  sp 레지스터스택에 데이터를 쌓거나 반환하기 위해 어느 위치까지 데이터를 저장했는지 기억해야 합니다.이를 위해서 CPU 내에 sp라는(Stack Pointer) 레지스터가 존재합니다.변수 선언시 sp가 가리키는 위치에 할당하기 때문에 sp 위치를 아래로 이동 시키는 것 만으로도 이전에 선언된 변수를 반환 가능합니다. (변수 할당 시 이전에 저장된 값들을 덮어씁니다.)시작은 sp 레지스터가 0번지.변수나 함수 호출을 할 때 마다 sp 레지스터가 해당 주소 번지에 값을 넣고 변수나 함수의 스택 프레임 크기만큼 이동합니다. (다음에 변수나 함수에 대한 주소 값을 넣어주기 위해서) sp 레지스터의 문제점스택에..
큐란?가장 처음에 들어간 데이터가 처음으로 꺼내지는 구조를 가진 자료구조 입니다. (FIFO)  큐의 ADT큐란 자료구조를 구현하기 전에 해당 자료구조의 ADT를 정의할 필요가 있습니다.1. First in First Out(FIFO) : 처음에 들어간 값이 첫 번째로 나오는 구조2. 탐색, 삽입, 삭제를 구현할 것.3. 큐의 전방, 후방을 나타내는 변수를 선언할 것.  큐의 ADT 선언큐의 ADT를 참고하여 클래스로 선언 해보겠습니다. #include "pch.h"#include using namespace std;template struct Node{ T value; Node* prevNode; Node* nextNode;};template class CustomQueue{public: Custo..