오늘은 엔트리를 이용하여 다양한 도형을 만들어주는 프로그램을 만들어 보겠습니다.
초등학교에서 배우는 도형은 다양한 종류가 있는데, 그중에서 각 도형의 정 n각형을 그리는 작품을 만들어 보았습니다. 이 프로그램이 그릴 수 있는 도형은 정 삼각형, 정사각형, 정오각형, 정육각형,... 등 도형 내부의 각의 크기가 모두 같은 도형을 그리도록 코딩하였습니다.
이번 코딩을 통해 학생들은 다양한 도형의 한 각의 크기를 직접 계산해 볼 수 있고, 막연히 정 n각형의 모습을 상상하는 것이 아니라 프로그램이 직접 그려주기 때문에 정 n각형의 모습을 정확하게 알 수 있습니다.
그럼 지금부터 도형 그려주는 프로그램을 만들어 보도록 하겠습니다.
엔트리에 로그인 후 작품 만들기에 들어가서 코딩할 준비를 합니다.
정 n각형(정사각형, 정오각형, 정육각형, 정 칠각형, 정팔각형 등등)을 그리기 위해서는 사용자가 어떤 도형을 그릴 것인지 입력 값을 받아야 하고, 그 값을 변수에 저장하여 도형을 그릴 때 사용해야 합니다.
따라서 변수를 하나 만들어 줍니다.
다음으로 오브젝트를 생성합니다. 오브젝트는 꼭짓점에 해당하는 점을 하나 추가해 줍니다.
점은 기존 오브젝트에는 없고 사용자가 만들어야 합니다. 만드는 방법은 아래와 같습니다.
이제는 점 오브젝트에 코딩을 해보도록 하겠습니다.
시작하기 버튼을 클릭했을 때 어떤 도형을 그릴지 물어보아야 합니다.
따라서 시작하기 버튼을 클릭했을 때 블록과 안녕을 묻고 대답 기다리기 블록을 가지고 와서 연결합니다. 그리고 대답은 처음에 만들어둔 변수 n으로 지정합니다. 여기까지 했을 때 완성된 모습은 아래와 같습니다.
이제 생성한 오브젝트가 이동하면서 그림을 그리도록 해보겠습니다.
붓 꾸러미에서 그리기 시작 블록을 가지고 옵니다. 그리는 방식은 사용자가 입력한 n만큼 방향 전환을 하면서 그려야 하며, 방향 전환하는 각도는 해당 도형의 한 각의 크기가 됩니다.
따라서 그리기 시작 블록 밑에 ~번 반복하기 블록을 가지고 오고, ~에 변수 n을 넣습니다.
그리고 이동방향을 ~만큼 회전하기 블록을 가지고 와서 회전해야 하는 각도를 입력합니다. 여기서 회전해야 하는 각도는 360/n이 됩니다. 예를 들어 정사각형의 한 각의 크기는 90입니다. 식에 대입해 보면 360/4=90이 나오는 것을 알 수 있습니다.
360/n을 만들면 아래와 같습니다.
이 블록을 이동방향을 ~만큼 회전하기 블록에서 ~ 부분에 넣습니다. 그리고 오브젝트가 이동하도록 코딩합니다. 이동하도록 코딩하는 방법은 다양하게 있지만, 저는 이동하는 모습을 보여주기 위해서
위와 같이 코딩하였습니다. 위와 같이 코딩하면 오브젝트가 이동하는 모습을 천천히 확인할 수 있습니다.
이제 지금까지 만든 블록을 모드 결합하면
위와 같은 모습이 됩니다.
이제 작동하는 모습을 살펴보겠습니다.
지금까지 사용자가 입력한 각의 개수를 가지고 있는 정 n각형 만들기 프로그램을 만들어 보았습니다.
감사합니다.