大一新生就可以用二维数组写一个孔明棋,超简单!有问题的随时@我~

据说孔明棋是三国时期的诸葛亮发明的,所以叫孔明棋,成品是这样,就一百行代码就能实现,走棋的时候需要输入坐标,可以自己优化一下,使用easyx图形库,加入素材

听说能只剩下一颗棋的都很聪明,这下证明了我不是一个聪明的娃儿~照这视频走的剩下一颗棋

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main()
{
    int i, j;
    int a[8][8] = {0,3,4,5,6,7,8,9,
                   3,0,0,1,1,1,0,0,
                   4,0,0,1,1,1,0,0,
                   5,1,1,1,1,1,1,1,
                   6,1,1,1,2,1,1,1,
                   7,1,1,1,1,1,1,1,
                   8,0,0,1,1,1,0,0,
                   9,0,0,1,1,1,0,0};
    while (1){
        for (i = 0; i < 8; i++) {
            for (j = 0; j < 8; j++) {
                switch (a[i][j]) {
                case 0:
                    printf(" ");
                    break;
                case 1:
                    printf("●");
                    break;
                case 2:
                    printf("○");
                    break;
                case 3:
                    printf("1");
                    break;
                case 4:
                    printf("2");
                    break;
                case 5:
                    printf("3");
                    break;
                case 6:
                    printf("4");
                    break;
                case 7:
                    printf("5");
                    break;
                case 8:
                    printf("6");
                    break;
                case 9:
                    printf("7");
                    break;
                }
            }
            printf("\n");
        }
            int i, j;
            scanf_s("%d", &i,1);
            scanf_s("%d", &j,1);
            char jianpan = _getch();
            switch (jianpan) {
            case 72:
            case 'w':
            case 'W':
                if (a[i][j] == 2) {
                    a[i][j] = 1;
                    a[i - 2][j] = 2;
                    a[i - 1][j] = 2;
                }
                break;
            case 80:
            case 's':
            case 'S':
                if (a[i][j] == 2) {
                    a[i][j] = 1;
                    a[i + 2][j] = 2;
                    a[i + 1][j] = 2;
                }
                break;
            case 75:
            case 'a':
            case 'A':
                if (a[i][j] == 2) {
                    a[i][j] = 1;
                    a[i][j - 2] = 2;
                    a[i][j - 1] = 2;
                }
                break;
            case 77:
            case 'd':
            case 'D':
                if (a[i][j] == 2) {
                    a[i][j] = 1;
                    a[i][j + 2] = 2;
                    a[i][j + 1] = 2;
                }
                break;
            }
            system("cls");
        }
    return 0;
}

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 可以使用 PHP 内置函数 in_array() 来判断一维数组的值是否存在于二维数组中。 二维数组的定义方式如下: ``` $arr = array( array("a", "b", "c"), array("d", "e", "f"), array("g", "h", "i") ); ``` 一维数组的定义方式如下: ``` $arr1 = array("a", "b", "c"); ``` 使用 in_array() 判断一维数组的值是否存在二维数组中: ``` foreach($arr1 as $value) { if(in_array($value, $arr)) { echo $value . " is in the array"; } else { echo $value . " is not in the array"; } } ``` 请注意:in_array() 是一个二维数组查询元素是否存在的函数,可能需要对二维数组进行循环查询. ### 回答2: 在PHP中,我们可以使用以下代码来创建一个二维数组一个一维数组,并判断一维数组的值是否存在于二维数组中。 ```php // 创建一个二维数组 $二维数组 = array( array("苹果", "香蕉"), array("橙子", "葡萄"), array("西瓜", "菠萝"), ); // 创建一个一维数组 $一维数组 = array("橙子", "葡萄"); // 判断一维数组的值是否存在于二维数组中 $存在 = false; foreach ($二维数组 as $子数组) { if (in_array($一维数组, $子数组)) { $存在 = true; break; } } // 输出结果 if ($存在) { echo "一维数组的值存在于二维数组中"; } else { echo "一维数组的值不存在于二维数组中"; } ``` 以上代码中,我们先创建了一个二维数组一个一维数组。然后,我们使用foreach循环遍历二维数组中的每个子数组,并使用in_array函数来判断一维数组的值是否存在于子数组中。如果存在,则将存在标记设为true,并跳出循环。最后,根据存在标记的值来输出结果。如果存在标记为true,则表明一维数组的值存在于二维数组中;否则,表明一维数组的值不存在于二维数组中。 ### 回答3: 可以通过以下代码来实现判断一维数组的值是否存在于二维数组中: ```php <?php // 二维数组 $twoDimArray = array( array("apple", "banana", "cherry"), array("orange", "pear", "grape"), array("lemon", "kiwi", "melon") ); // 一维数组 $oneDimArray = array("pear", "watermelon", "banana"); // 判断一维数组的值是否存在于二维数组中 function isValueExists($value, $array){ foreach($array as $innerArray){ if(in_array($value, $innerArray)){ return true; } } return false; } // 遍历一维数组并判断 foreach($oneDimArray as $value){ if(isValueExists($value, $twoDimArray)){ echo $value . "存在于二维数组中!\n"; }else{ echo $value . "不存在于二维数组中!\n"; } } ?> ``` 以上代码中,我们定义了一个`isValueExists`函数来判断指定值是否存在于二维数组中。该函数使用`foreach`循环遍历二维数组中的每个内部数组,再使用`in_array`函数来判断一维数组的值是否存在于当前内部数组中。如果存在则返回`true`,否则返回`false`。 然后,我们定义了一个一维数组,通过遍历一维数组并调用`isValueExists`函数来判断每个值是否存在于二维数组中。最后根据返回结果输出相应的提示信息。 运行以上代码,输出结果类似于: ``` pear存在于二维数组中! watermelon不存在于二维数组中! banana存在于二维数组中! ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻不拉叽的Φ屌丝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值