iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0
Software Development

百變積木 , 好好玩 系列 第 28

[microbit] 客製化積木 - 使用生成式AI 協助

  • 分享至 

  • xImage
  •  

makeCode中可以使用custom的方式來做積木,那有沒有快速產生積木的方法呢?

接下來就來看看如何使用生成式AI中的chatGPT來幫忙協作

  1. 建立一個新的custom.ts檔案
  2. 建立成功後就會在積木選單中看到custom積木及右邊有範本的程式碼
  3. 以下是makecode提供的範本程式碼,先備著,等下會用到
/**
* 使用這個文件來定義自訂的函式和積木。
* 進一步了解:https://makecode.microbit.org/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);
    }
}

  1. 打開chatGPT畫面 (使用3.5)
  2. 將上面備存的程式碼範本及想要GPT幫我們產生的部分寫出來
    • 筆者想要GPT協助自動產生的是
      • 數學算式 a*b=答案
      • 顯示數學算式在microbit板子上
      • a及b可以由使用者輸入任意數字

如何詢問呢? 下面是筆者的問法

請使用下面javascript的範例程式碼產生出a*b 的數學式及顯示a*b 等於答案的數字並顯示. a 及b為數字1到9
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);
    }
}
  1. GPT 會直接產生積木項目的程式碼
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
    }

    /**
     * Multiplies two numbers and displays the equation and the result.
     * @param a First number, eg: 5
     * @param b Second number, eg: 10
     */
    //% block
    export function multiplyAndDisplay(a: number, b: number): void {
        let result = a * b;
        basic.showString(`${a} * ${b} = ${result}`);
    }

    /**
     * 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);
    }
}
  1. 那該如何使用上面的積木呢?GPT 是否可以幫我們產生相應的程式碼
  2. 繼續詢問GPT,在問答框中繼續詢問
    • 請問上面的部分要怎麼使用
  3. GPT 直接提供答案給我們,如下所示
// 載入custom命名空間的函數
const custom = require('custom');

// 定義兩個數字
let a = 5;
let b = 10;

// 呼叫multiplyAndDisplay函數並顯示結果
custom.multiplyAndDisplay(a, b);
  1. 回到資源管理器中custom.ts檔案中,然後刪除裏頭的內容後並貼上GPT幫我們產生的積木定義及邏輯式,就是第六步中提及的程式碼
  2. 在積木選單中點開custom後就會看到GPT中幫我們產生出來的新積木
    • 紅色框框處
  3. 那該如何使用呢?

積木型態

直接從積木選單中拖出來就可以了,最簡單!就會看到左邊的模擬器中出現5x10=50

程式碼型態

  1. 切換到javascript視窗後貼上GPT為我們產生的如何使用的程式碼
// 載入custom命名空間的函數
const custom = require('custom');

// 定義兩個數字
let a = 5;
let b = 10;

// 呼叫multiplyAndDisplay函數並顯示結果
custom.multiplyAndDisplay(a, b);
  1. 由於custom積木已經被載入,所以這行不用使用
    const custom = require('custom');
  2. 將其他部分貼入javascript視窗中後點選左邊的模擬器就會看到5*10=50

資源列表


上一篇
[micro:bit] 從積木開始做起 - 自訂積木
下一篇
[microbit] 拆解積木 - 看看裏頭的構造
系列文
百變積木 , 好好玩 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言