[新手必备]如何用c#写挂机游戏的回合制角色对战(1v1对战部分)

这篇博客介绍了如何用C#在Unity中开发挂机游戏的1v1回合制对战功能。通过创建Character类设定角色属性,如名字、血量、攻防等,并利用协程实现回合间的交替攻击,确保每一轮有一定的时间间隔。文中还讨论了while循环与协程的区别,并给出了具体的代码实现。最后,作者提到将分享1vn和nvn的对战实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相信很多人都玩过挂机游戏,大家也一定都知道挂机游戏中有一个对战的功能,那么,这个对战的功能到底是怎么写的呢?

其实,这种对局pk的代码非常简单,也很适合新手学习c#,在这里,作者采用的是用Unity进行开发

那么,我们就来先想一想,这游戏对局的代码里需要什么

首先,我们可以想象,1v1对局的时候,肯定会需要两个角色

而角色里面有需要什么呢?

正常来说,一个角色需要有名字,血量,攻击防御这些数值

我们可以新建一个类,就叫做Character

以下为代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[System.Serializable]
public class Character
{
    public string Name = "NPC";
    public float Hp = 100f;
    public int Attack = 5;
    public int defence = 1;
    [HideInInspector]
    public int Defence()
    {
        if (defence <= 100)
        {
            return defence;
        }
        else
        {
            return 0;
        }
    }
    public int speed;
    [HideInInspector]
    public int Speed()
    {
        if (speed <= 100)
        {
            return speed;
        }
        else
        {
            return 0;
        }
    }
    public bool isTurn = true;
    public bool isDead()
    {
        if (Hp > 0)
            return false;
        else
            return true;
    }
}

代码中, 我们建立了角色的名字(name),血量(hp),攻击(attack),防御(defence),速度(speed),以及是否为角色的回合(isTurn())和角色是否死了(isDead())

在防御以及速度的赋值中,新手可能会很奇怪,为什么会有两个一样的东西,新手可以

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值