夜光带你走进C# 游戏开发等(八十四)擅长的领域

2023-10-11 00:20

本文主要是介绍夜光带你走进C# 游戏开发等(八十四)擅长的领域,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

夜光序言:

 

 

如果人生永远是一条直路,那一定很单调;

如果人生永远停留在某个阶段,那一定很乏味。所以,人生需要生活这块调色板。

 

 

 

 

 

 

 

 

 

 

正文:

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 分析
{//夜光:把下面这个类变成接口interface IPlayerOp  //规定每一个职业的玩家需要实现的功能,一般我们会加上一个I,表示这个是接口{//夜光:虚方法其实就是定义一个规范,告诉派生类你可以重新去实现这个规范//注意:接口里面定义的方法都必须是 public / abstract 类型的void TuShou();  //定义一个徒手攻击的方法void Jin();  //定义一个近距离攻击的方法void Yuan();   //定义一个远距离攻击的方法void Buff();   //定义一个加buff的方法}/// <summary>/// 下面这个抽象类PlayerOp继承IPlayerOp接口/// </summary>abstract class PlayerOp : IPlayerOp  //规定每一个职业的玩家需要实现的功能{public virtual void Buff(){throw new NotImplementedException();}//夜光:虚方法其实就是定义一个规范,告诉派生类你可以重新去实现这个规范/* //注意:接口里面定义的方法都必须是 public / abstract 类型的public abstract void TuShou();  //定义一个徒手攻击的方法public abstract void Jin();  //定义一个近距离攻击的方法public abstract void Yuan();   //定义一个远距离攻击的方法public abstract void Buff();   //定义一个加buff的方法*///抽象类里面可以包含非抽象的public void f(){Console.WriteLine("f()方法");}public virtual void Jin(){throw new NotImplementedException();}public virtual void TuShou(){throw new NotImplementedException();}public virtual void Yuan(){throw new NotImplementedException();}}/// <summary>/// 夜光:先定义一个英雄/// </summary>class Hero1 : PlayerOp  //Hero1 继承抽象类 PlayerOp{public override void TuShou()  //不可以加override{Console.WriteLine("琦玉老师的灵魂,一拳KO~~");}public override void Jin(){Console.WriteLine("桐人的灵魂,十六连击的“星爆气流斩”(Star Burst Stream)");}public override void Yuan(){Console.WriteLine("卫宫士郎的灵魂,无限剑制(Unlimited Blade Works)");}public override void Buff(){Console.WriteLine("男主的祝福,越挫越勇");}}/// <summary>/// 第二个英雄/// </summary>class Hero2 : PlayerOp{public override void TuShou(){Console.WriteLine("琦玉老师的灵魂,认真系列:一拳KO~~");}public override void Jin(){Console.WriteLine("桐人的灵魂,超越十六连击的“日蚀”");}public override void Yuan(){Console.WriteLine("卫宫士郎的灵魂,无限剑制精华版(Unlimited Blade Works)");}public override void Buff(){Console.WriteLine("男主的祝福,越挫越勇");}}class Program{static void Main(string[] args){//我们先new 两个对象出来Hero1 hero1 = new Hero1();Hero2 hero2 = new Hero2();IPlayerOp lpo = hero1;lpo.Jin();Console.ReadLine();}}
}

 

 

 

 

 

 

 

 

 

 

这篇关于夜光带你走进C# 游戏开发等(八十四)擅长的领域的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/184162

相关文章

在C#中分离饼图的某个区域的操作指南

《在C#中分离饼图的某个区域的操作指南》在处理Excel饼图时,我们可能需要将饼图的各个部分分离出来,以使它们更加醒目,Spire.XLS提供了Series.DataFormat.Percent属性,... 目录引言如何设置饼图各分片之间分离宽度的代码示例:从整个饼图中分离单个分片的代码示例:引言在处理

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

C# 预处理指令(# 指令)的具体使用

《C#预处理指令(#指令)的具体使用》本文主要介绍了C#预处理指令(#指令)的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1、预处理指令的本质2、条件编译指令2.1 #define 和 #undef2.2 #if, #el

C#实现将Excel工作表拆分为多个窗格

《C#实现将Excel工作表拆分为多个窗格》在日常工作中,我们经常需要处理包含大量数据的Excel文件,本文将深入探讨如何在C#中利用强大的Spire.XLSfor.NET自动化实现Excel工作表的... 目录为什么需要拆分 Excel 窗格借助 Spire.XLS for .NET 实现冻结窗格(Fro

C# Semaphore与SemaphoreSlim区别小结

《C#Semaphore与SemaphoreSlim区别小结》本文主要介绍了C#Semaphore与SemaphoreSlim区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、核心区别概览二、详细对比说明1.跨进程支持2.异步支持(关键区别!)3.性能差异4.API 差

C# List.Sort四种重载总结

《C#List.Sort四种重载总结》本文详细分析了C#中List.Sort()方法的四种重载形式及其实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录1. Sort方法的四种重载2. 具体使用- List.Sort();- IComparable

C#中Trace.Assert的使用小结

《C#中Trace.Assert的使用小结》Trace.Assert是.NET中的运行时断言检查工具,用于验证代码中的关键条件,下面就来详细的介绍一下Trace.Assert的使用,具有一定的参考价值... 目录1、 什么是 Trace.Assert?1.1 最简单的比喻1.2 基本语法2、⚡ 工作原理3

C#中DateTime的格式符的实现示例

《C#中DateTime的格式符的实现示例》本文介绍了C#中DateTime格式符的使用方法,分为预定义格式和自定义格式两类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录DateTime的格式符1.核心概念2.预定义格式(快捷方案,直接复用)3.自定义格式(灵活可控