vlambda博客
学习文章列表

【第六章】第八节Lua及C++函数


Lua及C++函数说明


附件一【task函数说明】

说明:

8.1.1-8.1.6函数为官方提供的自定义task函数,传入用户编写的dll技能,实现扩展

每个自定义task函数指定给对应的角色使用,如KickerTask对应Kicker(前锋)、ReceiverTask对应Receiver(中场)等。

使用方法示例:

Kicker = KickerTask(“dll名称”, pos_,dir_,kickflat_,kp_,cp_)

然后,我们需要明白,自定义skill技能函数的c++框架。

KickerTask

ReceiverTask

【第六章】第八节Lua及C++函数

TierTask

【第六章】第八节Lua及C++函数

DefenderTask

【第六章】第八节Lua及C++函数

MiddleTask

【第六章】第八节Lua及C++函数

GoalieTask

【第六章】第八节Lua及C++函数

说明:

· 8.1.7-8.1.19函数为官方task函数,调用官方提供的技能函数;

· 每一个官方task函数完成一项技能,并且可以指派给所有的角色使用。

GetBall

【第六章】第八节Lua及C++函数

Goalie

【第六章】第八节Lua及C++函数

GoRecePos

【第六章】第八节Lua及C++函数

RobotHalt

【第六章】第八节Lua及C++函数

NormalDef

【第六章】第八节Lua及C++函数

PassBall

【第六章】第八节Lua及C++函数

ReceiveBall

【第六章】第八节Lua及C++函数

Stop

【第六章】第八节Lua及C++函数

Shoot

【第六章】第八节Lua及C++函数

RefDef

【第六章】第八节Lua及C++函数

GotoPos

【第六章】第八节Lua及C++函数

PenaltyDef

【第六章】第八节Lua及C++函数

PenaltyKick

【第六章】第八节Lua及C++函数


附件二【基础函数说明】

以下函数为LUA层可以直接调用的函数


比赛信息:我方球员

COurRole_x

【第六章】第八节Lua及C++函数

COurRole_y

【第六章】第八节Lua及C++函数

COurRoleDir

【第六章】第八节Lua及C++函数

CBall2RoleDist

【第六章】第八节Lua及C++函数

CRole2BallDir

【第六章】第八节Lua及C++函数

COurRole2RoleDist

【第六章】第八节Lua及C++函数

CRole2TargetDist

【第六章】第八节Lua及C++函数

COurRole2RoleDir

【第六章】第八节Lua及C++函数

CRole2OppGoalDir

【第六章】第八节Lua及C++函数

CIsBallKick

【第六章】第八节Lua及C++函数

CIsGetBall

【第六章】第八节Lua及C++函数


比赛信息:敌方球员

CGetOppNums

【第六章】第八节Lua及C++函数

注:CGetOppNums返回的table存储格式是{[0]=”n1”, [1]=”n2”,[2]=”n3”},存储顺序是随机的;其中”n1”,”n2”,”n3”表示返回的车号,车号是string类型。在实际应用中,我们需要用for...in pairs(table)do...的方式遍历table并找到场上敌方车号。


COppNum_x

【第六章】第八节Lua及C++函数

COppNum_y

【第六章】第八节Lua及C++函数

COppNumDir

【第六章】第八节Lua及C++函数

CBall2OppNumDist???????

【第六章】第八节Lua及C++函数

COppNum2BallDir

【第六章】第八节Lua及C++函数
【第六章】第八节Lua及C++函数

COppIsBallKick

【第六章】第八节Lua及C++函数

COppIsGetBall

【第六章】第八节Lua及C++函数


比赛信息:球  

CGetBallX

【第六章】第八节Lua及C++函数

CGetBallY

【第六章】第八节Lua及C++函数

CBall2PointDist

【第六章】第八节Lua及C++函数

CBall2PointDist

【第六章】第八节Lua及C++函数

CBall2RoleDist

【第六章】第八节Lua及C++函数

CBall2PointDir

【第六章】第八节Lua及C++函数

CBall2PointDir

【第六章】第八节Lua及C++函数


比赛信息:比赛条件

CGameOn

【第六章】第八节Lua及C++函数

CNormalStart

【第六章】第八节Lua及C++函数

Cbuf_cnt

【第六章】第八节Lua及C++函数


附件三【worldmodel lib库说明】

worldmodel_lib库定义了WorldModel类,并通过WorldModle类中的方法获得球场上vision信息。

get_ball_pos 

【第六章】第八节Lua及C++函数

get_our_player_pos

【第六章】第八节Lua及C++函数

get_opp_player_pos

【第六章】第八节Lua及C++函数

get_ball_vel

【第六章】第八节Lua及C++函数

get_our_player_v

【第六章】第八节Lua及C++函数

get_opp_player_dir

【第六章】第八节Lua及C++函数

get_our_player_dir

【第六章】第八节Lua及C++函数

get_our_goalie

【第六章】第八节Lua及C++函数

get_opp_goalie

【第六章】第八节Lua及C++函数

get_our_exist_id

【第六章】第八节Lua及C++函数

get_opp_exist_id

【第六章】第八节Lua及C++函数


附件四【utils工具包说明】

PlayerTask类成员变量说明

orientate

【第六章】第八节Lua及C++函数

target_pos

【第六章】第八节Lua及C++函数

needKick

【第六章】第八节Lua及C++函数

isPass

【第六章】第八节Lua及C++函数

needCb

【第六章】第八节Lua及C++函数

isChipPass

【第六章】第八节Lua及C++函数

kickPower