php趣味成语答题,题库生成.

4 篇文章 0 订阅

 

 

public function question(){

    $idiom = $this->get_rand_idiom();//拿出随机成语

    $arr_rand = $this->make_arr($idiom);//数组

    $idiom_arr[] = $idiom;

    $data =  S('IdiomStory');


    foreach ($data as $key=>$val){
        if (!in_array($val,$idiom_arr)) {
            $arr = $this->make_arr($val);//数组

            if (in_array($arr[0], $arr_rand)) {
                $idiom_arr[] = $val;
                $a = $arr;
                break;
            }
        }
    }

    foreach ($data as $v){
        if (!in_array($v,$idiom_arr)){
            $arr2 = $this->make_arr($v);//数组

            if (in_array($arr[3],$arr2)){
                $idiom_arr[] = $v;
                break;
            }


            if (in_array($arr[2],$arr2)){
                $idiom_arr[] = $v;
                break;
            }
        }



    }

    return $idiom_arr;
   // print_r($idiom_arr);
}
   /**
     * 制造坐标(3个成语)
     */
    public function make_coordinate(){

//        $arr = array(
//            '0'=>'九死一生',
//            '1'=>'南柯一梦',
//            '2'=>'白日做梦',
//        );

//        $arr = array(
//           '四平八稳',
//           '八面来风',
//           '栉风沐雨'
//        );

        $arr = $this->question();
        $word = array();
        $arr_rand1 = $this->make_arr($arr[0]);//数组

        $arr_rand2 = $this->make_arr($arr[1]);//数组

        $arr_rand3 = $this->make_arr($arr[2]);//数组

        for ($i=0;$i<count($arr_rand1);$i++){

            for ($k=0;$k<count($arr_rand2);$k++){

                if ($arr_rand1[$i] == $arr_rand2[$k]){
                    $ps2 = array($i,$k);
                }

            }

        }

        for ($i2 = 0;$i2<count($arr_rand1);$i2++){  //第一个成语

            $posx[] = 0;  //固定x位置
            $posy[] = $i2;
            $word[] = $arr_rand1[$i2];
        }

        $answer[] =array_rand($word,1);

        for ($k2 = 0;$k2<count($arr_rand2);$k2++){  //第二个成语

            if ($k2!=$ps2[1]){  //去掉相交的那个字

                $posx[] = $k2;
                $posy[] = $ps2[0];//固定y位置

                $word[] = $arr_rand2[$k2];
            }

        }

        $answer[] = rand(0,2)+4;

        for ($i=0;$i<count($arr_rand2);$i++){

            for ($k=0;$k<count($arr_rand3);$k++){

                if ($arr_rand2[$i] == $arr_rand3[$k]){
                    $ps3 = array($i,$k);
                }

            }

        }

        for ($k3 = 0;$k3<count($arr_rand3);$k3++){ //第三个成语

            if ($k3!=$ps3[1]){ //去掉相交的那个字

                $posx[] = $ps3[0];
                $posy[] = $k3+$ps2[0]-$ps3[1];

                $word[] = $arr_rand3[$k3];
            }

        }

        $answer[] = rand(0,2)+7;

      $min_y =   min($posy); //获取数组最小值
        $poy2 = array();
        if ($min_y<0){
            $min_y = abs($min_y);
            for ($y=0;$y<count($posy);$y++){
                $poy2[] = 8-($posy[$y]+$min_y); //y 平移
            }
        }else{
            for ($y=0;$y<count($posy);$y++){
                $poy2[] = 8-$posy[$y];
            }
        }



        $data = array(
            'id'=>51,
            'posx'=>$posx,
            'posy'=>$poy2,
            'answer'=>$answer,
            'levelup'=>1,
            'hero'=>1,
            'idiom'=>$arr,
            'wifenum'=>0,
            'house'=>1,
            'word'=>$word
        );

        echo json_encode($data,JSON_UNESCAPED_UNICODE);


    }
/**
 * 4个成语
 * @return array
 */
