這個機器人可以讓你在Discord上跟別人玩五子棋,簡單而有趣的遊戲。遊玩過程中可以進行對話,但機器人將會把對話刪除,不會有把棋局洗到聊天室太上端的問題。
遊玩示範影片 https://youtu.be/kiuVlqV4YZE
機器人邀請連結 https://reurl.cc/Zr4vyp
所有指令皆使用Slash Command(斜線指令)
直接輸入沒有用滴!
/set 類別ID
邀請機器人進伺服器的第一件事,是設定五子棋戰場的類別。(只有管理員能操作)
設定好之後,棋局頻道就會創建在該類別下方
如下圖
如果要遊玩的的話,只需輸入
/play @tag用戶
就可以邀請一位用戶跟你對戰啦~
剩下的都是透過按鈕來操作
Discord Java API
https://github.com/DV8FromTheWorld/JDA
這個不是第一次接觸的,在之前就做過很多次Bot了。不過其中的Button是我第一次使用,也算是學到新的東西。
Graphics2D
https://docs.oracle.com/javase/7/docs/api/java/awt/Graphics2D.html
接下來兩個都是第一次接觸的,這個是Java的繪圖,棋盤與棋子全部都是透過這個來畫出來的
因為棋盤方方正正的,所以X,Y軸的偏移量就很好抓,落子的定位也就做出來了。
Cloudinary
接下來這個是一個把圖片上傳到雲端的API,由於Discord的圖片以及檔案一經傳送之後就不能編輯
無法達到落子時只替換圖片的效果,但是透過編輯圖片URL,就可以實現。
它的功能非常多,但簡單來說我只是把它上傳上去再獲取圖片URL
有興趣或有相關需求的也可以去用用看~
心得
這個作品讓我學習到檔案操控的方式,如:新增、刪除、編輯檔案,以及存放檔案的相對路徑該如何設定
也學會基本的繪圖,以及二維陣列的實際運用。
但寫到後面越寫越亂,為了能夠運作有點忽略了可讀性,導致後來修復的時候都閱讀很久,是一個大問題
在未來的專案中也會適當加入註解來讓我的程式更好閱讀