这是用php写的程序,调用的就是图灵机器人提供的免费API来实现的”谁是卧底“游戏,感兴趣的朋友还可以去图灵智能平台上体验下http://www.tuling123.com/openapi/cloud/proexp.jsp,感兴趣的也可以下载源码 无 // 图灵机器人 function tuling($keyword) { $ke
这是用php写的程序,调用的就是图灵机器人提供的免费API来实现的”谁是卧底“游戏,感兴趣的朋友还可以去图灵智能平台上体验下http://www.tuling123.com/openapi/cloud/proexp.jsp,感兴趣的也可以下载源码
// 图灵机器人
function tuling($keyword) {
$key="http://www.tuling123.com/openapi/record.do?channel=9800";//api key到这里申请
$api_url = "http://www.tuling123.com/openapi/api?key=".$key."&info=". $keyword;
$result = file_get_contents ( $api_url );
$result = json_decode ( $result, true );
switch ($result ['code']) {
case '200000' :
$text = $result ['text'] . ',点击进入';
return $text;
break;
case '301000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i $result['list'][$i]['name'],
'Description' => $result['list'][$i]['author'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
case '302000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i $result['list'][$i]['article'],
'Description' => $result['list'][$i]['source'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
case '304000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i< $length;$i++){
$articles [$i] = array (
'Title' => $result['list'][$i]['name'],
'Description' => $result['list'][$i]['count'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
case '305000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i $result['list'][$i]['start'] . '--' . $result['list'][$i]['terminal'],
'Description' => $result['list'][$i]['starttime'] . '--' . $result['list'][$i]['endtime'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
case '306000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i $result['list'][$i]['flight'] . '--' . $result['list'][$i]['route'],
'Description' => $result['list'][$i]['starttime'] . '--' . $result['list'][$i]['endtime'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
case '307000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i $result['list'][$i]['name'],
'Description' => $result['list'][$i]['info'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
case '308000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i $result['list'][$i]['name'],
'Description' => $result['list'][$i]['info'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
case '309000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i $result['list'][$i]['name'],
'Description' => '价格 : ' . $result['list'][$i]['price'] . ' 满意度 : ' . $result['list']['satisfaction'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
case '310000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i $result['list'][$i]['number'],
'Description' => $result['list'][$i]['info'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
case '311000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i $result['list'][$i]['name'],
'Description' => '价格 : ' . $result['list'][$i]['price'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
case '312000' :
$length = count($result['list']) > 9 ? 9 :count($result['list']);
for($i= 0;$i $result['list'][$i]['name'],
'Description' => '价格 : ' . $result['list'][$i]['price'],
'PicUrl' => $result['list'][$i]['icon'],
'Url' => $result['list'][$i]['detailurl']
);
}
return $articles;
break;
default :
if (emptyempty ( $result ['text'] )) {
return false;
} else {
return $result ['text'] ;
}
}
}
//谁是卧底游戏
function UnderCover($key,$username){
$mysql = new SaeMysql();
$userid = $username;
if($key==''){
$text = "如果您是法官请输入游戏人数(4~13之间,不包括法官哦)\n其他用户请输入房间号\n回复【规则】了解游戏规则\n回复【惩罚】查看惩罚游戏\n回复【退出】即可退出谁是卧底游戏";
}elseif ($key=='退出') {
$lock = 'unlock';
$sql="UPDATE `wx_users` SET `lock` = '$lock' WHERE `openid` = '$username'";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$text='已退出谁是卧底模式,再次发送【谁是卧底】即可开启';
}elseif($key>=4 && $key<=6){
$sql = "SELECT * FROM `uc_rooms` where `userid` = '$username' ";
$data = $mysql->getData( $sql );
if($data){
$allcount = $key;
$undercoverid1 = rand(1,$key);
$words = getWords();
$word1 = $words['word1'];
$word2 = $words['word2'];
$sql = "update uc_rooms set allcount= '$allcount', nowcount='0',undercoverid1= '$undercoverid1',word1= '$word1',word2= '$word2' where userid= '$username'";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$datas = getDatas($userid);
$roomid = $datas['roomid'];
$text = "您是法官\n游戏房间号为".$roomid."\n平民词:".$word1."\n卧底词:".$word2."\n卧底是:".$undercoverid1."号\n游戏人数为:".
$allcount."\n回复[换],换一组词,\n(一局结束后,不必重建房,回复[换]直接换词)\n如果需要自定义词语,请输入”改“+卧底词和平民词,如:改状元,冠军";
}else{
$userid = $username;
$allcount = $key;
$undercoverid1 = rand(1,$key);
$words = getWords();
$word1 = $words['word1'];
$word2 = $words['word2'];
$sql = "insert into uc_rooms(userid,allcount,nowcount,undercoverid1,word1,word2) values('$username', '$allcount', '0','$undercoverid1' ,'$word1' ,'$word2')";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$datas = getDatas($userid);
$roomid = $datas['roomid'];
$text = "您是法官\n游戏房间号为".$roomid."\n平民词:".$word1."\n卧底词:".$word2."\n卧底是:".$undercoverid1."号\n游戏人数为:".
$allcount."\n回复[换],换一组词,\n(一局结束后,不必重建房,回复[换]直接换词)\n如果需要自定义词语,请输入”改“+卧底词和平民词,如:改状元,冠军";
}
}elseif($key>=7 && $key<=10){
$sql = "SELECT * FROM `uc_rooms` where `userid` = '$username' ";
$data = $mysql->getData( $sql );
if($data){
$allcount = $key;
$undercoverid1 = rand(1,$key);
$undercoverid2 = randexcp1($undercoverid1,$key);
$words = getWords();
$word1 = $words['word1'];
$word2 = $words['word2'];
$sql = "update uc_rooms set allcount= '$allcount', nowcount= '0',undercoverid1= '$undercoverid1',undercoverid2= '$undercoverid2',word1= '$word1',word2 = '$word2' where userid = '$username'";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$datas = getDatas($userid);
$roomid = $datas['roomid'];
$text = "您是法官\n游戏房间号为".$roomid."\n平民词:".$word1."\n卧底词:".$word2."\n卧底1是:".$undercoverid1."号\n卧底2是:".$undercoverid2."号\n游戏人数为:".
$allcount."\n回复[换],换一组词,\n(一局结束后,不必重建房,回复[换]直接换词)\n如果需要自定义词语,请输入”改“+卧底词和平民词,如:改状元,冠军";
}else{
$userid = $username;
$allcount = $key;
$undercoverid1 = rand(1,$key);
$undercoverid2 = randexcp1($undercoverid1,$key);
$words = getWords();
$word1 = $words['word1'];
$word2 = $words['word2'];
$sql = "insert into uc_rooms(userid,allcount,nowcount,undercoverid1,undercoverid2,word1,word2) values('$username', '$allcount', '0','$undercoverid1' ,'$undercoverid2' ,'$word1' ,'$word2')";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$datas = getDatas($userid);
$roomid = $datas['roomid'];
$text = "您是法官\n游戏房间号为".$roomid."\n平民词:".$word1."\n卧底词:".$word2."\n卧底1是:".$undercoverid1."号\n卧底2是:".$undercoverid2."号\n游戏人数为:".
$allcount."\n回复[换],换一组词,\n(一局结束后,不必重建房,回复[换]直接换词)\n如果需要自定义词语,请输入”改“+卧底词和平民词,如:改状元,冠军";
}
}
elseif($key>=1000&&$key<=9999) {
$sql = "select * from uc_rooms where roomid = '$key'";
$data = $mysql->getLine($sql);
if($data){
if($data['nowcount']runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
if($nowcount == (int)$data['undercoverid1']){
$text = "您是".$nowcount."号,您的词语是".$data['word2'];
}elseif($nowcount == (int)$data['undercoverid2']){
$text = "您是".$nowcount."号,您的词语是".$data['word2'];
}elseif($nowcount == (int)$data['whiteboardid']){
$text = "您是".$nowcount."号,您是白板";
}else{
$text = "您是".$nowcount."号,您的词语是".$data['word1'];
}
}else{
$text = "房间人数已满";
}
}else{
$text = "您输入的房间号无效";
}
}elseif($key=="换") {
$datas = getDatas($userid);
$allcount=(int)$datas['allcount'];
$undercoverid1 = rand(1,$allcount);
$words = getWords();
$word1 = $words['word1'];
$word2 = $words['word2'];
$roomid = $datas['roomid'];
if($allcount<7){
$sql = "update uc_rooms set nowcount = '0', undercoverid1= '$undercoverid1',word1= '$word1',word2 = '$word2' where userid = '$username'";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$text = "换词成功\n游戏房间号为".$roomid."\n平民词:".$word1."\n卧底词:".$word2."\n卧底是:".$undercoverid1."号,游戏人数为:".$allcount."\n请参与人员重新发送房间号";
}elseif ($allcount<11) {
$undercoverid2 = randexcp1($undercoverid1,$allcount);
$sql = "update uc_rooms set nowcount = '0', undercoverid1= '$undercoverid1',undercoverid2= '$undercoverid2',word1= '$word1',word2 = '$word2' where userid = '$username'";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$text = "换词成功\n游戏房间号为".$roomid."\n平民词:".$word1."\n卧底词:".$word2."\n卧底1是".$undercoverid1."号,卧底2是".$undercoverid2."号,游戏人数为:".$allcount."\n请参与人员重新发送房间号";
}elseif ($allcount<14) {
$undercoverid2 = randexcp1($undercoverid1,$allcount);
$whiteboardid = randexcp2($undercoverid1,$undercoverid2,$allcount);
$sql = "update uc_rooms set nowcount = '0', undercoverid1= '$undercoverid1',undercoverid2= '$undercoverid2',whiteboardid='$whiteboardid',word1= '$word1',word2= '$word2' where userid = '$username'";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$text = "换词成功\n游戏房间号为".$roomid."\n平民词:".$word1."\n卧底词:".$word2."\n卧底1是".$undercoverid1."号,卧底2是".$undercoverid2."号,白板号是".$whiteboardid."号,游戏人数为:".$allcount."\n请参与人员重新发送房间号";
}
}elseif(substr($key,0, 3)=="改" ){
$key = substr($key, 3);
$words = explode(",",$key);
if(count($words) != 2)
{
$words = explode(",", $key);
}
if(count($words) != 2)
{
$text = "请按照正确格式输入卧底词和平民词,如:改状元,冠军";
return $text;
exit;
break;
}
$word1=$words[0];
$word2=$words[1];
$datas = getDatas($userid);
$allcount=(int)$datas['allcount'];
$roomid = $datas['roomid'];
$undercoverid1 = rand(1,$allcount);
if($allcount<7){
$sql = "update uc_rooms set nowcount = '0', undercoverid1= '$undercoverid1',word1= '$word1',word2 = '$word2' where userid = '$username'";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$text = "改词成功\n游戏房间号为".$roomid."\n平民词:".$word1."\n卧底词:".$word2."\n卧底是:".$undercoverid1."号,游戏人数为:".$allcount."\n请参与人员重新发送房间号";
}elseif ($allcount<11) {
$undercoverid2 = randexcp1($undercoverid1,$allcount);
$sql = "update uc_rooms set nowcount = '0', undercoverid1= '$undercoverid1',undercoverid2= '$undercoverid2',word1= '$word1',word2 = '$word2' where userid = '$username'";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$text = "改词成功\n游戏房间号为".$roomid."\n平民词:".$word1."\n卧底词:".$word2."\n卧底1是".$undercoverid1."号,卧底2是".$undercoverid2."号,游戏人数为:".$allcount."\n请参与人员重新发送房间号";
}elseif ($allcount<14) {
$undercoverid2 = randexcp1($undercoverid1,$allcount);
$whiteboardid = randexcp2($undercoverid1,$undercoverid2,$allcount);
$sql = "update uc_rooms set nowcount = '0', undercoverid1= '$undercoverid1',undercoverid2= '$undercoverid2',whiteboardid='$whiteboardid',word1= '$word1',word2 = '$word2' where userid = '$username'";
$mysql->runSql($sql);
if ($mysql->errno() != 0)
{
die("Error:" . $mysql->errmsg());
}
$text = "改词成功\n游戏房间号为".$roomid."\n平民词:".$word1."\n卧底词:".$word2."\n卧底1是".$undercoverid1."号,卧底2是".$undercoverid2."号,白板号是".$whiteboardid."号,游戏人数为:".$allcount."\n请参与人员重新发送房间号";
}
}elseif($key=="规则" || $key=="游戏规则") {
$text="4-6人游戏1卧底\n7-10人游戏2卧底\n11-13人游戏2卧底1白板\n1.每人每轮用一句话描述自己拿到的词语,既不能让卧底察觉,也要给同伴以暗示\n".
"2.每轮描述完毕,所有在场的人投票选出怀疑谁是卧底,得票最多的人出局。若没有人的得票超过半数(50%),则没有人出局。若卧底出局,则游戏结束。若卧底未出局,游戏继续\n".
"3.反复多个流程,若卧底撑到最后一轮(场上剩3人时),则卧底获胜,反之,则大部队胜利";
}elseif($key==0 || $key=="惩罚") {
$text=getPunish();
}
else{
$text='好吧,你说的我听不懂了';
}
$mysql->closeDb();
return $text;
}
function getWords(){
$mysql = new SaeMysql();
$sql = "select count(*) from uc_words";
$all = $mysql->getVar($sql);
$id = rand(1,$all);
$sql = "select * from uc_words where id = $id";
$words=$mysql->getLine($sql);
if ($mysql->errno() != 0)
{
die("Error:".$mysql->errmsg());
}
$mysql->closeDb();
return $words;
}
function getDatas($userid){
$mysql = new SaeMysql();
$sql = "select * from uc_rooms where userid = '$userid'";
$datas=$mysql->getLine($sql);
if ($mysql->errno() != 0)
{
die("Error:".$mysql->errmsg());
}
$mysql->closeDb();
return $datas;
}
function randexcp1($excp,$key) {
$randresult = rand(1,$key);
if ($randresult == $excp) {
return randexcp1($excp);
} else {
return $randresult;
}
}
function randexcp2($excp1,$excp2,$key) {
$randresult = rand(1,$key);
if ($randresult == $excp1 || $randresult == $excp2) {
return randexcp2($excp1,$excp2,$key);
} else {
return $randresult;
}
}
function getPunish(){
$content = "请输的同学摇骰子选择:\n\n";
$mysql = new SaeMysql();
$sql = "select max(id) from uc_punish";
$maxid = $mysql->getVar($sql);
$a = array();
$i = 1;
while($i<=6) {
$id = fmod(rand(1,100000),$maxid) + 1;
if(array_search($id, $a)==false)
{
$a[]=$id;
$sql = "select item from uc_punish where id = $id";
$item = $mysql->getVar($sql);
$content.=$i.". ".$item."\n\n";
$i=$i+1;
}
}
return $content;
}
本文原创发布php中文网,转载请注明出处,感谢您的尊重!