This is a documentation for Board Game Arena: play board games online !

SandboxScripts

出自Board Game Arena
於 2025年3月28日 (五) 04:14 由 Dashuiweng留言 | 貢獻 所做的修訂 (创建页面,内容为“以下是您可以从 Sandbox 脚本中调用的函数参考。 === Javascript === BGA 沙箱脚本是用 Javascript 编写的。 使用Javascript,您可以编写脚本来让您的沙盒游戏具有更多的自动化规则。 重要:与 Javascript 最常见的用法相反,沙盒脚本在'''服务器端'''执行。 === BGA API === 为了与您的 BGA Sandbox 游戏交互,我们为您提供了一个 API。 使用此 API,您可以从当前游戏情…”)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

以下是您可以從 Sandbox 腳本中調用的函數參考。

Javascript

BGA 沙箱腳本是用 Javascript 編寫的。

使用Javascript,您可以編寫腳本來讓您的沙盒遊戲具有更多的自動化規則。

重要:與 Javascript 最常見的用法相反,沙盒腳本在服務器端執行。

BGA API

為了與您的 BGA Sandbox 遊戲交互,我們為您提供了一個 API。

使用此 API,您可以從當前遊戲情況中獲取遊戲元素的屬性值、修改它們和/或觸發遊戲行動(例如:移動配件、翻卡等)。

快速開始

Hello World

從 Sandbox 編輯器的「界面視圖【interface view】」選項卡中,選擇一個元素,並訪問其屬性(右上角的圖標)。

轉到「腳本(高級)【Scripts (advanced)】」部分。

在「單擊此元素時【When this element is clicked】」前面,輸入「onMyClick」。

關閉窗口。轉到 「script view」 選項卡。

輸入以下內容 :

function onMyClick( element_id )
{
   bga.log("Hello world! You just clicked on element " + element_id + ". Congrats!");
}

保存並發布您的項目,開始測試會話,點擊前一個元素:您的消息會出現在右側的日誌中!

重要提示

  • 您不必為腳本的每次修改都執行保存並發布:每次保存腳本(control+S)時,用於所有測試會話的腳本都會更新。請注意,BGA 上的生產版本當然不會更新,直到您再次明確保存和發布您的項目。
  • 要檢查變量的內容,您可以將bga.log()與JSON.stringify()結合使用。例如:
 bga.log( JSON.stringify( bga.getPlayers()) );
  • 除了log() 之外,您還可以使用 bga.exit( "my message" ) 來調試腳本。使用 bga.exit,腳本會立即停止執行,並且所有以前的遊戲更改都會被取消,因此嘗試重試作直到腳本正常。
  • 我們建議您先開發一個沒有腳本的完整可玩遊戲版本,然後再編寫腳本。
  • 在Board Game Arena 上,玩家們期待可以自動執行所有規則的遊戲。因此,即使從技術上講可以只編寫一部分腳本也能暢玩遊戲,但是在大多數情況下,我們也會只發布完全腳本化的遊戲:)