함수로 밤하늘에 빛 그리기

엔트리를 옆에 띄워 놓고 한 단계씩 만들어 봐요.

▶ 시작 버튼을 누르고 무대를 클릭해 보세요

엔트리 열기 ↗
1단계

별 하나와 함수

2단계

함수로 밤하늘 채우기

1단계

별 하나와 함수

선 하나에서 시작해서, 별 그리는 함수를 만들어요.

오늘 배울 것

  1. 1붓으로 선 그리기
  2. 2반복으로 별 그리기
  3. 3함수 만들기
  4. 4매개변수로 가지 수 바꾸기
1단계 · STEP 1

오브젝트 준비하기

🎯 밤하늘 배경과 몽당연필을 무대에 올려요.

미리보기

이동 방향 90°

오브젝트 목록

🌌
배경
별 헤는 밤
✏️
오브젝트
몽당연필
  • 몽당연필 크기를 30 정도로 줄여요.
  • 몽당연필의 이동 방향이 90°(오른쪽)인지 확인해요.
  • 몽당연필 대신 마음에 드는 오브젝트로 바꿔도 좋아요.
1단계 · STEP 2

선 하나 그리기

🎯 붓으로 선 하나를 긋고 제자리로 돌아와요.

미리보기

4배 확대

블록 코드

모두 새 블록
시작하기 버튼을 클릭했을 때
모든 붓 지우기
그리기 시작하기
이동 방향으로 30 만큼 움직이기
이동 방향으로 -30 만큼 움직이기
그리기 멈추기

따라 하기

생각해 봐요: -30만큼 움직이면 왜 제자리로 돌아올까?

뒤로 30만큼 가니까요. 그래야 다음 선도 같은 점에서 시작해요.

1단계 · STEP 3

선 8개로 별 하나 그리기

🎯 반복하기로 선 8개를 돌려 가며 그려요.

미리보기

4배 확대
한 바퀴는 360°. 선 8개를 고르게 나누려면 360 ÷ 8 = 45° 씩 돌아요.

블록 코드

시작하기 버튼을 클릭했을 때
모든 붓 지우기
그리기 시작하기
8 번 반복하기NEW
이동 방향으로 30 만큼 움직이기
이동 방향으로 -30 만큼 움직이기
이동 방향을 45 만큼 회전하기NEW
그리기 멈추기

따라 하기

생각해 봐요: 선을 12개로 하려면 몇 도씩 돌아야 할까?

360 ÷ 12 = 30°

1단계 · STEP 4

별 그리기를 함수로 만들기

🎯 별 그리는 블록 묶음에 ‘빛그리기’라는 이름을 붙여요.

미리보기

4배 확대
함수 = 여러 블록을 하나로 묶고 이름을 붙인 것. 이름만 부르면 묶음 전체가 실행돼요.
“라면 끓여줘” 한마디면 물 끓이기 → 면 넣기 → 스프 넣기가 다 실행돼요.

블록 코드

함수
함수 정의하기 빛그리기NEW
붓의 색을 무작위로 정하기NEW
그리기 시작하기
8 번 반복하기
이동 방향으로 30 만큼 움직이기
이동 방향으로 -30 만큼 움직이기
이동 방향을 45 만큼 회전하기
그리기 멈추기
메인(몽당연필)
시작하기 버튼을 클릭했을 때
모든 붓 지우기
빛그리기NEW

따라 하기

1단계 · STEP 5

매개변수로 가지 수 바꾸기

🎯 함수에 값을 넣어서 가지 수를 마음대로 바꿔요.

미리보기

10

4배 확대
매개변수 = 함수에 넣어주는 값. 같은 함수라도 넣는 값에 따라 결과가 달라져요.

블록 코드

함수
함수 정의하기 빛그리기 문자/숫자값1NEW
붓의 색을 무작위로 정하기
그리기 시작하기
문자/숫자값1 번 반복하기NEW
이동 방향으로 30 만큼 움직이기
이동 방향으로 -30 만큼 움직이기
이동 방향을 360 / 문자/숫자값1 만큼 회전하기NEW
그리기 멈추기
메인(몽당연필)
시작하기 버튼을 클릭했을 때
모든 붓 지우기
빛그리기 10NEW

따라 하기

1단계 · 퀴즈

1단계 마무리 퀴즈

Q1. 선 8개로 별을 그리려면 한 번에 몇 도씩 돌아야 할까요?

Q2. 함수를 바르게 설명한 것은?

Q3. 빛그리기 12를 부르면 한 번에 몇 도씩 돌까요?

작품 저장하기

다음 시간에 이어서 만들어요. 꼭 저장하세요!

① 로그인했다면 [저장하기] — 이름은 '빛그리기_내이름'
② 로그인 안 했다면 [내 컴퓨터에 저장하기]로 .ent 파일 저장.

2단계

함수로 밤하늘 채우기

지난 시간에 만든 빛그리기 함수로 밤하늘을 가득 채워요.

저장한 '빛그리기_내이름' 작품을 열어요 (또는 .ent 파일 불러오기)

오늘 배울 것

  1. 1무작위 수와 변수
  2. 2빛을 한 줄로
  3. 3함수 안에서 함수 부르기
  4. 4반복으로 밤하늘 채우기

지난 시간 복습

함수 정의하기 빛그리기 문자/숫자값1
붓의 색을 무작위로 정하기
그리기 시작하기
문자/숫자값1 번 반복하기
이동 방향으로 30 만큼 움직이기
이동 방향으로 -30 만큼 움직이기
이동 방향을 360 / 문자/숫자값1 만큼 회전하기
그리기 멈추기

값을 넣으면 그 수만큼 가지가 있는 빛을 그려요.

2단계 · STEP 1

무작위 수로 여러 가지 빛 만들기

🎯 가지 수를 무작위로 정해서 매번 다른 빛을 그려요.

미리보기

4배 확대

블록 코드

함수
함수 정의하기 빛그리기 문자/숫자값1
붓의 색을 무작위로 정하기
그리기 시작하기
문자/숫자값1 번 반복하기
이동 방향으로 30 만큼 움직이기
이동 방향으로 -30 만큼 움직이기
이동 방향을 360 / 문자/숫자값1 만큼 회전하기
그리기 멈추기
메인(몽당연필)
시작하기 버튼을 클릭했을 때
모든 붓 지우기
가지수 를 5 부터 15 사이의 무작위 수 로 정하기NEW
빛그리기 가지수 값NEW

따라 하기

생각해 봐요: 무작위 수를 바로 빛그리기에 넣지 않고 변수에 담는 이유는?

가지수 값을 화면에 보여 주거나 다른 곳에서도 같은 값을 쓸 수 있어서예요.

2단계 · STEP 2

빛 함수로 한 줄 빛 그리기

🎯 빛그리기를 5번 불러 빛을 한 줄로 늘어놓아요.

미리보기

-180에서 85씩 4번 가면 -180 → -95 → -10 → 75 → 160. 무대 안에 쏙 들어와요.

블록 코드

함수
함수 정의하기 빛그리기 문자/숫자값1
붓의 색을 무작위로 정하기
그리기 시작하기
문자/숫자값1 번 반복하기
이동 방향으로 30 만큼 움직이기
이동 방향으로 -30 만큼 움직이기
이동 방향을 360 / 문자/숫자값1 만큼 회전하기
그리기 멈추기
메인(몽당연필)
시작하기 버튼을 클릭했을 때
모든 붓 지우기
그리기 굵기를 3 으로 정하기NEW
x: -180 y: 85 위치로 이동하기NEW
5 번 반복하기NEW
가지수 를 5 부터 15 사이의 무작위 수 로 정하기
빛그리기 가지수 값
x 좌표를 85 만큼 바꾸기NEW

따라 하기

2단계 · STEP 3

한줄빛 함수 만들기

🎯 한 줄 그리는 블록 묶음도 ‘한줄빛’ 함수로 만들어요.

미리보기

함수 전 메인 7줄 → 함수 후 메인 5줄. 결과는 똑같아요.

함수 안에서 다른 함수를 부를 수 있어요:

한줄빛→빛그리기→선 그리기

블록 코드

