[소프트웨어야 놀자]자율주행차량 만들기

[소프트웨어야 놀자]자율주행차량 만들기

오늘 만들 작품이 있는 페이지에 접속하고(https://goo.gl/zN4rVx) 화면 중앙 시작하기 버튼을 클릭해요. 도로 위를 달리는 여러 차가 보이고 그 중 한 자동차는 앞에 센서 모양과 함께 움직이는 것을 확인할 수 있죠? 이 자동차를 '센서자동차'라고 할게요.

센서자동차는 속도가 점점 빨라져서 앞 자동차와 간격이 좁혀져요. 앞 자동차와 거리가 매우 가까워지면 어떻게 될까요? 센서자동차 속도가 잠깐 느려져요.

이제 이 장면을 어떻게 만드는지 알아볼까요? [강의 학습하기]버튼을 클릭해요.

'시작하기'를 누르면 자동차가 움직이는 화면이 나와요. 자동차가 조금씩 움직이지만 자동차가 움직이는 것에 비해 빠르게 느껴지죠? 배경이 자동차와 반대방향으로 움직이기 때문이에요. 기차나 버스를 타고 빠르게 달릴 때 창문 밖 풍경이 뒤로 빠르게 지나가는 것을 활용한 방법이예요. 자동차가 달리거나 새가 날아가는 장면을 묘사할 때 사용하면 좋아요.

이런 효과를 주기 위해 우선 배경 2개(도로1, 도로2)가 필요해요. 동일한 배경2개가 이어져서 오른쪽에서 왼쪽으로 이동해요. 하나의 배경이 화면에서 완전히 밀려나면 그 배경이 다른 배경의 오른쪽 끝 지점에 이동하는 식으로 이 효과를 만들어봐요.

먼저 '도로1' 배경 코드를 작성해봐요. [흐름]에서 '계속 반복하기'와 '만일 ∼이라면' 블록을 가져와요. 이어서 [움직임]에서 'x좌표를 ∼만큼 바꾸기' 블록을 가져와서 〃3을 입력해요. 또 배경 좌표 값이 〃460보다 작아지면, 즉 배경이 화면에서 완전히 밀려났을 경우 'x ∼위치로 이동하기' 블록을 활용해 위치를 바꾸도록 만들어줘요. 완성된 코드는 그림(1)과 같아요.

[소프트웨어야 놀자]자율주행차량 만들기

'도로2' 배경의 코드는 '도로1'과 거의 같지만 '계속 반복하기'와 '시작하기 버튼을 클릭했을 때' 사이에 그림(2) 블록을 붙여야 해요.

[소프트웨어야 놀자]자율주행차량 만들기

이번에는 센서자동차가 앞으로 이동하면서 앞 자동차와 가까워지도록 하고, 센서가 흰자동차에 닿으면 거리가 멀어지게 해볼게요. [움직임]의 '∼초 동안 ∼만큼 움직이기' 블록으로 센서자동차가 0.1초 동안 2라는 일정한 속도로 움직이게 할게요. [흐름]의 '만일 ∼이라면' 블록과 [판단]의 '∼에 닿았는가?' 블록을 활용해 센서가 앞의 자동차에 닿을 경우 반대방향으로 움직이게 해 볼게요. 완성된 코드는 그림(3)과 같아요.

[소프트웨어야 놀자]자율주행차량 만들기

다른 자동차 움직임도 알아볼게요. 센서자동차의 앞 차는 센서가 닿으면 앞으로 조금 움직이게 해봅시다. 센서가 닿는 것은 같기 때문에 [흐름]의 '만일 ∼이라면' 블록과 [판단]의 '∼에 닿았는가?'를 활용해 그림(4)와 같은 코드를 만들어요.

[소프트웨어야 놀자]자율주행차량 만들기

[움직임] 블록을 사용할 때는 정해진 숫자가 계속 더해지는 '∼만큼 움직이기'와 정해진 숫자로 이동하는 '∼로 이동하기'를 잘 구별해 사용하세요. 두 블록을 사용하면서 어떤 차이가 있는지 스스로 확인해봐요.

드디어 작품이 완성됐어요. 자동차들을 피해 위 아래로 이동할 수 있는 센서자동차를 만들면 어떨까요?

도움말=김형근 독정초등학교교사,

김지선기자 river@etnews.com