⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 evalue.cs

📁 人工智能 五子棋的实现。AI算法比较高
💻 CS
📖 第 1 页 / 共 3 页
字号:
                                maxvalue = value;
                                //		  cout<<4;
                            }
                        }
            }
            {
                for (int i4 = 0; i4 <=10; i4++)
                    for (int j = 0; j <= 10 - i4; j++)
                        if ((chess_board[i4 + j][j] != 2) && (chess_board[i4 + j + 1][j + 1] != 2)
                        && (chess_board[i4 + j + 2][j + 2] != 2) && (chess_board[i4 + j + 3][j + 3] != 2) && (chess_board[i4 + j + 4][j + 4] != 2))
                        {
                            value = 0;
                            int k;
                            for (k = 0; k < 5; k++)
                            {
                                if (chess_board[i4 + k + j][j + k] == 1)
                                    value++;
                                test[1 + k] = chess_board[i4 + k + j][j + k];
                            }

                            k = -1;
                            if (va(i4 + k + j, j + k) == 1)
                                test[1 + k] = chess_board[i4 + k + j][j + k];
                            else test[1 + k] = 2;
                            /* k=5;
                            if (va(i4+k+j,j+k))
                                test[1+k]=chess_board[i4+k+j][j+k];
                            else test[1+k]=2;

              */
                            if (value == 5)
                                value = 90000;
                            if (value == 4)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 5000;
                                else value = 1000;
                            }
                            if (value == 3)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 5000;
                                else value = 100;
                            }
                            if (value == 2)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 50;
                                else value = 10;
                            }

                            if (value == 1)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 3;

                            }

                            if (value == maxvalue)
                                maxi++;
                            if (value > maxvalue)
                            {
                                maxi = 1;
                                maxvalue = value;
                                //	  cout<<5<<endl;
                                //	  cout<<i4<<' '<<j<<endl;
                            }
                        }
            }
            {
                for (int j5 = 1; j5 <= 10; j5++)
                    for (int i5 = 0; i5 <= 10 - j5; i5++)
                        if ((chess_board[i5][j5 + i5] != 2) && (chess_board[i5 + 1][j5 + 1 + i5] != 2)
                        && (chess_board[i5 + 2][j5 + 2 + i5] != 2) && (chess_board[i5 + 3][j5 + 3 + i5] != 2) && (chess_board[i5 + 4][j5 + 4 + i5] != 2))
                        {
                            value = 0;
                            int k;
                            for (k = 0; k < 5; k++)
                            {
                                if (chess_board[i5 + k][j5 + k + i5] == 1)
                                    value++;
                                test[1 + k] = chess_board[i5 + k][j5 + k + i5];
                            }


                            k = -1;
                            if (va(i5 + k, j5 + k + i5) == 1)
                                test[1 + k] = chess_board[i5 + k][j5 + k + i5];
                            else test[1 + k] = 2;
                            /* k=5;
                            if (va(i5+k,j5+k+i5))
                                test[1+k]=chess_board[i5+k][j5+k+i5];
                            else test[1+k]=2;

                  */
                            if (value == 5)
                                value = 90000;
                            if (value == 4)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 5000;
                                else value = 1000;
                            }
                            if (value == 3)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 5000;
                                else value = 100;
                            }

                            if (value == 2)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 50;
                                else value = 10;
                            }

                            if (value == 1)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 3;

                            }

                            if (value == maxvalue)
                                maxi++;
                            if (value > maxvalue)
                            {
                                maxi = 1;
                                maxvalue = value;
                                // cout<<6;
                            }
                        }
            }

            int temp = maxvalue;
            res[0] = temp;















            maxvalue = -90000;
            maxi = 0;
            {
                for (int i = 0; i < 15; i++)
                {
                    for (int j = 4; j < 15; j++)

                        if ((chess_board[i][j] !=1) && (chess_board[i][j - 1] !=1) && (chess_board[i][j - 2] !=1)
                            && (chess_board[i][j - 3] !=1) && (chess_board[i][j - 4] !=1))
                        {
                            value = 0;
                            int k;
                            for (k = 0; k < 5; k++)
                            {
                                if (chess_board[i][j - k] == 2)
                                    value++;
                                test[1 + k] = chess_board[i][j - k];
                            }


                            k = -1;
                            if (va(i, j - k) == 1)
                                test[1 + k] = chess_board[i][j - k];
                            else test[1 + k] = 2;
                            /* k=5;
                            if (va(i,j-k))
                                test[1+k]=chess_board[i][j-k];
                            else test[1+k]=2;

                            */
                            if (value == 5)
                                value = 90000;

                            if (value == 4)
                            {



                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 9000;
                                else value = 7000;
                            }
                            if (value == 3)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 900;
                                else value = 700;
                            }

                            if (value == 2)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 90;
                                else value = 70;
                            }

                            if (value == 1)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 3;

                            }
                            if (value == maxvalue)
                                maxi++;
                            if (value > maxvalue)
                            {
                                maxi = 1;
                                maxvalue = value;
                                //	  cout<<1<<endl;
                                //	  cout<<i<<' '<<j<<endl;
                            }


                        }
                }
            }
            {
                for (int i1 = 0; i1 < 15; i1++)
                    for (int j = 4; j < 15; j++)
                        if ((chess_board[j][i1] !=1) && (chess_board[j - 1][i1] !=1)
                        && (chess_board[j - 2][i1] !=1) && (chess_board[j - 3][i1] !=1) && (chess_board[j - 4][i1] !=1))
                        {
                            value = 0;
                            int k;
                            for (k = 0; k < 5; k++)
                            {
                                if (chess_board[j - k][i1] == 2)
                                    value++;
                                test[1 + k] = chess_board[j - k][i1];
                            }

                            k = -1;
                            if (va(j - k, i1) == 1)
                                test[1 + k] = chess_board[j - k][i1];
                            else test[1 + k] = 2;
                            /* k=5;
                            if (va(j-k,i1))
                                test[1+k]=chess_board[j-k][i1];
                            else test[1+k]=2;


                  */
                            if (value == 5)
                                value = 90000;


                            if (value == 4)
                            {

                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 9000;
                                else value = 7000;
                            }
                            if (value == 3)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 900;
                                else value = 700;
                            }
                            if (value == 2)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 90;
                                else value = 70;
                            }

                            if (value == 1)
                            {
                                if ((test[0] == 0) && (test[5] == 0))
                                    value = 3;

                            }

                            if (value == maxvalue)
                                maxi++;
                            if (value > maxvalue)
                            {
                                maxi = 1;
                                maxvalue = value;
                                //		  cout<<2;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -