• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript battlemovr.IOnChoice类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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",
        });
    }
开发者ID:FullScreenShenanigans,项目名称:FullScreenPokemon,代码行数:46,代码来源:OpponentSelector.ts


示例2: attemptToFlee

 /**
  * Chooses to attempt to flee the battle.
  */
 private attemptToFlee(onChoice: IOnChoice): void {
     onChoice({
         type: "flee",
     });
 }
开发者ID:FullScreenShenanigans,项目名称:FullScreenPokemon,代码行数:8,代码来源:PlayerSelector.ts


示例3: onChoice

 onUse: (listing: IInventoryListing): void => {
     onChoice({
         item: listing.item,
         type: "item",
     });
 },
开发者ID:FullScreenShenanigans,项目名称:FullScreenPokemon,代码行数:6,代码来源:PlayerSelector.ts


示例4: onChoice

 (): void => {
     onChoice({
         newActor: pokemon,
         type: "switch",
     });
 });
开发者ID:FullScreenShenanigans,项目名称:FullScreenPokemon,代码行数:6,代码来源:Switching.ts



注:本文中的battlemovr.IOnChoice类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript bcrypt.compare函数代码示例发布时间:2022-05-25
下一篇:
TypeScript basil.js.default类代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap