where('id',$sess_user_info['id'])->find(); $tableInfo = Db::name('table')->where('game_id',1)->where('status',1)->field('id,table_name')->order('id')->select(); $this->assign('websocketUrl',LOCAL_TRACKER_SERVER); $this->assign('websocketProtocol',LOCAL_TRACKER_PROTOCOL); $this->assign('user_info',$user_info); $this->assign('table_info',$tableInfo); return $this->fetch(); } public function get_security() { $num = Request::instance()->post('security'); if (empty($num) || !$num || !is_numeric($num)) { die(json_encode(['code'=>0,'msg'=>'非法请示!'])); } $data = Db::name('security')->where('num', $num)->find(); if (!$data) { die(json_encode(['code'=>-1,'msg'=>'没有找到数据'])); } die(json_encode(['code'=>1,'msg'=>$data['data']])); } public function import_ss() { $ss = Request::instance()->get('path'); $path = RUNTIME_PATH . 'ss' . '/' . $ss; $dir = scandir($path); foreach ($dir as $value) { if ($value != '.' && $value != '..' && !is_dir($path . '/' . $value)) { $file = $path . '/' . $value; $num = trim(stristr(trim($value), '.txt', true)); $security = Db::name('security')->where('num', $num)->find(); if (!$security) { $_file = fopen($file, 'r'); $data = trim(fgets($_file)); fclose($_file); $security = array(); $security['num'] = $num; $security['data'] = $data; $security['status'] = 1; $id = Db::name('security')->insertGetId($security); if ($id) { echo $value . '导入成功
'; } else { echo '' . $value . '导入失败
'; } } else { echo $value . '已存在
'; } } } } //切牌 public function check_cut(){ $player_card = Request::instance()->post('player_card'); $banker_card = Request::instance()->post('banker_card'); $cards = Request::instance()->post('cards'); $merge_bp_card = merge_bp($player_card,$banker_card); $num = substr_count($cards,$merge_bp_card); if($num == 1){ $first_position = strpos($cards,$merge_bp_card); $front_card = substr($cards,0,$first_position); $after_card = substr($cards,$first_position); $new_cards = $after_card.$front_card; $merge_bp_card_length = strlen($merge_bp_card); $front_card_bp = substr($new_cards,0,$merge_bp_card_length); $after_card_bp = substr($new_cards,$merge_bp_card_length); die(json_encode(['code'=>0,'msg'=>'成功找到匹配条件!','front_card_bp'=>$front_card_bp,'after_card_bp'=>$after_card_bp])); }else{ die(json_encode(['code'=>1,'msg'=>'没有找到高级匹配条件!'])); } } //下一轮 public function next_num(){ $is_xiaopai = Request::instance()->post('is_xiaopai'); $cards = Request::instance()->post('cards'); $change_group = Request::instance()->post('change_group'); $cards_length = strlen($cards); if($is_xiaopai == 0){ if($cards_length < 4){ die(json_encode(['code'=>1,'msg'=>'字符串不够分析一手牌!'])); } $player_card_1 = (int)substr($cards,0,1); $banker_card_1 = (int)substr($cards,1,1); $player_card_2 = (int)substr($cards,2,1); $banker_card_2 = (int)substr($cards,3,1); if($player_card_1 + $player_card_2 > 9){ $player_result = ($player_card_1 + $player_card_2)%10; }else{ $player_result = $player_card_1 + $player_card_2; } if($banker_card_1 + $banker_card_2 > 9){ $banker_result = ($banker_card_1 + $banker_card_2)%10; }else{ $banker_result = $banker_card_1 + $banker_card_2; } //下一轮发牌数量 $next_card_num = 4; //判断是不是要博牌 if($next_card_num == 4){ $return_arr = is_bopai_four($player_result,$banker_result,$cards,$is_xiaopai); // $return_arr = (array)$return_arr; if($return_arr['code'] == 1){ die(json_encode(['code'=>1,'msg'=>'字符串不够分析一手牌!'])); } $next_card_num = $return_arr['next_card_num']; $banker_result = $return_arr['banker_result']; $player_result = $return_arr['player_result']; if(isset($return_arr['player_card_3'])){ $player_card_3 = $return_arr['player_card_3']; } if(isset($return_arr['banker_card_3'])){ $banker_card_3 = $return_arr['banker_card_3']; } } if($next_card_num == 5){ if(isset($player_card_3)){ $return_arr = is_bopai_five($player_result,$banker_result,$cards,$player_card_3,$is_xiaopai); if($return_arr['code'] == 1){ die(json_encode(['code'=>1,'msg'=>'字符串不够分析一手牌!'])); } $next_card_num = $return_arr['next_card_num']; $banker_result = $return_arr['banker_result']; $player_result = $return_arr['player_result']; if(isset($return_arr['player_card_3'])){ $player_card_3 = $return_arr['player_card_3']; } if(isset($return_arr['banker_card_3'])){ $banker_card_3 = $return_arr['banker_card_3']; } } } $return_arr = array(); $return_arr['is_xiaopai'] = $is_xiaopai; $return_arr['num_cards'] = substr($cards,0,$next_card_num); $return_arr['num_next'] = substr($cards,$next_card_num); if($banker_result > $player_result){ $return_arr['result'] = 1; $return_arr['default_result'] = '庄胜:'.$return_arr['num_cards']; $return_arr['original_result'] = '原始值:庄胜:'.$return_arr['num_cards']; }elseif($banker_result < $player_result){ $return_arr['result'] = 2; $return_arr['default_result'] = '闲胜:'.$return_arr['num_cards']; $return_arr['original_result'] = '原始值:闲胜:'.$return_arr['num_cards']; }else{ $return_arr['result'] = 3; $return_arr['default_result'] = '和:'.$return_arr['num_cards']; $return_arr['original_result'] = '原始值:和:'.$return_arr['num_cards']; } if($return_arr['result'] == 1 || $return_arr['result'] == 2){ if($cards_length == 4 || $cards_length == 5){ $a = $cards; }elseif($cards_length > 5){ $a = substr($cards,0,6); } $before_result = $return_arr['result']; $arr = do_change_postion($a,$before_result,$change_group); if($arr['code'] == 1){ $arr = do_change_tie_postion($a,$before_result,$change_group); } if(count($arr['return_arr'])>0){ $after_change_length = strlen($arr['return_arr']['num_cards']); }else{ $after_change_length = 0; } $posttion = array(); die(json_encode(['code'=>0,'return_arr'=>$return_arr,'is_change'=>$arr['code'],'is_change_1'=>1,'posttion'=>$arr['posttion'],'after_change_length' => $after_change_length,'posttion_1'=>$posttion,'after_change_length_1' =>0])); }else{ if($cards_length == 4 || $cards_length == 5){ $a = $cards; }elseif($cards_length > 5){ $a = substr($cards,0,6); } $before_result = $return_arr['result']; $arr = do_change_postion($a,2,$change_group); $arr_1 = do_change_postion($a,1,$change_group); if(count($arr['return_arr'])>0){ $after_change_length = strlen($arr['return_arr']['num_cards']); }else{ $after_change_length = 0; } if(count($arr_1['return_arr'])>0){ $after_change_length_1 = strlen($arr_1['return_arr']['num_cards']); }else{ $after_change_length_1 = 0; } die(json_encode(['code'=>0,'return_arr'=>$return_arr,'is_change'=>$arr['code'],'is_change_1'=>$arr_1['code'],'posttion'=>$arr['posttion'],'after_change_length' => $after_change_length,'posttion_1'=>$arr_1['posttion'],'after_change_length_1' => $after_change_length_1])); } }else{ if($cards_length < 5){ die(json_encode(['code'=>1,'msg'=>'字符串不够分析一手牌!'])); } $player_card_1 = (int)substr($cards,1,1); $banker_card_1 = (int)substr($cards,2,1); $player_card_2 = (int)substr($cards,3,1); $banker_card_2 = (int)substr($cards,4,1); if($player_card_1 + $player_card_2 > 9){ $player_result = ($player_card_1 + $player_card_2)%10; }else{ $player_result = $player_card_1 + $player_card_2; } if($banker_card_1 + $banker_card_2 > 9){ $banker_result = ($banker_card_1 + $banker_card_2)%10; }else{ $banker_result = $banker_card_1 + $banker_card_2; } //下一轮发牌数量 $next_card_num = 4; //判断是不是要博牌 if($next_card_num == 4){ $return_arr = is_bopai_four($player_result,$banker_result,$cards,$is_xiaopai); if($return_arr['code'] == 1){ die(json_encode(['code'=>1,'msg'=>'字符串不够分析一手牌!'])); } // $return_arr = (array)$return_arr; $next_card_num = $return_arr['next_card_num']; $banker_result = $return_arr['banker_result']; $player_result = $return_arr['player_result']; if(isset($return_arr['player_card_3'])){ $player_card_3 = $return_arr['player_card_3']; } if(isset($return_arr['banker_card_3'])){ $banker_card_3 = $return_arr['banker_card_3']; } } if($next_card_num == 5){ if(isset($player_card_3)){ $return_arr = is_bopai_five($player_result,$banker_result,$cards,$player_card_3,$is_xiaopai); if($return_arr['code'] == 1){ die(json_encode(['code'=>1,'msg'=>'字符串不够分析一手牌!'])); } $next_card_num = $return_arr['next_card_num']; $banker_result = $return_arr['banker_result']; $player_result = $return_arr['player_result']; if(isset($return_arr['player_card_3'])){ $player_card_3 = $return_arr['player_card_3']; } if(isset($return_arr['banker_card_3'])){ $banker_card_3 = $return_arr['banker_card_3']; } } } $return_arr = array(); $return_arr['is_xiaopai'] = $is_xiaopai; $return_arr['xiaopai_num'] = substr($cards,0,1); $return_arr['num_cards'] = substr($cards,1,$next_card_num); $return_arr['num_next'] = substr($cards,$next_card_num+1); if($banker_result > $player_result){ $return_arr['result'] = 1; $return_arr['default_result'] = '庄胜:'.$return_arr['num_cards']; $return_arr['original_result'] = '原始值:庄胜:'.$return_arr['num_cards']; }elseif($banker_result < $player_result){ $return_arr['result'] = 2; $return_arr['default_result'] = '闲胜:'.$return_arr['num_cards']; $return_arr['original_result'] = '原始值:闲胜:'.$return_arr['num_cards']; }else{ $return_arr['result'] = 3; $return_arr['default_result'] = '和:'.$return_arr['num_cards']; $return_arr['original_result'] = '原始值:和:'.$return_arr['num_cards']; } if($return_arr['result'] == 1 || $return_arr['result'] == 2){ if($cards_length == 4 || $cards_length == 5){ $a = substr($cards,1,$cards_length); }elseif($cards_length > 6){ $a = substr($cards,1,6); } $before_result = $return_arr['result']; $arr = do_change_postion($a,$before_result,$change_group); if($arr['code'] == 1){ $arr = do_change_tie_postion($a,$before_result,$change_group); } if(count($arr['return_arr'])>0){ $after_change_length = strlen($arr['return_arr']['num_cards']); }else{ $after_change_length = 0; } $posttion = array(); die(json_encode(['code'=>0,'return_arr'=>$return_arr,'is_change'=>$arr['code'],'is_change_1'=>1,'posttion'=>$arr['posttion'],'after_change_length' => $after_change_length,'posttion_1'=>$posttion,'after_change_length_1' => 0])); }else{ if($cards_length == 4 || $cards_length == 5){ $a = $cards; }elseif($cards_length > 5){ $a = substr($cards,0,6); } $before_result = $return_arr['result']; $arr = do_change_postion($a,2,$change_group); $arr_1 = do_change_postion($a,1,$change_group); if(count($arr['return_arr'])>0){ $after_change_length = strlen($arr['return_arr']['num_cards']); }else{ $after_change_length = 0; } if(count($arr_1['return_arr'])>0){ $after_change_length_1 = strlen($arr_1['return_arr']['num_cards']); }else{ $after_change_length_1 = 0; } die(json_encode(['code'=>0,'return_arr'=>$return_arr,'is_change'=>$arr['code'],'is_change_1'=>$arr_1['code'],'posttion'=>$arr['posttion'],'after_change_length' => $after_change_length,'posttion_1'=>$arr_1['posttion'],'after_change_length_1' => $after_change_length_1])); } } } //改变结果 public function change_result(){ $cards = Request::instance()->post('cards'); $now_cards = Request::instance()->post('now_cards'); $hope = Request::instance()->post('hope'); $change_result_list = array(); if($hope == 1){ $result_word = '庄'; }else{ $result_word = '闲'; } //换第一张牌 $before_all_cards = $now_cards.$cards; $now_cards_length = strlen($now_cards); $card_1 = substr($before_all_cards,0,1); $card_2 = substr($before_all_cards,1,1); $card_3 = substr($before_all_cards,2,1); $card_4 = substr($before_all_cards,3,1); $card_5 = substr($before_all_cards,4,1); $card_6 = substr($before_all_cards,5,1); $card_behind = substr($before_all_cards,6); //换第一张牌 $all_cards = $card_2.$card_1.$card_3.$card_4.$card_5.$card_6.$card_behind; $result_1 = do_change_result($all_cards); if($result_1['code'] == 0){ if($result_1['return_arr']['result'] == $hope){ $change_cards_length = strlen($result_1['return_arr']['num_cards']); if($change_cards_length - $now_cards_length > 0){ $up_num = $change_cards_length - $now_cards_length; $result_1['return_arr']['up_cards'] = substr($result_1['return_arr']['num_cards'],$change_cards_length-$up_num,$up_num); $result_1['return_arr']['num_cards'] = substr($result_1['return_arr']['num_cards'],0,$now_cards_length); $result_1['return_arr']['default_result'] = $result_word.'胜:1换'.$result_1['return_arr']['num_cards'].$result_1['return_arr']['up_cards']; $result_1['return_arr']['original_result'] = $result_1['return_arr']['default_result']; $result_1['return_arr']['before_num_cards'] = $now_cards; $result_1['return_arr']['before_up_cards'] = substr($before_all_cards,$change_cards_length-$up_num,$up_num); }else{ $up_num = abs($change_cards_length - $now_cards_length); $result_1['return_arr']['num_cards'] = substr($result_1['return_arr']['num_cards'],0,$now_cards_length); $result_1['return_arr']['default_result'] = $result_word.'胜:1换'.$result_1['return_arr']['num_cards']; $result_1['return_arr']['original_result'] = $result_1['return_arr']['default_result']; $result_1['return_arr']['before_num_cards'] = substr($before_all_cards,0,$now_cards_length-$up_num); } $result_1['return_arr']['num_next'] = substr($before_all_cards,$change_cards_length); array_push($change_result_list, $result_1['return_arr']); } } //换第二张牌 $all_cards = $card_1.$card_3.$card_2.$card_4.$card_5.$card_6.$card_behind; $result_1 = do_change_result($all_cards); if($result_1['code'] == 0){ if($result_1['return_arr']['result'] == $hope){ $change_cards_length = strlen($result_1['return_arr']['num_cards']); if($change_cards_length - $now_cards_length > 0){ $up_num = $change_cards_length - $now_cards_length; $result_1['return_arr']['up_cards'] = substr($result_1['return_arr']['num_cards'],$change_cards_length-$up_num,$up_num); $result_1['return_arr']['num_cards'] = substr($result_1['return_arr']['num_cards'],0,$now_cards_length); $result_1['return_arr']['default_result'] = $result_word.'胜:2换'.$result_1['return_arr']['num_cards'].$result_1['return_arr']['up_cards']; $result_1['return_arr']['original_result'] = $result_1['return_arr']['default_result']; $result_1['return_arr']['before_num_cards'] = $now_cards; $result_1['return_arr']['before_up_cards'] = substr($before_all_cards,$change_cards_length-$up_num,$up_num); }else{ $up_num = abs($change_cards_length - $now_cards_length); $result_1['return_arr']['num_cards'] = substr($result_1['return_arr']['num_cards'],0,$now_cards_length); $result_1['return_arr']['default_result'] = $result_word.'胜:2换'.$result_1['return_arr']['num_cards']; $result_1['return_arr']['original_result'] = $result_1['return_arr']['default_result']; $result_1['return_arr']['before_num_cards'] = substr($before_all_cards,0,$now_cards_length-$up_num); } $result_1['return_arr']['num_next'] = substr($before_all_cards,$change_cards_length); array_push($change_result_list, $result_1['return_arr']); } } //换第三张牌 $all_cards = $card_1.$card_2.$card_4.$card_3.$card_5.$card_6.$card_behind; $result_1 = do_change_result($all_cards); if($result_1['code'] == 0){ if($result_1['return_arr']['result'] == $hope){ $change_cards_length = strlen($result_1['return_arr']['num_cards']); if($change_cards_length - $now_cards_length > 0){ $up_num = $change_cards_length - $now_cards_length; $result_1['return_arr']['up_cards'] = substr($result_1['return_arr']['num_cards'],$change_cards_length-$up_num,$up_num); $result_1['return_arr']['num_cards'] = substr($result_1['return_arr']['num_cards'],0,$now_cards_length); $result_1['return_arr']['default_result'] = $result_word.'胜:3换'.$result_1['return_arr']['num_cards'].$result_1['return_arr']['up_cards']; $result_1['return_arr']['original_result'] = $result_1['return_arr']['default_result']; $result_1['return_arr']['before_num_cards'] = $now_cards; $result_1['return_arr']['before_up_cards'] = substr($before_all_cards,$change_cards_length-$up_num,$up_num); }else{ $up_num = abs($change_cards_length - $now_cards_length); $result_1['return_arr']['num_cards'] = substr($result_1['return_arr']['num_cards'],0,$now_cards_length); $result_1['return_arr']['default_result'] = $result_word.'胜:3换'.$result_1['return_arr']['num_cards']; $result_1['return_arr']['original_result'] = $result_1['return_arr']['default_result']; $result_1['return_arr']['before_num_cards'] = substr($before_all_cards,0,$now_cards_length-$up_num); } $result_1['return_arr']['num_next'] = substr($before_all_cards,$change_cards_length); array_push($change_result_list, $result_1['return_arr']); } } //换第四张牌 $all_cards = $card_1.$card_2.$card_3.$card_5.$card_4.$card_6.$card_behind; $result_1 = do_change_result($all_cards); if($result_1['code'] == 0){ if($result_1['return_arr']['result'] == $hope){ $change_cards_length = strlen($result_1['return_arr']['num_cards']); if($change_cards_length > 4){ if($change_cards_length - $now_cards_length > 0){ $up_num = $change_cards_length - $now_cards_length; $result_1['return_arr']['up_cards'] = substr($result_1['return_arr']['num_cards'],$change_cards_length-$up_num,$up_num); $result_1['return_arr']['num_cards'] = substr($result_1['return_arr']['num_cards'],0,$now_cards_length); $result_1['return_arr']['default_result'] = $result_word.'胜:4换'.$result_1['return_arr']['num_cards'].$result_1['return_arr']['up_cards']; $result_1['return_arr']['original_result'] = $result_1['return_arr']['default_result']; $result_1['return_arr']['before_num_cards'] = $now_cards; $result_1['return_arr']['before_up_cards'] = substr($before_all_cards,$change_cards_length-$up_num,$up_num); }else{ $up_num = abs($change_cards_length - $now_cards_length); $result_1['return_arr']['num_cards'] = substr($result_1['return_arr']['num_cards'],0,$now_cards_length); $result_1['return_arr']['default_result'] = $result_word.'胜:4换'.$result_1['return_arr']['num_cards']; $result_1['return_arr']['original_result'] = $result_1['return_arr']['default_result']; $result_1['return_arr']['before_num_cards'] = substr($before_all_cards,0,$now_cards_length-$up_num); } $result_1['return_arr']['num_next'] = substr($before_all_cards,$change_cards_length); array_push($change_result_list, $result_1['return_arr']); } } } //换第五张牌 $all_cards = $card_1.$card_2.$card_3.$card_4.$card_6.$card_5.$card_behind; $result_1 = do_change_result($all_cards); if($result_1['code'] == 0){ if($result_1['return_arr']['result'] == $hope){ $change_cards_length = strlen($result_1['return_arr']['num_cards']); if($change_cards_length > 5){ if($change_cards_length - $now_cards_length > 0){ $up_num = $change_cards_length - $now_cards_length; $result_1['return_arr']['up_cards'] = substr($result_1['return_arr']['num_cards'],$change_cards_length-$up_num,$up_num); $result_1['return_arr']['num_cards'] = substr($result_1['return_arr']['num_cards'],0,$now_cards_length); $result_1['return_arr']['default_result'] = $result_word.'胜:5换'.$result_1['return_arr']['num_cards'].$result_1['return_arr']['up_cards']; $result_1['return_arr']['original_result'] = $result_1['return_arr']['default_result']; $result_1['return_arr']['before_num_cards'] = $now_cards; $result_1['return_arr']['before_up_cards'] = substr($before_all_cards,$change_cards_length-$up_num,$up_num); }else{ $up_num = abs($change_cards_length - $now_cards_length); $result_1['return_arr']['num_cards'] = substr($result_1['return_arr']['num_cards'],0,$now_cards_length); $result_1['return_arr']['default_result'] = $result_word.'胜:5换'.$result_1['return_arr']['num_cards']; $result_1['return_arr']['original_result'] = $result_1['return_arr']['default_result']; $result_1['return_arr']['before_num_cards'] = substr($before_all_cards,0,$now_cards_length-$up_num); } $result_1['return_arr']['num_next'] = substr($before_all_cards,$change_cards_length); array_push($change_result_list, $result_1['return_arr']); } } } if(count($change_result_list) > 0){ die(json_encode(['code'=>0,'change_return_arr'=>$change_result_list])); }else{ $result_1 = do_change_result($before_all_cards); $return_arr = $result_1['return_arr']; $return_arr['default_result'] = '未改:'.$return_arr['num_cards']; $return_arr['original_result'] = '未改:'.$return_arr['num_cards']; die(json_encode(['code'=>1,'change_return_arr'=>$return_arr])); } } }