zoukankan      html  css  js  c++  java
  • 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 项目的 AssetsPlugins 文件夹

      Unity3D 将自动完成导入,最后,在 C# 脚本中导入上述类库项目的命名空间即可

      若是 VB.NET 项目,需要手动编辑 .vbproj 文件以开启 VBRuntime Embed 编译模式

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

      通用的游戏脚本

      背景音乐:切换场景仍能够连续播放的音乐 点击查看代码

      元素缩放:支持用户在游戏内缩放UI元素 点击查看代码

      双人联机:支持局域网创建游戏房间进行联机游戏 点击查看代码

    图4-1 外部类库项目属性

    附录

      象棋百科全书:计算机博弈

      GitHub(WPF):WolfGame.NET

      GitHub(Unity3D):WolfGame.Unity

  • 相关阅读:
    自制对焦测试卡
    RHEL AS4上配置snmpd遇到问题及解决办法笔记
    一个OID资料集中网站
    mrtg配置小问题
    sybase 优化总结[zt]
    [ZT] solarwinds 2002工程师版本(带注册机)
    推荐四个网盘资源搜索工具
    Hadoop 集群搭建
    分布式文件系统 HDFS 简介
    HDFS Shell 命令实操
  • 原文地址:https://www.cnblogs.com/experdot/p/6633754.html
Copyright © 2011-2022 走看看