함수
함수 정의하기 빛그리기 문자/숫자값1
붓의 색을 무작위로 정하기
그리기 시작하기
문자/숫자값1 번 반복하기
이동 방향으로 30 만큼 움직이기
이동 방향으로 -30 만큼 움직이기
이동 방향을 360 / 문자/숫자값1 만큼 회전하기
그리기 멈추기
함수 정의하기 한줄빛NEW
5 번 반복하기
가지수 를 5 부터 15 사이의 무작위 수 로 정하기
빛그리기 가지수 값
x 좌표를 85 만큼 바꾸기
메인(몽당연필)
시작하기 버튼을 클릭했을 때
모든 붓 지우기
그리기 굵기를 3 으로 정하기
x: -180 y: 85 위치로 이동하기
한줄빛NEW

따라 하기

2단계 · STEP 4

세 줄로 밤하늘 채우기

🎯 한줄빛을 3번 불러 밤하늘 가득 빛을 그려요.

미리보기

메인: 3번 반복(줄)
한줄빛: 5번 반복(빛)
빛그리기: 가지수만큼 반복(줄기)

3 × 5 = 15개의 빛

블록 코드

함수
함수 정의하기 빛그리기 문자/숫자값1
붓의 색을 무작위로 정하기
그리기 시작하기
문자/숫자값1 번 반복하기
이동 방향으로 30 만큼 움직이기
이동 방향으로 -30 만큼 움직이기
이동 방향을 360 / 문자/숫자값1 만큼 회전하기
그리기 멈추기
함수 정의하기 한줄빛
5 번 반복하기
가지수 를 5 부터 15 사이의 무작위 수 로 정하기
빛그리기 가지수 값
x 좌표를 85 만큼 바꾸기
메인(몽당연필)
시작하기 버튼을 클릭했을 때
그리기 색을 흰색 으로 정하기NEW
모든 붓 지우기
그리기 굵기를 3 으로 정하기
x: -180 y: 85 위치로 이동하기
3 번 반복하기NEW
한줄빛
x: -180 위치로 이동하기NEW
y 좌표를 -90 만큼 바꾸기NEW

따라 하기

생각해 봐요: x: -180 위치로 이동하기가 없으면 어떻게 될까?

두 번째 줄이 무대 오른쪽 밖에서 시작해서 빛이 안 보여요.

2단계 · STEP 5

소리와 마우스 클릭으로 완성하기

🎯 원본처럼 마우스를 클릭하면 음악과 함께 그려지게 해요.

미리보기

블록 코드

함수
함수 정의하기 빛그리기 문자/숫자값1
붓의 색을 무작위로 정하기
그리기 시작하기
문자/숫자값1 번 반복하기
이동 방향으로 30 만큼 움직이기
이동 방향으로 -30 만큼 움직이기
이동 방향을 360 / 문자/숫자값1 만큼 회전하기
그리기 멈추기
함수 정의하기 한줄빛
5 번 반복하기
가지수 를 5 부터 15 사이의 무작위 수 로 정하기
빛그리기 가지수 값
x 좌표를 85 만큼 바꾸기
메인(몽당연필)
마우스를 클릭했을 때NEW
소리 별세는 밤 재생하기NEW
그리기 색을 흰색 으로 정하기
모든 붓 지우기
그리기 굵기를 3 으로 정하기
x: -180 y: 85 위치로 이동하기
3 번 반복하기
한줄빛
x: -180 위치로 이동하기
y 좌표를 -90 만큼 바꾸기
모든 소리 멈추기NEW

따라 하기

7정리 & 도전!

  • 함수 = 블록 묶음 + 이름
  • 값을 넣으면 결과가 달라져요.
  • 함수 안에서 다른 함수를 부를 수 있어요.
★무작위 수 범위를 3~30으로 바꿔 보기
★그리기 굵기 바꿔 보기
★★빛그리기에 “길이” 값을 하나 더 받도록 고치기
★★★4줄 × 6개로 화면을 꽉 채우기 (간격 계산 필요)

Q1. 메인 코드를 실행하면 빛은 모두 몇 개?

Q2. 한줄빛 안에서 'x 좌표를 85만큼 바꾸기'를 하는 이유는?