태지쌤

로봇 & 코딩교육 No.1 크리에이터

IT관련

엔트리 이중점프 방지 코딩 알고리즘

태지쌤 2023. 4. 13. 12:50
반응형

 

안녕하세요? 로봇 & 코딩교육

No.1 크리에이터 태지쌤이에요.

 

아이들이 가장 좋아하는 게임

엔트리로 게임 만들 때

가장 필수적으로 들어가는 기능 중 하나는

바로 '점프'에요.

캐릭터가 점프하는 동작을 만들어보는거죠.

'코딩 = 논리'이기 때문에

점프를 만드는 논리는 다양해요.

그중에서 가장 간단하게 코딩하는 방법은

아래와 같이 코딩하는거에요.

 

 

그런데 가끔 이렇게 질문하는 학생들이 있어요.

위 코드의 경우에는 이중점프가 가능하거든요.

즉 점프 중이고 착지 안했는데

키를 누르게 되면 또한번 점프가 작동하는거죠.

게임 세계에서는 물론 가능하지만

현실 세계에서는 물리적으로 불가능해서

이중점프 안되도록 코딩하는 알고리즘

질문하는 학생들이 있었어요.

이것 또한 다양한 방법이 있을 수 있어요.

 

요새 핫한 챗GPT에게 물어봤어요.

 

엔트리에서 오브젝트가

이중 점프를 못하게 코딩하는 방법 알려줘

 

엔트리에서 이중 점프를 방지하는 방법은

Scratch와 유사합니다.

아래와 같은 방법을 사용하여

구현할 수 있습니다.

오브젝트가 공중에 있는지 확인합니다.

이를 위해 "오브젝트가 바닥에 닿았는지"를

판별하는 블록을 사용합니다.

"점프" 블록을 사용하기 전에

이 블록을 사용해 오브젝트가

바닥에 닿아 있는지 확인합니다.

오브젝트가 공중에 있을 때는

점프 블록을 사용하지 않습니다.

바닥에 닿아 있는 경우에만

점프 블록을 사용합니다.

이를 엔트리 블록으로

구현하면 다음과 같습니다.

 

위 코드에서 <바닥에> 부분은

오브젝트가 어떤 오브젝트에 닿아 있는지에 따라

다르게 설정해야 합니다.

예를 들어, 오브젝트가 바닥이 아닌

벽에 닿아 있는 경우에는

<벽에>로 설정해야 합니다.

 

 

위 아이디어를 이용해서

실제로 엔트리에서 코딩해봤어요.

 

 

조건문을 사용해서

아래쪽 벽 즉 바닥에 닿았을 때

(위 그림에서 빨간색 선)

조건이 참일 때만 점프 코드가

실행되도록 조건문 안에 코드를 넣었어요.

 

이 개념을 응용해서 발전시킨다면

엔트리에서 이중점프가 안되도록

충분히 코딩할 수 있을거에요.

 

반응형