Programming
[Code] case 내부의 함수화
RIsN
2021. 2. 13. 17:48
case 내부의 함수화
: 코드가 늘어나는 것을 우려하지 말 것
: 다른 사람에게 이게 어떤 상황인지를 알려주는 것을 우선적으로 삼을 것
// :: 플레이어 클래스
class Player {
...생략
void update(float deltaTime) {
switch(state) {
case STATE_RUN: // :: 걷기 상태
if(input.isLeft())
velocity.x = -RUNNING_SPEED;
if(input.isRight())
velocity.x = RUNNING_SPEED;
velocity.y = 0.0f;
if(input.isJump()) {
velocity.y = -JUMP_SPEED;
state = STATE_JUMP;
}
position += velocity * deltaTime;
break;
case STATE_JUMP: // :: 점프 상태
position += velocity * deltaTime;
velocity.y += GRAVITY * deltaTime;
if(isLanding())
state = STATE_RUN;
break;
case STATE_DAMGE: // :: 데미지 상태
...생략
break;
}
}
};
=>
void update(float deltaTime) {
switch(state) {
case STATE_RUN: run(deltaTime); break;
case STATE_JUMP: jump(deltaTime); break;
case STATE_DAMAGE: damage(deltaTime); break;
}
}