/** * 开始游戏 */ 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; }