Unity3d HW4-动作分离版牧师与魔鬼
一、基本操作演练
下载 Fantasy Skybox FREE, 构建自己的游戏场景
首先上Assert Store下载Skybox,我下载的是这一个:
之后我在unity中,把下载好的天空盒拖入摄像机中:
最后成品如下:
二、编程实践
牧师与魔鬼 动作分离版
【2019新要求】:设计一个裁判类,当游戏达到结束条件时,通知场景控制器游戏结束
根据老师给出的类图:
我们新建的SSActionManager类需要将动作与游戏场景分离出来,其中包含的方法是characterIsClicked方法,这样能够将FirstController的功能减少:
//动作管理基类 – SSActionManager
using UnityEngine;
using System.Collections;
using System.Collections.Generic;public class SSActionManager : MonoBehaviour
{public Judge jd;public void icharacterIsClicked(CharacterModel characterCtrl,BoatModel boat,CoastModel to_Coast,CoastModel from_Coast, UserGUI userGUI){if (characterCtrl.isOnBoat()){CoastModel whichCoast;// -1to、1fromif (boat.get_to_from() == -1){whichCoast = to_Coast;}else{whichCoast = from_Coast;}boat.GetOffBoat(characterCtrl.getName());characterCtrl.moveToPosition(whichCoast.getEmptyPosition());characterCtrl.getOnCoast(whichCoast);whichCoast.getOnCoast(characterCtrl);}else//Character在岸上{CoastModel whichCoast = characterCtrl.getCoastController();//船是满的if (boat.getEmptyNum() == -1){return;}//船和目标岸位置不同if (whichCoast.get_to_or_from() != boat.get_to_from())return;whichCoast.getOffCoast(characterCtrl.getName());characterCtrl.moveToPosition(boat.getEmptyPosition());characterCtrl.getOnBoat(boat);boat.GetOnBoat(characterCtrl);}userGUI.status = jd.icheck_game_status(boat,to_Coast, from_Coast);}}
另外新增的裁判类Judge判断游戏的状态:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Judge : MonoBehaviour
{public int icheck_game_status(BoatModel boat, CoastModel to_Coast, CoastModel from_Coast){int from_priest = 0;int from_devil = 0;int to_priest = 0;int to_devil = 0;int[] fromCount = from_Coast.getCharacterNum();from_priest += fromCount[0];from_devil += fromCount[1];int[] toCount = to_Coast.getCharacterNum();to_priest += toCount[0];to_devil += toCount[1];//胜利if (to_priest + to_devil == 6)return 2;int[] boatCount = boat.getCharacterNum();//游戏继续//船在对岸if (boat.get_to_from() == -1){to_priest += boatCount[0];to_devil += boatCount[1];}//船在初始岸else{from_priest += boatCount[0];from_devil += boatCount[1];}//失败if (from_priest < from_devil && from_priest > 0){return 1;}if (to_priest < to_devil && to_priest > 0){return 1;}return 0;}}
运行结果为:传送门
代码仓库:传送门
Unity3d HW4-动作分离版牧师与魔鬼相关推荐
- 【3D游戏编程与设计】四 游戏对象与图形基础 : 构建游戏场景+牧师与魔鬼 动作分离版
[3D游戏编程与设计]四 游戏对象与图形基础 : 构建游戏场景+牧师与魔鬼 动作分离版 基本操作演练 下载 Fantasy Skybox FREE, 构建自己的游戏场景 下载 Fantasy Skyb ...
- Unity3D项目四:牧师与魔鬼(动作分离版)
Unity3D项目四:牧师与魔鬼(动作分离版) 基本介绍 动作管理是游戏的重要内容,全部都放在游戏对象里显得十分笨重,所以本次项目需要将动作从对象中提取出来写成单独的动作控制器.动作控制器来管理控制所 ...
- 用Unity3D实现简单的牧师与魔鬼游戏(动作分离版)
用Unity3D实现简单的牧师与魔鬼游戏(动作分离版) 项目地址 牧师与魔鬼游戏(动作分离版) 完成效果图 上次博客链接 牧师与魔鬼游戏 实现心得 这次作业是在上次作业的基础上完成的,具体做出的改变是 ...
- 3D游戏设计-牧师与魔鬼_动作分离版
天空盒 天空盒 前情提要 3D游戏设计-牧师与魔鬼 游戏改进 将每个需要移动的游戏对象的移动方法提取出来,建立一个动作管理器来管理这些移动方法. 优点: 程序更能适应需求变化 对象更容易被复用 程序更 ...
- Unity3D游戏编程-牧师与恶魔 动作分离版
Unity3D游戏编程-牧师与恶魔 动作分离版 文章目录 Unity3D游戏编程-牧师与恶魔 动作分离版 作业要求 项目配置 项目演示 视频演示 项目下载 文字说明 项目截图 实现过程和方法(算法) ...
- 牧师与魔鬼——动作分离版
牧师与魔鬼--动作分离版 在上周的作业中,牧师与魔鬼游戏中的各个事件,都是写在Director中,并且都是继承Monobehavior的.在这周动作分离的设计中,我将上船.下船以及船的移动都分离出来. ...
- Unity实战之牧师与魔鬼(动作分离版)
Unity实战之牧师与魔鬼(动作分离版) 项目链接 整体描述 本次项目在第一版牧师与魔鬼的基础上,将动作从场记中分离出来,并设计一个裁判类实时监测游戏进行的情况.这样改进的优点有很多: 降低了不同功能 ...
- Unity牧师与魔鬼小游戏(动作分离版)
Unity牧师与魔鬼小游戏(动作分离版) 前言 这是中大计算机学院3D游戏编程课的一次作业,在这里分享一下设计思路. 主要代码上传到了gitee上,请按照后文的操作运行. 项目地址:https://g ...
- unity编程实践-牧师与魔鬼动作分离版
作业要求 牧师与魔鬼 动作分离版 [2019开始的新要求]:设计一个裁判类,当游戏达到结束条件时,通知场景控制器游戏结束 目标:建立动作管理器,使动作抽象出来,可以应用到任何游戏对象上,以此提高代码复 ...
最新文章
- mysql 5.7笔记_关于MySql 5.7.29免安装版本的一个笔记
- OpenSuse Linux 的单用户模式
- 神策 FM:做一名数据分析师是什么体验?
- grenndao 插入表数据报错
- CF741C Arpa’s overnight party and Mehrdad’s si
- java上传头像插件_JSP+SpringMVC框架使用WebUploader插件实现注册时候头像图片的异步上传功能...
- Python之eval函数实例解释
- 华为P30系列新配色官宣:9月6日IFA2019上见!
- python实现一个数如果恰好等于它的因子之和,这个数就称为“完数” 。例如, 6的因子为 1、2、3,而 6=1+2+3,因此 6 是完数。编程找出1000之内的所有完数
- 基于python、jupyter-notebook 的金融领域用户交易行为分析
- 用友t3 服务器通讯协议,远程登陆用友t3服务器
- Python数据处理(一)
- Meta-Learning in Neural Networks: A Survey元学习最新综述(翻译)
- xshell绿色版安装,无限制
- 阿里云code的git
- 得力如何用计算机算行列式,行列式的计算方法(课堂讲解版).docx
- Unity3D-设置地形
- 卡在返回驾驶舱–孤岛危机
- 【每日早报】2019/0604
- android 读取wps_Android 实现 调用 WPS Office手机版接口