사용자 정의 블럭코드 작성과 피보나치 수 생성

 수준: 고급 (고등학생 이상)

코딩 유형 : Adafruit Circuit Playground Express t 블럭 코딩

참고 사이트:Adafruit Circuit Playground Express - Blocks / Javascript editor

GitHub 저장소: Custom Block for Fibonacci Number Generation

                    https://makecode.com/_CTzLMuhW58RW

프로젝트 이름: Custom Block Make for Fibonacci Number Generation

블럭소스코드

기본으로  만들어지지 않은 새로운 블럭을 기존 블럭에 추가로  어떻게 만들어 넣을 수 있는가?에 대한 간략한 설명을 하자면

아다푸르트 서킷 플레이그라운드 익스프레스와 연동하여 사용할 수 있도록 하려면 먼저

1단계: https://makecode.adafruit.com/에 가서 새로운 빈 프로젝트를 생성한다

2단계: 편집화면에 나타나는 블럭을 모두 제거하고 {}JavaScript 탭을 선택한다

3단계: {}JavaScript 편집창에서 다음을 입력한다. 여기서 중요한 것은 //%block 매크로 명령형태인 주석을 추가하는 것이다.

주: Explorer > 메뉴가 왼쪽 하단에 나타난다

//% block export function fib(value: number): number { return value <= 1 ? value : fib(value - 1) + fib(value - 2); }

위 코드를 추가하면 EXPLORER + 메뉴가 나타나는데 + 버튼을 누르면 아래 팝업 창이 뜬다:


Go ahead 버튼을 눌면 {}JavaScript 편집창에 커스텀 코드가 추가되어 나타난다:

/**
* Use this file to define custom functions and blocks.
* Read more at https://makecode.adafruit.com/blocks/custom
*/

enum MyEnum {
//% block="one"
One,
//% block="two"
Two
}

/**
* Custom blocks
*/
//% weight=100 color=#0fbc11 icon=""
namespace custom {
/**
* TODO: describe your function here
* @param n describe parameter here, eg: 5
* @param s describe parameter here, eg: "Hello"
* @param e describe parameter here
*/
//% block
export function foo(n: number, s: string, e: MyEnum): void {
// Add code here
}

/**
* TODO: describe your function here
* @param value describe value here, eg: 5
*/
//% block
export function fib(value: number): number {
return value <= 1 ? value : fib(value -1) + fib(value - 2);
}
}

EXPLORER 를 보면 custom.ts 파일이 추가된 것을 확인할 수 있다.

4단계: 이제 기존 블럭 메뉴에 추가로 초록색 새로운 CUSTOM 이라는 블럭 메뉴가 추가된 것을 확인할 수 있다.

우리가 추가한 custom fib 함수가 보일 것이다.

5단계: 이제 커스텀 블록내의 fib함수를 사용하여 정상적인 블럭 코딩을 할 수 있다.

BLOCKS 편집창을 눌러 블럭 코딩으로 이동한다.

ADVANCED 블럭 메뉴를 펼쳐 >_CONSOLE 블럭을 클릭하여 console log value 블럭을 끌어다 놓는다

VARIABLES 블럭 메뉴를 펼쳐 Make a Variable...를 눌러 새로운 변수 index를 만든다. 만든 변수 index를 끌어다 놓는다.

LOOPS 블럭 메뉴를 펼쳐 for index from 0 to 4 블럭을 끌어다 넣는다.

완성된 블럭 코드는 아래와 같다:



실행결과










이 블로그의 인기 게시물

Micro:Bit --- Hit the Center Dot Game

마 아타 호쉐브(너는 어떻게 생각하느냐?)

Micro:Bit --- Mood Meter