コード例 #1
0
    /*
     * //手番を進める関数
     * void ChangeTurn(Te te){
     *
     *      if (kk.turn % 2 == 1) {
     *              turn.GetComponent<Text> ().text = "後手";
     *      } else {
     *              turn.GetComponent<Text> ().text = "先手";
     *      }
     *
     *
     *      kk.turn = kk.turn + 1;
     *      kihu.Add (te.DeepCopy());
     *
     *      if (te.capture != 0 && te.capture != 1 && te.capture != 17) {
     *              phase = true;
     *      }
     *
     *      if (kk.turn > 10 && phase) {
     *              sikou.DEPTH_MAX = 3;
     *      }
     *
     *
     *
     *      for (int j = 0; j < historykyokumenn.Count; j++) {
     *              if (kk.equals (historykyokumenn [j])) {
     *                      kk.sameKyokumenn += 1;
     *              }
     *
     *      }
     *
     *      if (kk.sameKyokumenn > 3) {
     *              vsCom = false;
     *              vsComGote = false;
     *              winner.GetComponent<Text>().text = "千日手により引き分けです";
     *              resultCanvas.GetComponent<Canvas>().enabled = true;
     *
     *              for (int i = 1;i <= 81 ; i++){
     *
     *                      Masu [i - 1].GetComponent<Button> ().interactable = false;
     *                      Masu [i - 1].GetComponent<Image> ().color = new Color (255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
     *
     *              }
     *      }
     *      kk.sameKyokumenn = 0;
     *
     *
     *      historykyokumenn.Add (kk.DeepCopyKyokumenn());
     *
     *
     *      if (kihu.Count > 1) {
     *               Masu [kihu [kk.turn - 3].to - 1].GetComponent<Image> ().color = new Color (255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
     *      }
     *      Masu [te.to - 1].GetComponent<Image> ().color = new Color (255f / 255f, 180f / 255f, 0f / 255f, 255f / 255f);
     *
     *
     *      //合法手が無くなったら
     *      if (kk.GenerateLegalMoves ().Count == 0) {
     *
     *              vsCom = false;
     *              vsComGote = false;
     *              print (kk.turn);
     *
     *              if (kk.turn % 2 == 1) {
     *                      winner.GetComponent<Text>().text = "後手の勝利です";
     *              } else {
     *                      winner.GetComponent<Text>().text = "先手の勝利です";
     *              }
     *              //勝敗がついたらボタンをオフに
     *              for (int i = 1;i <= 81 ; i++){
     *
     *                      Masu [i - 1].GetComponent<Button> ().interactable = false;
     *                      Masu [i - 1].GetComponent<Image> ().color = new Color (255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
     *
     *              }
     *
     *              resultCanvas.GetComponent<Canvas>().enabled = true;
     *
     *      }
     * }
     *
     *
     *
     */


    //手番を進める関数
    IEnumerator Changeturn(Te te)
    {
        if (kk.turn % 2 == 1)
        {
            turn.GetComponent <Text> ().text = "後手";
        }
        else
        {
            turn.GetComponent <Text> ().text = "先手";
        }

        yield return(new WaitForEndOfFrame());

        kk.turn = kk.turn + 1;
        kihu.Add(te.DeepCopy());

        for (int j = 0; j < historykyokumenn.Count; j++)
        {
            if (kk.equals(historykyokumenn [j]))
            {
                kk.sameKyokumenn += 1;
            }
        }

        if (kk.sameKyokumenn > 3)
        {
            vsCom     = false;
            vsComGote = false;
            winner.GetComponent <Text>().text            = "千日手により引き分けです";
            resultCanvas.GetComponent <Canvas>().enabled = true;

            for (int i = 1; i <= 81; i++)
            {
                Masu [i - 1].GetComponent <Button> ().interactable = false;
                Masu [i - 1].GetComponent <Image> ().color         = new Color(255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
            }
        }
        kk.sameKyokumenn = 0;


        historykyokumenn.Add(kk.DeepCopyKyokumenn());


        if (kihu.Count > 1)
        {
            Masu [kihu [kk.turn - 3].to - 1].GetComponent <Image> ().color = new Color(255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
        }
        Masu [te.to - 1].GetComponent <Image> ().color = new Color(255f / 255f, 180f / 255f, 0f / 255f, 255f / 255f);


        //合法手が無くなったら
        if (kk.GenerateLegalMoves().Count == 0)
        {
            vsCom     = false;
            vsComGote = false;
            print(kk.turn);

            if (kk.turn % 2 == 1)
            {
                winner.GetComponent <Text>().text = "後手の勝利です";
            }
            else
            {
                winner.GetComponent <Text>().text = "先手の勝利です";
            }
            //勝敗がついたらボタンをオフに
            for (int i = 1; i <= 81; i++)
            {
                Masu [i - 1].GetComponent <Button> ().interactable = false;
                Masu [i - 1].GetComponent <Image> ().color         = new Color(255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
            }

            resultCanvas.GetComponent <Canvas>().enabled = true;
        }
    }