public function question4(){

    $idiom = $this->get_rand_idiom();//拿出随机成语

    $arr_rand = $this->make_arr($idiom);//数组

    $idiom_arr[] = $idiom;

    $data =  S('IdiomStory');


    foreach ($data as $key=>$val){  //第一和第二
        if (!in_array($val,$idiom_arr)) {
            $arr = $this->make_arr($val);//数组

            if (in_array($arr[0], $arr_rand)) {
                $idiom_arr[] = $val;
                $a = $arr;
                break;
            }
        }
    }

    $break = 0;

    foreach ($data as $v){ //第二和第三
        if (!in_array($v,$idiom_arr)){
            $arr2 = $this->make_arr($v);//数组

            for ($k=0;$k<count($arr2);$k++){

                if ($arr[3] == $arr2[$k]){
                    unset($arr2[$k]);
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;

                    $index = 2;
                    break;
                }

                if ($arr[2] == $arr2[$k]){
                    unset($arr2[$k]);
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;

                    $index = 1;
                    break;
                }


            }
            if ($break == 1){ //匹配到就退出
                break;
            }

        }

    }

    $break = 0;

    foreach ($data as $v){ //第三和第四
        if (!in_array($v,$idiom_arr)){
            $arr2 = $this->make_arr($v);//数组

            for ($k=0;$k<$index;$k++){  //为了能分清楚

                for ($i=0;$i<count($arr);$i++){
                    if ($arr[$i] == $arr2[$k]){
                        $idiom_arr[] = $v;
                        $break = 1;
                        break;
                    }
                }

                if ($break == 1){ //匹配到就退出
                    break;
                }

            }
            if ($break == 1){ //匹配到就退出
                break;
            }

        }

    }



  return $idiom_arr;

}

/**
 * 制造坐标(4个成语)
 */
public function make_coordinate4(){

    $arr = $this->question4();
    $word = array();
    $arr_rand1 = $this->make_arr($arr[0]);//数组

    $arr_rand2 = $this->make_arr($arr[1]);//数组

    $arr_rand3 = $this->make_arr($arr[2]);//数组

    $arr_rand4 = $this->make_arr($arr[3]);//数组

    for ($i=0;$i<count($arr_rand1);$i++){

        for ($k=0;$k<count($arr_rand2);$k++){

            if ($arr_rand1[$i] == $arr_rand2[$k]){
                $ps2 = array($i,$k);
            }

        }

    }

    for ($i2 = 0;$i2<count($arr_rand1);$i2++){  //第一个成语

        $posx[] = 0;  //固定x位置
        $posy[] = $i2;
        $word[] = $arr_rand1[$i2];
    }

    $answer[] =array_rand($word,1);

    for ($k2 = 0;$k2<count($arr_rand2);$k2++){  //第二个成语

        if ($k2!=$ps2[1]){  //去掉相交的那个字

            $posx[] = $k2;
            $posy[] = $ps2[0];//固定y位置

            $word[] = $arr_rand2[$k2];
        }

    }

    $answer[] = rand(0,2)+4;

    for ($i=0;$i<count($arr_rand2);$i++){

        for ($k=0;$k<count($arr_rand3);$k++){

            if ($arr_rand2[$i] == $arr_rand3[$k]){
                $ps3 = array($i,$k);
            }

        }

    }

    for ($k3 = 0;$k3<count($arr_rand3);$k3++){ //第三个成语

        if ($k3!=$ps3[1]){ //去掉相交的那个字

            $posx[] = $ps3[0];
            $posy[] = $k3+$ps2[0]-$ps3[1];

            $word[] = $arr_rand3[$k3];
        }

    }

    $answer[] = rand(0,2)+7;



    for ($i=0;$i<count($arr_rand3);$i++){

        for ($k=0;$k<count($arr_rand4);$k++){

            if ($arr_rand3[$i] == $arr_rand4[$k]){
                $ps4 = array($i,$k);
            }

        }

    }

    for ($k3 = 0;$k3<count($arr_rand4);$k3++){ //第四个成语

        if ($k3!=$ps4[1]){ //去掉相交的那个字

            $posx[] = $k3+$ps3[0]-$ps4[1];
            $posy[] = $ps4[0]+$ps2[0]-$ps3[1];

            $word[] = $arr_rand4[$k3];
        }

    }

    $answer[] = rand(0,2)+10;



    $min_y =   min($posy); //获取数组最小值
    $poy2 = array();
    if ($min_y<0){
        $min_y = abs($min_y);
        for ($y=0;$y<count($posy);$y++){
            $poy2[] = 8-($posy[$y]+$min_y); //y 平移
        }
    }else{
        for ($y=0;$y<count($posy);$y++){
            $poy2[] = 8-$posy[$y];
        }
    }



    $data = array(
        'id'=>51,
        'posx'=>$posx,
        'posy'=>$poy2,
        'answer'=>$answer,
        'levelup'=>1,
        'hero'=>1,
        'idiom'=>$arr,
        'wifenum'=>0,
        'house'=>1,
        'word'=>$word
    );

    echo json_encode($data,JSON_UNESCAPED_UNICODE);


}
/**
 * 5个成语
 * @return array
 */
