切換
舊版
前往
大廳
主題

[教學]做一個不用打指令的哈哈姆特機器人(使用特殊介面)

HAYATE | 2019-07-09 19:14:07 | 巴幣 8 | 人氣 933

這次教學前,首先要看一下哈哈姆特的特殊介面(目前必須在app版才能互動的樣子)
就是可以跟 官方柚子bot 玩動漫電玩通 的這個介面:



強烈建議先去玩一下柚子再來看下面的文章,對柚子說“問答”就可以玩了
這個介面有開api能讓我們自己設計使用,整個有點像做遊戲的感覺

因為要使用這個介面,其實涉及到程式的撰寫面比較多,的確是要一點軟底子的,
為了讓大家更好理解一點,這次只會講解一下設計概念(簡單)的部分
範例程式的部分會附上程式碼,code寫得不好的話還請見諒啊~
然後因為這篇比較進階,實作的部分請一定要先去這篇實作完後再進行下去

那教學開始囉!

這次目標是要做出這樣的bot:
不用打字打指令,只要點按鈕就能觸發bot動作
   
以我做的美食殿bot 為例,
點右上角?按鈕會觸發特殊介面,然後點介面上的按鈕能夠:
1. 顯示bot 能夠查詢資料的遊戲角色
2. 抽卡模擬
3. bot說明

   
要做出上面這樣的介面需要這幾個步驟:

1. 設定:一個關鍵字,當作啟動介面用(我的例子是綁定bot的代號)
   
2. 設計:啟動介面的圖案&初始的介面樣子(我的例子是用可口蘿圖,不顯示血條...)
介面上每個按鈕都要給一個指令,然後把這些資訊依照官方文件的格式打包起來,以下簡稱 那一包
   
3. 設計:按下按鈕後介面變動後的樣子,介面上每個按鈕的指令,以下簡稱 第二包(柚子的介面會因應答題對錯然後換下一題而變動,我的例子是和初始介面一樣,不會變動)
   
4. 設定:按下按鈕bot要做出的對應動作(柚子的例子是檢查有沒有答對,我的例子是列出角色表..)

然後整體流程,應該會是這樣的順序:
   
  1. 使用者輸入了啟動特殊介面的關鍵字 ->
  2. 我們的bot收到關鍵字後,把啟動圖&初始介面的 那一包 丟給哈哈姆特server ->
  3. 哈哈姆特記住了 那一包 上每個按鈕的指令 ->
  4. 哈哈姆特把 那一包 的畫面設定轉成介面顯示給使用者看到 ->
  5. 使用者點擊按鈕 ->
  6. 哈哈姆特找到之前記住按鈕對應的指令,把它丟回給我們的 bot ->
  7. 我們的bot收到指令後,執行我們設定的功能,並且把 第二包 丟給哈哈姆特server  ->
  8. 哈哈姆特記住了 第二包 上每個按鈕的指令 ->
  9. 哈哈姆特把 第二包 的畫面設定轉成介面顯示給使用者看到 ->  回到步驟5
   
實作:
   
程式碼貼到google apps script就能用了,這邊就不多說啦!
第一次嘗試的朋友可以看這一篇,照著做就OK了


歸納這個介面以下幾個要點:
1. 要開啟遊玩介面前,要給一個點擊用的圖片,點擊以後開始遊玩
2. 介面上的元件有:
   a.血條
   b.圖片
   c.文字
   d.按鈕
3. 可以即時的去對元件做處理:
    現在的血量是多少、圖片顯示哪張、文字內容、按鈕文字和數量變化
4. 元件全部都可以選擇要不要被隱藏起來(不顯示血條就變成了戀愛模擬遊戲的感覺XD)
5. 介面可以被縮成小視窗(能邊聊天邊玩?)
6. 每次觸發可以被視為不同的獨立事件
    這個要特別說一下,玩了幾次柚子的動漫電玩通後發現,
    如果我連續打兩次問答,出現了兩次“展開柚子“的圖,但是點擊後發現並是不同一局!
    也就是說,事件可以同時進行!

然後,這個東西好像有點活!?感覺能夠拿來做成很多種應用
比如說:
a. 不顯示血條和按鈕,設計成每隔一秒就更換圖片和文字的話 => 故事介面
b. 按鈕設計成攻擊指令,圖片設計成Boss,Boss會應血量變化而換圖 => 戰鬥介面
也太好玩了XD

那這次就先介紹到這邊囉~有空的話看看要不要來做一個打boss的戰鬥介面教學XD

bot圖片來自: 居家型暗黑凶宅
https://home.gamer.com.tw/homeindex.php?owner=shau0516

創作回應

八龍易主(´・ω・`)つ
原來UI介面長這樣(´・ω・`)
2019-08-07 05:23:55
HAYATE
可以去玩柚子,柚子的介面更完整~
2019-08-07 10:10:35

相關創作

更多創作