티스토리 뷰

LED로 게임 만들기

이제는 [시간] 변수 값이 0이면 공을 복제하지 않도록 프로그램을 만들어야 합니다. 코딩을 할 때 알아야 할 중요한 내용을 하나 더 배워봅시다. 바로 그림 3-28의 <또는>과 <그리고>입니다.

그림 3-28 또는-그리고

 

<또는>은 여러 개의 조건 중에 하나만 만족하면 된다는 뜻입니다. 예를 들어 설명해봅시다. 코딩 학교가 있는데 남학생과 여학생이 이 학교에 다니고 있습니다. 이 중에는 안경을 쓴 사람과 안경을 쓰지 않은 사람이 있습니다. 만약 남학생 또는 안경 쓴 사람이면 게임을 할 수 있다고 해봅시다. 다음 중 게임을 할 수 있는 사람은 누구일까요?

 

③을 뺀 나머지 사람은 게임을 할 수 있습니다. 왜냐하면 남학생인 조건과 안경을 썼다는 조건 중 하나를 만족하기 때문입니다. 이렇게 여러 개의 조건 중 하나만 만족하면 되는 것이 <또는> 입니다. <그리고>는 모든 조건을 만족시켜야 합니다. 만약 여자 그리고 안경 낀 사람만 게임을 할 수 있다고 합시다. 다음 중 게임을 할 수 있는 사람은 누구일까요?

 

오직 ④의 조건을 만족하는 사람만 게임을 할 수 있습니다. 여학생인 조건과 안경을 썼다는 조건 모두를 만족하기 때문입니다. 이제 <또는>과 <그리고>를 이용하여 우리가 원하는 게임을 완성해 봅시다.
공을 복제하기 위해서는 두 가지 조건을 모두 만족해야 합니다.

 

따라서 <그리고> 블록을 사용하고 두 가지 조건을 연결하여 공을 복제하는 스크립트(코드)를 완성해 봅시다. <그림 3-30> 그림 3-29처럼 그리고 칸에 육각형 모양의 블록을 드래그하여 넣으면 됩니다.

그림 3-29 그리고 칸으로 연결
그림 3-30 20초마다 공 복제하기 완성

 

프로그램을 실행하면 20초마다 복제가 잘 되는 것을 확인할 수 있습니다. 그리고 그림 3-31처럼 복제될 때마다 디지털 9번 핀과 연결된 노란색 엘이디(LED)를 깜빡이게 코딩을 해야 합니다.

그림 3-31 노란색 엘이디(LED) 깜빡이기

 

그리고 게임이 끝나게 되면 빨간색 엘이디(LED)와 노란색 엘이디(LED)가 번갈아 가면서 깜빡이게 하겠습니다. 그림 3-32 스크립트에 어떤 블록을 더 넣어서 만들면 될까요?

 

프로그램을 실행하면 20초마다 복제가 잘 되는 것을 확인할 수 있습니다. 그리고 그림 3-31처럼 복제될 때마다 디지털 9번 핀과 연결된 노란색 엘이디(LED)를 깜빡이게 코딩을 해야 합니다.

그림 3-32 게임 끝 말하기

 

그림 3-32의 코드를 좀 바꿔볼까요? 엘이디(LED)와 연결된 디지털 핀에 전압을 주고 몇 초 있다가 주지 않으면 됩니다. 그런데 여기서 생각을 해봅시다. 빨간색 엘이디(LED)와 노란색 엘이디(LED)가 번갈아 가면서 깜빡이려면 어떻게 하면 될까요?


빨간색 엘이디(LED)가 켜진다는 것은 노란색 엘이디(LED)가 꺼진다는 것입니다. 반대로 노란색 엘이디(LED)가 켜진다는 것은 빨간색 엘이디(LED)가 꺼진다는 것입니다. 어때요? 감이 오나요?

 

그림 3-33과 같이 코딩하면 우리가 생각하는 대로 엘이디(LED)가 번갈아 가면서 깜빡이게 됩니다.

엘이디(LED) 번갈아 깜빡이기

 

엘이디(LED)를 이용하여 멋진 게임을 만들었습니다. 생각하는 힘이 점점 커지는 것을 느낄 수 있나요?

 

댓글
댓글쓰기 폼