본문 바로가기
컴퓨터 활용/노년에 즐기는 코딩

[스크래치] 스크래치 스쿼시에 함수 적용하기

by easyfly 2023. 2. 21.
반응형

함수란

함수는 프로그램의 기본 단위로 어떤 입력을 받아 내부의 기능을 통해 결과를 출력하는 것을 말합니다. 이미 만들었던 '스크래치 스쿼시' 코딩을 변경하겠습니다.

 

변경 방향은 함수를 적용해서 담백하면서도 관리가 편하게 다듬어보겠습니다.

 

 

 

 

스크래치에서 함수는?

스크래치에서 함수는 '내 블록'으로 되어 있습니다. 자신만의 블록을 구성해 함수로 사용할 수 있게 됩니다.

블록 팔레트의 '내 블록'

'내 블록'은 이미 주어진 다른 팔레트의 블록과는 다른 자신의 블록을 만들어 사용하는 것입니다. 즉 일반 프로그램 언어에서 '함수'를 의미합니다. 

 

스크래치에서 함수에 대해 더 알아보기로 하겠습니다.

 

스크래치 스쿼시에서 함수화는?

같은 작업을 코딩을 중복할 필요 없이 함수로 만들어 적용하면 구현이 간단해집니다. 이미 만들어진 스크래치 스쿼시 경우는 반복되는 코딩이 '패들과 공사이에 일어나는 초기화 과정'입니다. 즉, '각도 계산'과 시작하기'를 함수화하도록 합니다.

중복되는 코딩의 함수화 필요

각도 계산은 세 군데서 사용됐습니다. 이것을 함수(스크래치에서는 '내 블록')를 만들어 해결합시다. 우선 '내 블록' '각도 계산'을 만듭니다. '내 블록'에서 '블록 만들기'를 선택하면 아래와 같은 입력창이 뜹니다.

내 블록 만들기

함수 이름인 '내 블록' 이름을 정합니다. 여기서는 '각도 계산'으로 합니다. '각도 계산'이라는 함수 이름으로 필요한 곳에 블록을 끼워 넣으면 여기서 정의된 프로그램 내용이 적용되는 것입니다.

'각도 계산'이라는 '내 블록' 생성

'각도 계산'이라는 함수명이 잘못됐다면 블록 팔레트의 '내 블록'에 있는 '각도 계산' 블록에서 마우스 우클릭을 하면 편집할 수 있습니다. 이름도 변경할 수 있고 추가되는 인수 등도 변경할 수가 있습니다.

'각도 계산' 블록과 거기에 맞는 함수 조립 블록

'각도'라는 변수를 만듭니다. 스크래치에서는 한글 변수명도 가능합니다. 변수가 프로젝트 창에 나타나게 하는 경우는 체크를 합니다. 각도는 화면에 나올 필요가 없으니 체크는 해제했습니다.

내 블록 만들기

내 블록을 구성하는 것이 함수를 만드는 과정입니다. '내 블록'에 변수 각도에 값을 지정하는 블록을 연결해서 난수 범위는 -45~45까지로 정합니다. '~로 정하기'는 컴퓨터 프로그래밍에서 대입을 의미합니다. 각도라는 변수에 난수로 발생되는 임의의 수를 대입하는 과정입니다.

'각도 계산' 블록 구성

생성된 '내 블록'인 '각도 계산'을 해당되는 곳에 맞춰 넣으면 됩니다.

'각도' 변수 삽입

물론 함수가 사용된다는 것을 먼저 확인해야 되기 때문에

함수인 '내 블록' 적용

마찬가지 방법으로 '내 블록으로 갈아 끼웁니다.

 

'시작하기' 블록 만들기

'각도 계산'과 같은 방법으로 '시작하기' 블록을 만듭니다.

 

'내 블록' 이름이 틀린 경우

바쁘게 '내 블록'을 만들다 보니 함수 이름이 틀렸군요. 위에서 소개한 방법으로 함수 이름을 수정하도록 합니다. 팔레트 '내 블록'에서 '시작하' 블록에 마우스를 두고 우클릭을 하여 변경해 봅니다.

 

'시작하'로 잘못된 블록 이름을 '시작하기'로 변경함

함수명을 변경하면 적용됐던 블록의 이름은 자동으로 변경됩니다. 

변경 전 블록에서 '시작하' 블록
변경 후 '시작하기'로 함수 이름이 바뀐 상태

스크래치 프로젝트로 맛보기

초록 깃발을 선택하면 게임은 시작됩니다.

반응형

댓글