add
This commit is contained in:
@@ -0,0 +1,154 @@
|
||||
<?php
|
||||
|
||||
namespace freedom\utils;
|
||||
|
||||
class DiceUtil
|
||||
{
|
||||
/**
|
||||
* 根据结果输出某点的次数
|
||||
* @param $resultArray // 结果数组
|
||||
* @param $living // 点数
|
||||
* @return int
|
||||
*/
|
||||
public static function getLivingCount($resultArray, $living): int
|
||||
{
|
||||
$count = 0;
|
||||
foreach ($resultArray as $k => $v){
|
||||
if (intval($v) == $living){
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
return $count;
|
||||
}
|
||||
/**
|
||||
* 分析结果 控制端传入三个数 方法对其分析 输出结果
|
||||
* @param $resultArray
|
||||
* @return array
|
||||
*/
|
||||
public static function parseResult($resultArray): array
|
||||
{
|
||||
// 返回数组
|
||||
$returnArray = [];
|
||||
$returnArray[] = 'living_' . $resultArray[0];
|
||||
$returnArray[] = 'living_' . $resultArray[1];
|
||||
$returnArray[] = 'living_' . $resultArray[2];
|
||||
// int类型结果数组
|
||||
$intResultArray = [];
|
||||
foreach ($resultArray as $v) {
|
||||
$intResultArray[] = intval($v);
|
||||
}
|
||||
$total = array_sum($intResultArray);
|
||||
if ($total > 3 && $total < 18) {
|
||||
$returnArray[] = 'number_' . $total;
|
||||
}
|
||||
// 判断是不是全部值都是一样的
|
||||
$uniqueArray = array_unique($intResultArray);
|
||||
// 重新排序
|
||||
sort($uniqueArray);
|
||||
if (count($uniqueArray) == 1) {
|
||||
$returnArray[] = 'two_'.$uniqueArray[0] . $uniqueArray[0];
|
||||
$returnArray[] = 'three_'.$uniqueArray[0] . $uniqueArray[0] . $uniqueArray[0];
|
||||
$returnArray[] = 'leopard';
|
||||
} else {
|
||||
if ($total >= 4 && $total <= 10) {
|
||||
$returnArray[] = 'small';
|
||||
}
|
||||
if ($total >= 11 && $total <= 17) {
|
||||
$returnArray[] = 'big';
|
||||
}
|
||||
if ($total % 2 == 0) {
|
||||
$returnArray[] = 'plural';
|
||||
} else {
|
||||
$returnArray[] = 'singular';
|
||||
}
|
||||
}
|
||||
if (count($uniqueArray) == 2) {
|
||||
$returnArray[] = 'two_'.$uniqueArray[0] . $uniqueArray[1];
|
||||
$pointArr = array_count_values($resultArray);
|
||||
foreach ($pointArr as $key => $value){
|
||||
if($value == 2){
|
||||
$returnArray[] = 'two_'.$key . $key;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count($uniqueArray) == 3) {
|
||||
$returnArray[] = 'two_'.$uniqueArray[0] . $uniqueArray[1];
|
||||
$returnArray[] = 'two_'.$uniqueArray[0] . $uniqueArray[2];
|
||||
$returnArray[] = 'two_'.$uniqueArray[1] . $uniqueArray[2];
|
||||
}
|
||||
return $returnArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分析统计 分析结果 控制端传入三个数 方法对其分析 输出结果
|
||||
* @param $resultArray
|
||||
* @return array
|
||||
*/
|
||||
public static function parseCount($resultArray): array
|
||||
{
|
||||
$returnArray = [];
|
||||
// int类型结果数组
|
||||
$intResultArray = [];
|
||||
foreach ($resultArray as $v) {
|
||||
$intResultArray[] = intval($v);
|
||||
}
|
||||
$total = array_sum($intResultArray);
|
||||
// 判断是不是全部值都是一样的
|
||||
$uniqueArray = array_unique($intResultArray);
|
||||
if (count($uniqueArray) == 1) {
|
||||
$returnArray[] = 'leopard';
|
||||
} else {
|
||||
if ($total >= 4 && $total <= 10) {
|
||||
$returnArray[] = 'small';
|
||||
}
|
||||
if ($total >= 11 && $total <= 17) {
|
||||
$returnArray[] = 'big';
|
||||
}
|
||||
if ($total % 2 == 0) {
|
||||
$returnArray[] = 'plural';
|
||||
} else {
|
||||
$returnArray[] = 'singular';
|
||||
}
|
||||
}
|
||||
return $returnArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* 统计自增方法
|
||||
* @param $beforeCountArray
|
||||
* @param $afterCountArray
|
||||
* @return int[]
|
||||
*/
|
||||
public static function countInc($beforeCountArray, $afterCountArray): array
|
||||
{
|
||||
if (empty($beforeCountArray)){
|
||||
$beforeCountArray = ['leopard' => 0, 'small' => 0, 'big' => 0, 'singular' => 0, 'plural' => 0];
|
||||
}
|
||||
foreach ($beforeCountArray as $k => $v){
|
||||
if (in_array($k, $afterCountArray)){
|
||||
$beforeCountArray[$k] = $v + 1;
|
||||
}
|
||||
}
|
||||
return $beforeCountArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* 下注额自增方法
|
||||
* @param $beforeAmountArray
|
||||
* @param $afterAmountArray
|
||||
* @return array
|
||||
*/
|
||||
public static function amountInc($beforeAmountArray, $afterAmountArray): array
|
||||
{
|
||||
$returnArray = [];
|
||||
foreach ($afterAmountArray as $k => $v){
|
||||
if (array_key_exists($k, $beforeAmountArray)){
|
||||
$returnArray[$k] = $beforeAmountArray[$k] + $v;
|
||||
unset($beforeAmountArray[$k]);
|
||||
} else {
|
||||
$returnArray[$k] = $v;
|
||||
}
|
||||
}
|
||||
return $returnArray + $beforeAmountArray;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user