public function question5(){

    $idiom = $this->get_rand_idiom();//拿出随机成语

    $arr_rand = $this->make_arr($idiom);//数组

    $idiom_arr[] = $idiom;

    $data =  S('IdiomStory');


    foreach ($data as $key=>$val){  //第一和第二  2
        if (!in_array($val,$idiom_arr)) {
            $arr = $this->make_arr($val);//数组

            if (in_array($arr[0], $arr_rand)) {
                $idiom_arr[] = $val;
                $a = $arr;
                break;
            }
        }
    }

    $break = 0;

    foreach ($data as $v){ //第二和第三  3
        if (!in_array($v,$idiom_arr)){
            $arr2 = $this->make_arr($v);//数组

            for ($k=0;$k<count($arr2);$k++){

                if ($arr[3] == $arr2[$k]){
                    unset($arr2[$k]);
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;
                    $index = 2;
                    $next_index1 = $k;  //为下一个做铺垫
                    $index5 = 3; //为第五个做铺垫
                    break;
                }

                if ($arr[2] == $arr2[$k]){
                    unset($arr2[$k]);
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;
                    $next_index1 = $k;  //为下一个做铺垫
                    $index = 1;
                    $index5 = 2; //为第五个做铺垫
                    break;
                }


            }
            if ($break == 1){ //匹配到就退出
                break;
            }

        }

    }

    $break = 0;

    foreach ($data as $v){ //第三和第四  4
        if (!in_array($v,$idiom_arr)){
            $arr2 = $this->make_arr($v);//数组

            for ($k=0;$k<$index;$k++){  //为了能分清楚

                if ($next_index1 == 0){
                    if ($arr[2] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                    if ($arr[3] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                }elseif ($next_index1 == 1){
                    if ($arr[3] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                }elseif ($next_index1 == 2){
                    if ($arr[0] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                }elseif ($next_index1 == 3){
                    if ($arr[0] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                    if ($arr[1] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                }

                if ($break == 1){ //匹配到就退出
                    break;
                }

            }
            if ($break == 1){ //匹配到就退出
                break;
            }

        }

    }


    $break = 0;

    foreach ($data as $v){ //第四和第五  5
        if (!in_array($v,$idiom_arr)){
            $arr2 = $this->make_arr($v);//数组

            for ($k=0;$k<2;$k++){

                if ($arr[3] == $arr2[$k]){
                    unset($arr2[$k]);
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;

                    break;
                }
            if ($index5 == 3){
                if($k !=0){
                    if ($next_index == 0){
                        if ($arr[2] == $arr2[$k]){
                            unset($arr2[$k]);
                            $arr = $arr2;
                            $idiom_arr[] = $v;
                            $break = 1;

                            break;
                        }
                    }
                }
            }

            }
            if ($break == 1){ //匹配到就退出
                break;
            }

        }

    }


  return $idiom_arr;
}


/**
 * 制造坐标(5个成语)
 */
public function make_coordinate5(){

    $arr = $this->question5();
    $word = array();
    $arr_rand1 = $this->make_arr($arr[0]);//数组

    $arr_rand2 = $this->make_arr($arr[1]);//数组

    $arr_rand3 = $this->make_arr($arr[2]);//数组

    $arr_rand4 = $this->make_arr($arr[3]);//数组

    $arr_rand5 = $this->make_arr($arr[4]);//数组

    for ($i=0;$i<count($arr_rand1);$i++){

        for ($k=0;$k<count($arr_rand2);$k++){

            if ($arr_rand1[$i] == $arr_rand2[$k]){
                $ps2 = array($i,$k);
            }

        }

    }

    for ($i2 = 0;$i2<count($arr_rand1);$i2++){  //第一个成语

        $posx[] = 0;  //固定x位置
        $posy[] = $i2;
        $word[] = $arr_rand1[$i2];
    }

    $answer[] =array_rand($word,1);

    for ($k2 = 0;$k2<count($arr_rand2);$k2++){  //第二个成语

        if ($k2!=$ps2[1]){  //去掉相交的那个字

            $posx[] = $k2;
            $posy[] = $ps2[0];//固定y位置

            $word[] = $arr_rand2[$k2];
        }

    }

    $answer[] = rand(0,2)+4;

    for ($i=0;$i<count($arr_rand2);$i++){

        for ($k=0;$k<count($arr_rand3);$k++){

            if ($arr_rand2[$i] == $arr_rand3[$k]){
                $ps3 = array($i,$k);
            }

        }

    }

    for ($k3 = 0;$k3<count($arr_rand3);$k3++){ //第三个成语

        if ($k3!=$ps3[1]){ //去掉相交的那个字

            $posx[] = $ps3[0];
            $posy[] = $k3+$ps2[0]-$ps3[1];

            $word[] = $arr_rand3[$k3];
        }

    }

    $answer[] = rand(0,2)+7;



    for ($i=0;$i<count($arr_rand3);$i++){

        for ($k=0;$k<count($arr_rand4);$k++){

            if ($arr_rand3[$i] == $arr_rand4[$k]){
                $ps4 = array($i,$k);
            }

        }

    }

    for ($k3 = 0;$k3<count($arr_rand4);$k3++){ //第四个成语

        if ($k3!=$ps4[1]){ //去掉相交的那个字

            $posx[] = $k3+$ps3[0]-$ps4[1];
            $posy[] = $ps4[0]+$ps2[0]-$ps3[1];

            $word[] = $arr_rand4[$k3];
        }

    }

    $answer[] = rand(0,2)+10;

    for ($i=0;$i<count($arr_rand4);$i++){

        for ($k=0;$k<count($arr_rand5);$k++){

            if ($arr_rand4[$i] == $arr_rand5[$k]){
                $ps5 = array($i,$k);
            }

        }

    }

    for ($k3 = 0;$k3<count($arr_rand5);$k3++){ //第五个成语

        if ($k3!=$ps5[1]){ //去掉相交的那个字

            $posx[] = $ps5[0]+$ps3[0]-$ps4[1];  //加上之前的坐标
            $posy[] = $k3+$ps4[0]+$ps2[0]-$ps3[1]-$ps5[1]; //加上之前的坐标

            $word[] = $arr_rand5[$k3];
        }

    }

    $answer[] = rand(0,2)+13;



    $min_y =   min($posy); //获取数组最小值

    $poy2 = array();
    if ($min_y<0){
        $min_y = abs($min_y);
        for ($y=0;$y<count($posy);$y++){
            $poy2[] = 8-($posy[$y]+$min_y); //y 平移
        }
    }else{
        for ($y=0;$y<count($posy);$y++){
            $poy2[] = 8-$posy[$y];
        }
    }



    $data = array(
        'id'=>51,
        'posx'=>$posx,
        'posy'=>$poy2,
        'answer'=>$answer,
        'levelup'=>1,
        'hero'=>1,
        'idiom'=>$arr,
        'wifenum'=>0,
        'house'=>1,
        'word'=>$word
    );

    echo json_encode($data,JSON_UNESCAPED_UNICODE);

}
/**
 * 6个成语
 * @return array
 */
public function question6(){

    $idiom = $this->get_rand_idiom();//拿出随机成语

    $arr_rand = $this->make_arr($idiom);//数组

    $idiom_arr[] = $idiom;

    $data =  S('IdiomStory');


    foreach ($data as $key=>$val){  //第一和第二  2
        if (!in_array($val,$idiom_arr)) {
            $arr = $this->make_arr($val);//数组

            if (in_array($arr[0], $arr_rand)) {
                $idiom_arr[] = $val;
                $a = $arr;
                break;
            }
        }
    }

    $break = 0;

    foreach ($data as $v){ //第二和第三  3
        if (!in_array($v,$idiom_arr)){
            $arr2 = $this->make_arr($v);//数组

            for ($k=0;$k<count($arr2);$k++){

                if ($arr[3] == $arr2[$k]){
                    unset($arr2[$k]);
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;
                    $index = 2;
                    $next_index1 = $k;  //为下一个做铺垫
                    $index5 = 3; //为第五个做铺垫
                    break;
                }

                if ($arr[2] == $arr2[$k]){
                    unset($arr2[$k]);
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;
                    $next_index1 = $k;  //为下一个做铺垫
                    $index = 1;
                    $index5 = 2; //为第五个做铺垫
                    break;
                }


            }
            if ($break == 1){ //匹配到就退出
                break;
            }

        }

    }

    $break = 0;

    foreach ($data as $v){ //第三和第四  4
        if (!in_array($v,$idiom_arr)){
            $arr2 = $this->make_arr($v);//数组

            for ($k=0;$k<$index;$k++){  //为了能分清楚

                if ($next_index1 == 0){
                    if ($arr[2] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                    if ($arr[3] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                }elseif ($next_index1 == 1){
                    if ($arr[3] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                }elseif ($next_index1 == 2){
                    if ($arr[0] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                }elseif ($next_index1 == 3){
                    if ($arr[0] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                    if ($arr[1] == $arr2[$k]){
                        $arr = $arr2;
                        $idiom_arr[] = $v;
                        $break = 1;
                        $next_index = $k;  //为下一个做铺垫
                        break;
                    }
                }

                if ($break == 1){ //匹配到就退出
                    break;
                }

            }
            if ($break == 1){ //匹配到就退出
                break;
            }

        }

    }


    $break = 0;

    foreach ($data as $v){ //第四和第五  5
        if (!in_array($v,$idiom_arr)){
            $arr2 = $this->make_arr($v);//数组

            for ($k=0;$k<2;$k++){

                if ($arr[3] == $arr2[$k]){
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;
                    $index6 = 1;
                    if ($index5 == 2){
                        $index6 = 0;
                    }
                    $xj_index = $k;
                    break;
                }
                if ($index5 == 3){
                    if($k !=0){
                        if ($next_index == 0){
                            if ($arr[2] == $arr2[$k]){
                                $arr = $arr2;
                                $idiom_arr[] = $v;
                                $break = 1;
                                $index6 = 0;
                                $xj_index = $k;
                                break;
                            }
                        }
                    }
                }



            }
            if ($break == 1){ //匹配到就退出
                break;
            }

        }

    }

    $break = 0;

    foreach ($data as $v){ //第五和第六  6
        if (!in_array($v,$idiom_arr)){
            $arr2 = $this->make_arr($v);//数组

            if ($xj_index == 0){  // 2 3

                if ($arr[3] == $arr2[$index6]){
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;
                    break;
                }

                if ($arr[2] == $arr2[$index6]){
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;
                    break;
                }

            }elseif ($xj_index == 1){ //3
                if ($arr[3] == $arr2[$index6]){
                    $arr = $arr2;
                    $idiom_arr[] = $v;
                    $break = 1;
                    break;
                }
            }

            if ($break == 1){ //匹配到就退出
                break;
            }

        }

    }

    return $idiom_arr;
}


/**
 * 制造坐标(6个成语)
 */
public function make_coordinate6(){

    $arr = $this->question6();
    $word = array();
    $arr_rand1 = $this->make_arr($arr[0]);//数组

    $arr_rand2 = $this->make_arr($arr[1]);//数组

    $arr_rand3 = $this->make_arr($arr[2]);//数组

    $arr_rand4 = $this->make_arr($arr[3]);//数组

    $arr_rand5 = $this->make_arr($arr[4]);//数组

    $arr_rand6 = $this->make_arr($arr[5]);//数组

    for ($i=0;$i<count($arr_rand1);$i++){

        for ($k=0;$k<count($arr_rand2);$k++){

            if ($arr_rand1[$i] == $arr_rand2[$k]){
                $ps2 = array($i,$k);
            }

        }

    }

    for ($i2 = 0;$i2<count($arr_rand1);$i2++){  //第一个成语

        $posx[] = 0;  //固定x位置
        $posy[] = $i2;
        $word[] = $arr_rand1[$i2];
    }

    $answer[] =array_rand($word,1);

    for ($k2 = 0;$k2<count($arr_rand2);$k2++){  //第二个成语

        if ($k2!=$ps2[1]){  //去掉相交的那个字

            $posx[] = $k2;
            $posy[] = $ps2[0];//固定y位置

            $word[] = $arr_rand2[$k2];
        }

    }

    $answer[] = rand(0,2)+4;

    for ($i=0;$i<count($arr_rand2);$i++){

        for ($k=0;$k<count($arr_rand3);$k++){

            if ($arr_rand2[$i] == $arr_rand3[$k]){
                $ps3 = array($i,$k);
            }

        }

    }

    for ($k3 = 0;$k3<count($arr_rand3);$k3++){ //第三个成语

        if ($k3!=$ps3[1]){ //去掉相交的那个字

            $posx[] = $ps3[0];
            $posy[] = $k3+$ps2[0]-$ps3[1];

            $word[] = $arr_rand3[$k3];
        }

    }

    $answer[] = rand(0,2)+7;



    for ($i=0;$i<count($arr_rand3);$i++){

        for ($k=0;$k<count($arr_rand4);$k++){

            if ($arr_rand3[$i] == $arr_rand4[$k]){
                $ps4 = array($i,$k);
            }

        }

    }

    for ($k3 = 0;$k3<count($arr_rand4);$k3++){ //第四个成语

        if ($k3!=$ps4[1]){ //去掉相交的那个字

            $posx[] = $k3+$ps3[0]-$ps4[1];
            $posy[] = $ps4[0]+$ps2[0]-$ps3[1];

            $word[] = $arr_rand4[$k3];
        }

    }

    $answer[] = rand(0,2)+10;

    for ($i=0;$i<count($arr_rand4);$i++){

        for ($k=0;$k<count($arr_rand5);$k++){

            if ($arr_rand4[$i] == $arr_rand5[$k]){
                $ps5 = array($i,$k);
            }

        }

    }

    for ($k3 = 0;$k3<count($arr_rand5);$k3++){ //第五个成语

        if ($k3!=$ps5[1]){ //去掉相交的那个字

            $posx[] = $ps5[0]+$ps3[0]-$ps4[1];  //加上之前的坐标
            $posy[] = $k3+$ps4[0]+$ps2[0]-$ps3[1]-$ps5[1]; //加上之前的坐标

            $word[] = $arr_rand5[$k3];
        }

    }

    $answer[] = rand(0,2)+13;


    for ($i=0;$i<count($arr_rand5);$i++){

        for ($k=0;$k<count($arr_rand6);$k++){

            if ($arr_rand5[$i] == $arr_rand6[$k]){
                $ps6 = array($i,$k);
            }

        }

    }

    for ($k3 = 0;$k3<count($arr_rand6);$k3++){ //第6个成语

        if ($k3!=$ps6[1]){ //去掉相交的那个字

            $posx[] = $k3+$ps5[0]+$ps3[0]-$ps4[1]-$ps6[1];  //加上之前的坐标
            $posy[] = $ps6[0]+$ps4[0]+$ps2[0]-$ps3[1]-$ps5[1]; //加上之前的坐标

            $word[] = $arr_rand6[$k3];
        }

    }

    $answer[] = rand(0,2)+16;

    $min_y =   min($posy); //获取数组最小值

    $poy2 = array();
    if ($min_y<0){
        $min_y = abs($min_y);
        for ($y=0;$y<count($posy);$y++){
            $poy2[] = 8-($posy[$y]+$min_y); //y 平移
        }
    }else{
        for ($y=0;$y<count($posy);$y++){
            $poy2[] = 8-$posy[$y];
        }
    }



    $data = array(
        'id'=>51,
        'posx'=>$posx,
        'posy'=>$poy2,
        'answer'=>$answer,
        'levelup'=>1,
        'hero'=>1,
        'idiom'=>$arr,
        'wifenum'=>0,
        'house'=>1,
        'word'=>$word
    );

    echo json_encode($data,JSON_UNESCAPED_UNICODE);


}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值