Unity3D對弈游戲:狼吃羊游戲


簡介

  中文名:狼與羊

  英文名稱:Wolves&Sheep

  游戲類型:休閑/棋類

  玩家人數:單人或雙人

  游戲下載:WindowsAndroid

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

第一節 游戲規則

  棋盤可以用小石頭在泥土里上隨手就畫出來了,棋子中的狼和羊可以用樹枝或者小石子代替。

  准備

  找兩塊大點的石頭當作狼,二十四塊小石頭是羊

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

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

  開局

  兩個狼分別放在上下兩個脖子上,羊 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM