|
- from Interface import IHumanAPI, IButcherAPI, IGameTimer, IAI
- from logic import ILogic
-
- from Interface import ILogic, IHumanAPI, IButcherAPI, IGameTimer
- from typing import List, Union
- import structures as THUAI6
-
-
- class HumanDebugAPI(IHumanAPI, IGameTimer):
-
- # 指挥本角色进行移动,`timeInMilliseconds` 为移动时间,单位为毫秒;`angleInRadian` 表示移动的方向,单位是弧度,使用极坐标——竖直向下方向为 x 轴,水平向右方向为 y 轴
-
- def __init__(self, logic: ILogic):
- self.__logic = logic
-
- def Move(self, timeInMilliseconds: int, angle: float) -> bool:
- pass
-
- # 向特定方向移动
-
- def MoveRight(self, timeInMilliseconds: int) -> bool:
- pass
-
- def MoveLeft(self, timeInMilliseconds: int) -> bool:
- pass
-
- def MoveUp(self, timeInMilliseconds: int) -> bool:
- pass
-
- def MoveDown(self, timeInMilliseconds: int) -> bool:
- pass
-
- # 道具和技能相关
-
- def PickProp(self, propType: THUAI6.PropType) -> bool:
- pass
-
- def UseProp(self) -> bool:
- pass
-
- def UseSkill(self) -> bool:
- pass
-
- # 消息相关,接收消息时无消息则返回(-1, '')
-
- def SendMessage(self, toID: int, message: str) -> bool:
- pass
-
- def HaveMessage(self) -> bool:
- pass
-
- def GetMessage(self) -> tuple[int, str]:
- pass
-
- # 等待下一帧
-
- def Wait(self) -> bool:
- pass
-
- # 获取各类游戏中的消息
-
- def GetFrameCount(self) -> int:
- pass
-
- def GetPlayerGUIDs(self) -> List[int]:
- pass
-
- def GetButchers(self) -> List[THUAI6.Butcher]:
- pass
-
- def GetHumans(self) -> List[THUAI6.Human]:
- pass
-
- def GetProps(self) -> List[THUAI6.Prop]:
- pass
-
- def GetSelfInfo(self) -> Union[THUAI6.Human, THUAI6.Butcher]:
- pass
-
- def GetFullMap(self) -> List[List[THUAI6.PlaceType]]:
- pass
-
- def GetPlaceType(self, cellX: int, cellY: int) -> THUAI6.PlaceType:
- pass
-
- # 用于DEBUG的输出函数,仅在DEBUG模式下有效
-
- def PrintHuman(self) -> None:
- pass
-
- def PrintButcher(self) -> None:
- pass
-
- def PrintProp(self) -> None:
- pass
-
- def PrintSelfInfo(self) -> None:
- pass
-
- # 人类阵营的特殊函数
-
- def Escape(self) -> bool:
- pass
-
- def StartFixMachine(self) -> bool:
- pass
-
- def EndFixMachine(self) -> bool:
- pass
-
- def StartSaveHuman(self) -> bool:
- pass
-
- def EndSaveHuman(self) -> bool:
- pass
-
- # Timer用
-
- def StartTimer(self) -> None:
- pass
-
- def EndTimer(self) -> None:
- pass
-
- def Play(self, ai: IAI) -> None:
- pass
-
-
- class ButcherDebugAPI(IButcherAPI, IGameTimer):
-
- # 指挥本角色进行移动,`timeInMilliseconds` 为移动时间,单位为毫秒;`angleInRadian` 表示移动的方向,单位是弧度,使用极坐标——竖直向下方向为 x 轴,水平向右方向为 y 轴
-
- def Move(self, timeInMilliseconds: int, angle: float) -> bool:
- pass
-
- # 向特定方向移动
-
- def MoveRight(self, timeInMilliseconds: int) -> bool:
- pass
-
- def MoveLeft(self, timeInMilliseconds: int) -> bool:
- pass
-
- def MoveUp(self, timeInMilliseconds: int) -> bool:
- pass
-
- def MoveDown(self, timeInMilliseconds: int) -> bool:
- pass
-
- # 道具和技能相关
-
- def PickProp(self, propType: THUAI6.PropType) -> bool:
- pass
-
- def UseProp(self) -> bool:
- pass
-
- def UseSkill(self) -> bool:
- pass
-
- # 消息相关,接收消息时无消息则返回(-1, '')
-
- def SendMessage(self, toID: int, message: str) -> bool:
- pass
-
- def HaveMessage(self) -> bool:
- pass
-
- def GetMessage(self) -> tuple[int, str]:
- pass
-
- # 等待下一帧
-
- def Wait(self) -> bool:
- pass
-
- # 获取各类游戏中的消息
-
- def GetFrameCount(self) -> int:
- pass
-
- def GetPlayerGUIDs(self) -> List[int]:
- pass
-
- def GetButchers(self) -> List[THUAI6.Butcher]:
- pass
-
- def GetHumans(self) -> List[THUAI6.Human]:
- pass
-
- def GetProps(self) -> List[THUAI6.Prop]:
- pass
-
- def GetSelfInfo(self) -> Union[THUAI6.Human, THUAI6.Butcher]:
- pass
-
- def GetFullMap(self) -> List[List[THUAI6.PlaceType]]:
- pass
-
- def GetPlaceType(self, cellX: int, cellY: int) -> THUAI6.PlaceType:
- pass
-
- # 用于DEBUG的输出函数,仅在DEBUG模式下有效
-
- def PrintHuman(self) -> None:
- pass
-
- def PrintButcher(self) -> None:
- pass
-
- def PrintProp(self) -> None:
- pass
-
- def PrintSelfInfo(self) -> None:
- pass
-
- # 屠夫阵营的特殊函数
-
- def Attack(self, angle: float) -> bool:
- pass
-
- def CarryHuman(self) -> bool:
- pass
-
- def ReleaseHuman(self) -> bool:
- pass
-
- def HangHuman(self) -> bool:
- pass
-
- # Timer用
-
- def StartTimer(self) -> None:
- pass
-
- def EndTimer(self) -> None:
- pass
-
- def Play(self, ai: IAI) -> None:
- pass
|