如何利用CSharp球队模板编写自己的足球队

本文详细讲解如何利用C#的球队模板来编写足球队,介绍CnblogsDotNetSDK项目和DemoTeamCSharp项目的功能,包括球员位置、足球状态、场上信息处理及球员命令等关键概念。
摘要由CSDN通过智能技术生成

在上2篇文章中,我们介绍了博客园仿真足球竞赛平台的基本使用方法和它的基本工作原理

在这篇文章中,我们将一起来了解如何使用c#球队的球队模板来编写自己的足球队。


推荐文章:

  1. 如何利用Java球队模板编写自己的足球队
  2. 博客园仿真足球竞赛平台Python版SDK


订阅本系列文章


我们首先可观看视频,然后再看文章后面的详细介绍。

清晰版下载

 

 

 

使用VS打开c#球队的球队模板,可以看到这个解决方案包含了2个项目

1_thumb1

第一个项目是:CnblogsDotNetSDK

这是一个类库项目,这个SDK将负责与比赛平台之间的通信,由Communication和Data这2个名字空间中的类完成。我们在编写球队的时候不需要去考虑他们。

Settings名字空间中包含了比赛平台的基本常量:

FieldSettings:这个类中包含了和比赛场地相关的常量。如场地的长,宽,球门的大小,禁区的大小等等,使用非常简单,比如我要得到球场的长度:

double fieldLength = FieldSettings.Instance.FieldLength; 

GameSettings:这个类中包含了和比赛设置相关的常量。如比赛的周期长短,每个周期可以思考的时间等等。比如我要获得比赛的周期数:

int cycleNum = GameSettings.Instance.GameCycle;

RuleSettings:这个类中包含了和比赛规则相关的常量。如球员每一个周期最大的奔跑距离,踢球的速度范围等等。比如我要获得球员每个周期能奔跑的最大距离:

double dashDis = RuleSettings.Instance.MaxDashVel;

ServerSettings:这个类由SDK内部与平台通信使用。

Utility名字空间中包含了和2D几何运算相关的类:

NumeralHelper:提供数字计算方面的帮助类,如其中的SolveABCFormula可以用于求解2元1次方程,GetLengthGeomSeries这一类函数用于求解等比数组方面的问题。

AngleHelper:提供角度方面的辅助计算,所有的角度计算都是以角度计算的。如NormalizeAngle可以将任意一个角度转化为-180,180之间,SinDeg用于计算某个角度的Sin值等等。

以下几个几何类都是Struct结构的,是值类型,而不是引用类型

Vector2f:代表了一个2D坐标区域的坐标点。有X和Y坐标,提供2D坐标中一些相应的计算。如GetLength得到自己到原点的长度,运算符重载等等。这个类型在实际的编写中将会大量地使用。

Rectangle:代表了一个矩形。有左上角坐标和右下角坐标,提供了和矩形相关的一些计算。如判断某个点(Vector2f)是否在矩形内IsInside等等。

Line:代表直线以及相应的计算。直线的表示为方程:ay + bx + c = 0,如GetIntersection可以求2条直线之间的交点等等。

Circle:代表圆的平面几何计算类。圆用圆心和半径来表示,如IsInside判断某个点(Vector2f)是否在圆内,GetIntersectionPoints求解2个圆的交点等等。

第二个项目是:DemoTeamCSharp

这是一个控制台程序,也就是咱们的球队的启动文件,他将包含球队的所有逻辑部分。

Program.cs:这个是咱们程序的主入口。在Main函数中,我们可以设定自己的球队名称和作者名称

设置球队的基本信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值