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]));
}
}
}