本文整理汇总了TypeScript中battlemovr.IOnChoice类的典型用法代码示例。如果您正苦于以下问题:TypeScript IOnChoice类的具体用法?TypeScript IOnChoice怎么用?TypeScript IOnChoice使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了IOnChoice类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: nextAction
/**
* Determines the next action to take.
*
* @param battleInfo State for an ongoing battle.
* @param onChoice Callback for when an action is chosen.
* @see http://wiki.pokemonspeedruns.com/index.php/Pok%C3%A9mon_Red/Blue/Yellow_Trainer_AI
* @todo Items?
*/
public nextAction(battleInfo: IBattleInfo, team: Team, onChoice: IOnChoice): void {
const attackingTeam: IBattleTeam = battleInfo.teams[Team[team]];
const defendingTeam: IBattleTeam = team === Team.opponent
? battleInfo.teams.player
: battleInfo.teams.opponent;
const attackingActor: IPokemon = battleInfo.teams[Team[team]].selectedActor;
// Wild Pokemon just choose randomly
if (!attackingTeam.leader) {
onChoice({
move: this.eightBitter.numberMaker.randomArrayMember(attackingActor.moves).title,
type: "move",
});
return;
}
let possibilities: IMovePossibility[] = this.movePriorityGenerator.generate(attackingTeam, defendingTeam, attackingActor.moves);
// The AI uses rejection sampling on the four moves with ratio 63:64:63:66,
// with only the moves that are most favored after applying the modifications being acceptable.
let lowest: number = possibilities[0].priority;
if (possibilities.length > 1) {
for (const possibility of possibilities) {
if (possibility.priority < lowest) {
lowest = possibility.priority;
}
}
possibilities = possibilities.filter((possibility: IMovePossibility): boolean =>
possibility.priority === lowest);
}
onChoice({
move: this.eightBitter.numberMaker.randomArrayMember(possibilities).move,
type: "move",
});
}
示例2: attemptToFlee
/**
* Chooses to attempt to flee the battle.
*/
private attemptToFlee(onChoice: IOnChoice): void {
onChoice({
type: "flee",
});
}
示例3: onChoice
onUse: (listing: IInventoryListing): void => {
onChoice({
item: listing.item,
type: "item",
});
},
示例4: onChoice
(): void => {
onChoice({
newActor: pokemon,
type: "switch",
});
});