garethellis/cricket-stats-helper

此包最新版本(1.0)没有可用的许可信息。

一个简单的PHP库,用于计算板球统计数据,如击球平均分、投球平均分和投球经济率。还可以将投球数从板球记分卡表示法转换为球数,反之亦然。

1.0 2016-08-10 16:41 UTC

This package is auto-updated.

Last update: 2024-08-29 03:26:11 UTC


README

Build Status Code Climate

一个简单的PHP库,用于计算板球统计数据,如击球平均分、投球平均分和投球经济率。还可以将投球数从板球记分卡表示法转换为球数,反之亦然。

安装

使用composer安装,当然

$ composer require garethellis/cricket-stats-helper

使用方法

要使用统计助手,只需创建一个新的实例。

<?php
use Garethellis\CricketStatsHelper\CricketStatsHelper;
$helper = new CricketStatsHelper();

每局的球数

板球每局的标准球数为六个。然而,在某些体育比赛格式中,您会看到不同的变化。实际上,在1979年之前,澳大利亚的所有测试板球局都持续八个球。因此,您可以通过两种方式更改基于各种计算的球数。首先,在构造函数中

$helper = new CricketStatsHelper(8);

其次,使用setter方法

$helper = new CricketStatsHelper();
$helper->setBallsPerOver(8);

计算击球平均分

击球平均分是衡量击球手每被出局得分的效率(它并不完全等同于每局得分)。您可以通过以下方式计算击球平均分

<?php
use Garethellis\CricketStatsHelper\CricketStatsHelper;
$helper = new CricketStatsHelper();
$battingAverage = $helper->calculateBattingAverage($runsScored, $inningsPlayed, $numberOfTimesNotOut);

注意,此方法的每个参数都必须是int类型。

计算投球平均分

投球平均分是衡量投球手在取得多少个出局和让出多少分之间的效率。要使用此库计算投球平均分

<?php
use Garethellis\CricketStatsHelper\CricketStatsHelper;
$helper = new CricketStatsHelper();
$bowlingAverage = $helper->calculateBowlingAverage($runsConceded, $wicketsTaken);

注意,此方法的每个参数都必须是int类型。

计算投球经济率

投球经济率是衡量投球手限制击球手得分的能力。要计算投球经济率

<?php
use Garethellis\CricketStatsHelper\CricketStatsHelper;
$helper = new CricketStatsHelper();
$bowlingEconomy = $helper->calculateBowlingEconomy($runsConceded, $oversBowled);

让出的分必须为int类型。投球局数可以是整数(int或字符串)或小数(float或字符串)。小数必须以“板球记分卡表示法”提供,即“10.3”表示10局3球,不是 10又三分之一局。

在投球局数和球数之间转换

如上所述,板球记分卡表示法与常规的十进制表示法不同。如果您看到某人投了“9.5”局,这意味着他们投了9局(可能每局6球)和5球,总共59球 - 这并不意味着他们投了9又一半局。除了上述生成统计数据的方法之外,还提供了一些辅助方法,用于在投球局数和球数之间进行转换,以防您想生成自己的统计数据。

从投球局数转换为球数

<?php
use Garethellis\CricketStatsHelper\CricketStatsHelper;
$helper = new CricketStatsHelper();
$numberOfBalls = $helper->convertOversToBalls($overs);

与投球经济率一样,这里的投球局数可以是整数(int或字符串)或小数(float或字符串)。小数必须以“板球记分卡表示法”提供,即“10.3”表示10局3球,不是 10又三分之一局。

从球数转换为投球局数

<?php
use Garethellis\CricketStatsHelper\CricketStatsHelper;
$helper = new CricketStatsHelper();
$numberOfOvers = $helper->convertBallsToOvers($balls);

返回的投球局数将以“板球记分卡表示法”格式提供(见上文)。