コード例 #1
0
ファイル: auto_match.php プロジェクト: ysc8620/zhima
 /**
  * 开始游戏
  */
 function start($data)
 {
     $json = $this->json;
     do {
         // 判断是否有在进行中的游戏
         $game = M('zhajinhua')->where("qun_id = '{$this->qun['id']}' AND status in(0) AND update_time>{$this->time}")->find();
         if (!$game) {
             $json['msg_code'] = 10002;
             $json['msg_content'] = '没有进行中的游戏。';
             break;
         }
         if ($this->user['id'] != $game['user_id']) {
             $user = M('qun_user')->find($game['user_id']);
             $json['data']['message'] = "@{$this->user['nickname']} 只有游戏创建者【@{$user['nickname']} 】才能开始游戏。开始请【{$user['nickname']} 】说【开始】. ";
             break;
         }
         $user_list = M('zhajinhua_user')->where(array('zha_id' => $game['id']))->select();
         if (count($user_list) < 2) {
             $json['data']['message'] = "@{$this->user['nickname']} 参与游戏的人数必须要在2-10个人, 没加入的伙伴赶紧说【加入】参与." . count($user_list);
             break;
         }
         // 创建扑克牌
         $card = new Cards();
         $total_credit = 0;
         $card_data = array();
         $game_log = array();
         foreach ($user_list as $user) {
             $card_item = $card->getCard();
             $card_data[] = array('user_id' => $user['user_id'], 'card_data' => $card_item);
             $log = array('type' => 'dichi', 'user_id' => $user['user_id'], 'credit' => 5, 'is_show' => $user['is_show'], 'time' => time(), 'total_jiaopai' => 0);
             array_push($game_log, $log);
             $item = array('card_data' => json_encode($card_item), 'status' => 1, 'credit' => 5, 'credit_log' => json_encode(array($log)), 'update_time' => time());
             $total_credit += 5;
             M('zhajinhua_user')->where(array('id' => $user['id']))->save($item);
         }
         M('zhajinhua')->where(array('id' => $game['id']))->save(array('status' => 1, 'update_time' => time(), 'total_credit' => $total_credit, 'next_user_id' => $user_list[0]['user_id'], 'card_data' => json_encode($card_data), 'total_user' => count($user_list), 'credit_log' => json_encode($game_log)));
         $user = M('qun_user')->find($user_list[0]['user_id']);
         $user_list = M('zhajinhua_user')->where(array('zha_id' => $game['id']))->select();
         $user_str = '';
         foreach ($user_list as $uuser) {
             $user_str .= '【' . $uuser['nickname'] . '】';
         }
         $user_str = $user_str ? '压注顺序:' . $user_str : '';
         $json['data']['message'] = "游戏开始了, 可以开始压注了, {$user_str} 接下来【@{$user['nickname']} 】说话, 可以选择【看牌】【跟牌】【弃牌】【加+金币数】";
         break;
     } while (false);
     return $json;
 }