| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 829 人关注过本帖
标题:数独游戏
只看楼主 加入收藏
lightarmor
Rank: 2
等 级:论坛游民
帖 子:6
专家分:18
注 册:2021-11-8
结帖率:0
收藏
已结贴  问题点数:30 回复次数:2 
数独游戏
写一个数独游戏的代码,但是没啥思路。
用户能通过输入坐标来填充想写的数字(不是找数独答案的程序,是那种用户能玩的数独游戏代码), 想不出咋写,能不能帮忙写一个
目前只学到二维数组,求大佬帮忙
搜索更多相关主题的帖子: 数独 数字 游戏 用户 代码 
2021-12-05 06:58
lightarmor
Rank: 2
等 级:论坛游民
帖 子:6
专家分:18
注 册:2021-11-8
收藏
得分:0 
比如说一个9*9的大小里,该咋让电脑在几个随机格子里填充1~9范围的随机数
2021-12-05 07:03
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
收藏
得分:30 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void genSuDo()
{
    int i, j, k, a, b;
    static int array[][9] = 
    {
        7,8,9, 3,1,4, 6,5,2,
        1,2,6, 8,7,5, 3,9,4,
        5,4,3, 2,9,6, 7,1,8,

        6,7,2, 1,5,3, 8,4,9,
        4,9,1, 7,6,8, 2,3,5,
        8,3,5, 4,2,9, 1,6,7,

        3,1,7, 9,4,2, 5,8,6,
        9,5,8, 6,3,7, 4,2,1,
        2,6,4, 5,8,1, 9,7,3
    };

    srand(time(0));

    for (k=0; k<5; k++)
    {
        a = (rand()%9) + 1;
        b = (rand()%9) + 1;
        for (i=0; i<9; i++)
        {
            for (j=0; j<9; j++)
            {
                if (array[i][j] == a)
                {
                    array[i][j] = b;
                }
                else if (array[i][j] == b)
                {
                    array[i][j] = a;
                }
            }
        }
    }

    a = rand()%3;
    b = (a+1+rand()%2)%3;
    for (i=0; i<3; i++)
    {
        for (j=0; j<9; j++)
        {
            array[a*3+i][j] ^= array[b*3+i][j];
            array[b*3+i][j] ^= array[a*3+i][j];
            array[a*3+i][j] ^= array[b*3+i][j];
        }
    }

    a = rand()%3;
    b = (a+1+rand()%2)%3;
    for (i=0; i<3; i++)
    {
        for (j=0; j<9; j++)
        {
            array[j][a*3+i] ^= array[j][b*3+i];
            array[j][b*3+i] ^= array[j][a*3+i];
            array[j][a*3+i] ^= array[j][b*3+i];
        }
    }

    for (i=0; i<9; i+=3)
    {
        a = rand()%3;
        b = (a+1+rand()%2)%3;
        for (j=0; j<9; j++)
        {
            array[i+a][j] ^= array[i+b][j];
            array[i+b][j] ^= array[i+a][j];
            array[i+a][j] ^= array[i+b][j];
        }
        a = rand()%3;
        b = (a+1+rand()%2)%3;
        for (j=0; j<9; j++)
        {
            array[j][i+a] ^= array[j][i+b];
            array[j][i+b] ^= array[j][i+a];
            array[j][i+a] ^= array[j][i+b];
        }
    }

    for (i=0; i<9; i++)
    {
        for (j=0; j<9; j++)
        {
            if (rand()%2 == 0)
            {
                printf("_ ");
            }
            else
            {
                printf("%d ", array[i][j]);
            }
        }
        printf("\n");
    }

    printf("\n\n");
}
void main()
{
    genSuDo();
}
2021-12-06 12:54
快速回复:数独游戏
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016417 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved