| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 | 
							- <?php
 
- namespace App\Constants;
 
- // 玩法枚举
 
- class GameplayRuleEnum 
 
- {
 
-     const SINGLE = '单';
 
-     const DOUBLE = '双';
 
-     const BIG = '大';
 
-     const SMALL = '小';
 
-     const EXTREME_BIG = '极大';
 
-     const EXTREME_SMALL = '极小';
 
-     const BAO_ZI = '豹子';
 
-     const PAIRS = '对子';
 
-     const STRAIGHT = '顺子';
 
-     const ONE = '一段';
 
-     const TWO = '二段';
 
-     const THREE = '三段';
 
-     const FOUR = '四段';
 
-     // 包含本身体
 
-     const SUM_BIG = 14;   // 总和算大
 
-     const SUM_SMALL = 13; // 总和算小
 
-     const SUM_EXTREME_BIG = 22;   // 总和极大
 
-     const SUM_EXTREME_SMALL = 6; // 总和极小
 
-     const ONE_BIG = 5; // 尾数算大
 
-     const ONE_SMALL = 4; // 尾数算小
 
-     const SECTION_1 = [6,10];    // 一段范围
 
-     const SECTION_2 = [11,13];   // 二段范围
 
-     const SECTION_3 = [14,16];  // 三段范围
 
-     const SECTION_4 = [17,21];  // 四段范围
 
-     public static $RULES = [
 
-         '总和' => [
 
-             '单',
 
-             '双',
 
-             '大',
 
-             '小',
 
-             '大单',
 
-             '大双',
 
-             '小单',
 
-             '小双',
 
-             '极大',
 
-             '极小',
 
-             '0操',
 
-             '1操',
 
-             '2操',
 
-             '3操',
 
-             '4操',
 
-             '5操',
 
-             '6操',
 
-             '7操',
 
-             '8操',
 
-             '9操',
 
-             '10操',
 
-             '11操',
 
-             '12操',
 
-             '13操',
 
-             '14操',
 
-             '15操',
 
-             '16操',
 
-             '17操',
 
-             '18操',
 
-             '19操',
 
-             '20操',
 
-             '21操',
 
-             '22操',
 
-             '23操',
 
-             '24操',
 
-             '25操',
 
-             '26操',
 
-             '27操',
 
-             '顺子',
 
-             '对子',
 
-             '豹子',
 
-         ],
 
-         '尾数' => [
 
-             '0尾',
 
-             '1尾',
 
-             '2尾',
 
-             '3尾',
 
-             '4尾',
 
-             '5尾',
 
-             '6尾',
 
-             '7尾',
 
-             '8尾',
 
-             '9尾',
 
-             '尾大',
 
-             '尾小',
 
-             '尾单',
 
-             '尾双',
 
-             '尾大单',
 
-             '尾大双',
 
-             '尾小单',
 
-             '尾小双',
 
-         ],
 
-         '个位球' => [
 
-             'A大',
 
-             'A小',
 
-             'A单',
 
-             'A双',
 
-             'B大',
 
-             'B小',
 
-             'B单',
 
-             'B双',
 
-             'C大',
 
-             'C小',
 
-             'C单',
 
-             'C双',
 
-             '0A',
 
-             '1A',
 
-             '2A',
 
-             '3A',
 
-             '4A',
 
-             '5A',
 
-             '6A',
 
-             '7A',
 
-             '8A',
 
-             '9A',
 
-             '0B',
 
-             '1B',
 
-             '2B',
 
-             '3B',
 
-             '4B',
 
-             '5B',
 
-             '6B',
 
-             '7B',
 
-             '8B',
 
-             '9B',
 
-             '0C',
 
-             '1C',
 
-             '2C',
 
-             '3C',
 
-             '4C',
 
-             '5C',
 
-             '6C',
 
-             '7C',
 
-             '8C',
 
-             '9C',
 
-         ],
 
-         '多段' => [
 
-             '一段',
 
-             '二段',
 
-             '三段',
 
-             '四段',
 
-         ]
 
-     ];
 
-     /**
 
-      * 验证并解析用户输入
 
-      * @param string $input 例如 "大单100" / "5操20"
 
-      * @return array|null   返回 ['rule' => 玩法, 'amount' => 金额],失败返回 null
 
-      */
 
-     public static function validateInput(string $input): ?array
 
-     {
 
-         // 获取所有玩法
 
-         $allRules = array_merge(...array_values(self::$RULES));
 
-         
 
-         // 玩法正则(防止玩法里有特殊符号出错)
 
-         $rulesPattern = implode('|', array_map('preg_quote', $allRules));
 
-         // 匹配玩法 + 金额
 
-         if (preg_match('/^(' . $rulesPattern . ')(\d+)$/u', $input, $matches)) {
 
-             return [
 
-                 'rule'   => $matches[1],
 
-                 'amount' => (int)$matches[2]
 
-             ];
 
-         }
 
-         return null;
 
-     }
 
- }
 
 
  |