Unity3D對弈遊戲:狼吃羊遊戲

簡介

  中文名:狼與羊git

  英文名稱:Wolves&Sheepgithub

  遊戲類型:休閒/棋類算法

  玩家人數:單人或雙人數據結構

  遊戲下載:WindowsAndroid框架

  遊戲描述:童年時與小夥伴常玩的一種遊戲,遊戲簡單易懂而又變化多樣。測試

第一節 遊戲規則

  棋盤能夠用小石頭在泥土裏上隨手就畫出來了,棋子中的狼和羊能夠用樹枝或者小石子代替。編碼

  準備spa

  找兩塊大點的石頭看成狼,二十四塊小石頭是羊設計

  狼和羊必須放置在網格的交叉點上3d

  每一個交叉點上最多有一個棋子

  開局

  兩個狼分別放在上下兩個脖子上,羊 8 個放在中間一圈的交叉點上,狼先走羊後走交替進行

  狼跳過羊就把羊吃掉了,狼只能沿圖上的直線跳且只能跳過一個點,不吃羊則只能走一格

  羊是先放不能走,每次放一隻,羊所有放完才能走,也是每次走一格

  勝負

  若是狼沒地方可走了,羊贏得比賽

  狼把羊吃光或羊認輸,狼贏得比賽

圖1-1 開局

第二節 程序設計

  涉及本遊戲核心邏輯的類庫最早在 WPF 平臺上完成編碼和測試。

  基礎功能

  棋盤表示:使用合適的數據結構表示棋盤

  移動判斷:檢測用戶走棋是否符合移動規則

  用戶視圖:視圖顯示棋盤和檢測用戶的輸入

  對弈模式

  人人對弈:支持雙人輪流下棋

  人機對弈:機器人難度級別可選

  對弈功能

  提示:由AI給出走棋提示

  悔棋:可返回上一步局面

  終止:當即終止比賽

 

圖2-1 終止比賽

第三節 AI算法

  AI 搜索算法借鑑中國象棋中成熟的深度優先搜索算法。

  搜索算法

  Alpha-Beta 剪枝

  局面生成

  基於規則逐步產生 

  局面評估

  棋子基礎子力:每一個棋子具備一個基礎價值

  棋子位置估值:評估棋子在不一樣位置的價值

  棋子關係估值:評估棋子間相互做用關係,例如對較多羊形成威脅的狼的價值較高

圖3-1 搜索算法調試輸出

第四節 Unity3D

 使用 VisualStudio 開發的遊戲核心邏輯類庫能夠編譯爲 DLL 文件,而後在 Unity3D 項目裏引用它。

  如何引用 .NET 類庫

  項目屬性->應用程序->目標框架,下拉列表中選擇 .NET Framework 3.5

  成功編譯後將輸出目錄下的文件所有複製到 Unity 項目的 Assets\Plugins 文件夾

  Unity3D 將自動完成導入,最後,在 C# 腳本中導入上述類庫項目的命名空間便可

  如果 VB.NET 項目,須要手動編輯 .vbproj 文件以開啓 VBRuntime Embed 編譯模式

  <PropertyGroup>
    <VBRuntime>Embed</VBRuntime>
  </PropertyGroup>

  通用的遊戲腳本

  背景音樂:切換場景仍可以連續播放的音樂 點擊查看代碼

  元素縮放:支持用戶在遊戲內縮放UI元素 點擊查看代碼

  雙人聯機:支持局域網建立遊戲房間進行聯機遊戲 點擊查看代碼

圖4-1 外部類庫項目屬性

附錄

  象棋百科全書:計算機博弈

  GitHub(WPF):WolfGame.NET

  GitHub(Unity3D):WolfGame.Unity

相關文章
相關標籤/搜索