牧师与魔鬼——unity实现

一、玩法简介

牧师与魔鬼是一款益智类型的小游戏,其核心玩法是确保三位牧师安全地到达河的对岸,同时避免被三位魔鬼伤害。游戏的挑战在于只有一艘船,且船每次只能载两个人,而且船在移动时必须至少有一个人在船上操作。玩家需要通过点击操作,将牧师和魔鬼移动到船上,并控制船的移动方向,以确保在任何时候河的两岸都不会出现魔鬼数量超过牧师的情况,否则牧师会被魔鬼伤害,游戏结束。

二、实现

1.对象预制

把游戏中需要用到的船、恶魔、牧师、墙壁、河流对象预制制作好

2.脚本架构

(1)Actions

该文件下的脚本包括了从简单动作到复杂组合动作的实现

每个脚本的大致功能教案中已经有所介绍,在此不再赘述

(2)Models

Models文件夹包括了各个对象的类的实现,如船、角色等,还有点击Click的事件处理

(3)Views

这个文件夹下主要是设计了游戏的界面,能够显示例如游戏标题、游戏时长等元素

(4)Controllers

这是游戏的控制部分,由多个控制脚本组成,例如船的控制、角色的控制等等,其中FirstController这个脚本是重点

可以看出,此游戏的脚本使用了MVC框架来整理代码的结果,并且进行了动作的分离

3.部分代码讲解

船这个类的代码,包括了承载角色数目等变量,船上最大只能承载两个人,构造函数的内容是加载预制好的船的模型,并把它放到预先设想好的位置坐标上

public class Boat
{
    public GameObject boat;//船对象
    public Role[] roles;//船上的角色
    public bool isRight;
    public int priestCount, devilCount;

    public Boat(Vector3 position) {
        boat = GameObject.Instantiate(Resources.Load("Prefabs/boat", typeof(GameObject))) as GameObject;
        boat.name = "boat";
        boat.transform.position = position;
        boat.transform.localScale = new Vector3(2.8f,0.4f,2);

        roles = new Role[2];
        isRight = false;
        priestCount = devilCount = 0;

        boat.AddComponent<BoxCollider>();
        boat.AddComponent<Click>();
        
    }
}

角色类的代码

包括判断身份,是否在船上等等的变量,构造函数的作用与B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值