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

TypeScript chess.renderEval函数代码示例

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

本文整理汇总了TypeScript中chess.renderEval函数的典型用法代码示例。如果您正苦于以下问题:TypeScript renderEval函数的具体用法?TypeScript renderEval怎么用?TypeScript renderEval使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了renderEval函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: renderMove

export function renderMove(ctx: Ctx, node: Tree.Node): VNode[] {
  const ev: any = cevalView.getBestEval({client: node.ceval, server: node.eval}) || {};
  return [h('san', fixCrazySan(node.san!))]
    .concat((node.glyphs && ctx.showGlyphs) ? renderGlyphs(node.glyphs) : [])
    .concat(ctx.showEval ? (
      defined(ev.cp) ? [renderEval(normalizeEval(ev.cp))] : (
        defined(ev.mate) ? [renderEval('#' + ev.mate)] : []
      )
    ) : []);
}
开发者ID:lexisvar,项目名称:lila,代码行数:10,代码来源:moveView.ts


示例2: range

 }, range(multiPv).map(function(i) {
   if (!pvs[i]) return h('div.pv');
   const san = pv2san(instance.variant.key, node.fen, threat, pvs[i].moves.slice(0, 12), pvs[i].mate);
   return h('div.pv', threat ? {} : {
     attrs: { 'data-uci': pvs[i].moves[0] }
   }, [
     multiPv > 1 ? h('strong', defined(pvs[i].mate) ? ('#' + pvs[i].mate) : renderEval(pvs[i].cp!)) : null,
     h('span', san)
   ]);
 }));
开发者ID:ornicar,项目名称:lila,代码行数:10,代码来源:view.ts


示例3: renderMove

export function renderMove(ctx, node): MaybeVNodes {
  const ev = node.eval || node.ceval || {};
  return [
    node.san,
    defined(ev.cp) ? renderEval(normalizeEval(ev.cp)) : (
      defined(ev.mate) ? renderEval('#' + ev.mate) : null
    ),
    puzzleGlyph(ctx, node)
  ];
}
开发者ID:ornicar,项目名称:lila,代码行数:10,代码来源:tree.ts


示例4: renderCeval

export function renderCeval(ctrl: ParentCtrl): VNode | undefined {
  const instance = ctrl.getCeval(), trans = ctrl.trans;
  if (!instance.allowed() || !instance.possible || !ctrl.showComputer()) return;
  const enabled = instance.enabled(),
  evs = ctrl.currentEvals(),
  threatMode = ctrl.threatMode(),
  threat = threatMode && ctrl.getNode().threat,
  bestEv = threat || getBestEval(evs);
  let pearl: VNode | string, percent: number;
  if (bestEv && typeof bestEv.cp !== 'undefined') {
    pearl = renderEval(bestEv.cp);
    percent = evs.client ? Math.min(100, Math.round(100 * evs.client.depth / (evs.client.maxDepth || instance.effectiveMaxDepth()))) : 0;
  } else if (bestEv && defined(bestEv.mate)) {
    pearl = '#' + bestEv.mate;
    percent = 100;
  } else if (ctrl.gameOver()) {
    pearl = '-';
    percent = 0;
  } else {
    pearl = enabled ? h('i.ddloader') : h('i');
    percent = 0;
  }
  if (threatMode) {
    if (threat) percent = Math.min(100, Math.round(100 * threat.depth / threat.maxDepth));
    else percent = 0;
  }
  const mandatoryCeval = ctrl.mandatoryCeval && ctrl.mandatoryCeval();

  const progressBar: VNode | null = enabled ? h('div.bar', h('span', {
    class: { threat: threatMode },
    attrs: { style: `width: ${percent}%` },
    hook: {
      postpatch: (old, vnode) => {
        if (old.data!.percent > percent || !!old.data!.threatMode != threatMode) {
          const el = vnode.elm as HTMLElement;
          const p = el.parentNode as HTMLElement;
          p.removeChild(el);
          p.appendChild(el);
        }
        vnode.data!.percent = percent;
        vnode.data!.threatMode = threatMode;
      }
    }
  })) : null;

  const body: Array<VNode | null> = enabled ? [
    h('pearl', [pearl]),
    h('div.engine', [
      ...(threatMode ? [trans.noarg('showThreat')] : engineName(instance)),
      h('span.info',
        ctrl.gameOver() ? [trans.noarg('gameOver')] :
        (threatMode ? [threatInfo(ctrl, threat)] : localEvalInfo(ctrl, evs))
      )
    ])
  ] : [
    pearl ? h('pearl', [pearl]) : null,
    h('help', [
      ...engineName(instance),
      h('br'),
      trans.noarg('inLocalBrowser')
    ])
  ];

  const switchButton: VNode | null = mandatoryCeval ? null : h('div.switch', {
    attrs: { title: trans.noarg('toggleLocalEvaluation') + ' (l)' }
  }, [
    h('input#analyse-toggle-ceval.cmn-toggle.cmn-toggle--subtle', {
      attrs: {
        type: 'checkbox',
        checked: enabled
      },
      hook: {
        insert: vnode => (vnode.elm as HTMLElement).addEventListener('change', ctrl.toggleCeval)
      }
    }),
    h('label', { attrs: { 'for': 'analyse-toggle-ceval' } })
  ])

  return h('div.ceval' + (enabled ? '.enabled' : ''), {
    class: {
      computing: percent < 100 && instance.isComputing()
    }
  }, [
    progressBar,
    ...body,
    threatButton(ctrl),
    switchButton
  ]);
}
开发者ID:ornicar,项目名称:lila,代码行数:89,代码来源:view.ts



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
TypeScript chess.js.Chess类代码示例发布时间:2022-05-24
下一篇:
TypeScript chess.fixCrazySan函数代码示例发布时间:2022-05-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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