“论解不了数独所以选择做个数独游戏这件事”

小明在尝试解数独时遇到困难,转而使用Unity制作了一个数独游戏。通过随机填充算法实现初步功能,但在解决全空数独时遇到问题。为增加趣味性,他还加入了打草稿功能。最终成功完成游戏并分享了部分源代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一天,小明同学在津津有味的逛力扣网站的时候,惊喜的发现了一个看似非常好下手的题目(万恶之源 T T)。

  于是小明同学又津津有味的写了解题思路。

像往常一样打开了Unity准备开始做。

。(画UI)

。。(写脚本,使用不停产生1~9的随机数的办法,往一个一个空填,来达到解数独的目的)

。。。(挂组件)

好耶。

测试环节:

1个空测试(没问题)

2个空填随机数(没问题)

81个空(没反应)

也许Untiy前端程序员最怕的不是满屏的报错,而是代码没问题,引擎设置也没问题,但是跑不起来。(核心算法逻辑出错 T T)

于是乎,在某一次冥思苦想怎么解数独的时候,一拍大腿,为啥俺不能做个数独游戏,这不简单多了(— —)。

所以他来了。既然咱解不了数独就做个数独游戏自己解吧(迷之自信)。

成功解数独:

 失败解数独:

打草稿功能:(因为发现我们平常在想完成数独的时候,总是习惯使用一草稿张来验算,而市面上大多软件都没有,我就加入了这个功能,也勉强算是一种创新吧)

 部分源代码:

Sudoke类:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;

public class Sudoke : MonoBehaviour
{
    public GameObject[] AllGrid;//全部格子
    public GameObject m_Panel;
    public GameObject m_RawImage;
    public GameObject m_Paper;
    public GameObject m_Paper_1;
    public GameObject tici;//题次
    public Button m_SolveBtn;//解数独按钮
    public Button Paper;//纸按钮
   
    
    [Header("格子的值")]
    public List<string> GridValue = new List<string>();
    public bool canWrite;


     [SerializeField]
    private char[] SudokeAllNum;//全部的数
    private GameObject m_Grid;   
    private string m_GridValue;//格子的值
    private string randomNum;
    
    public void Awake()
    {
        tici.GetComponent<Text>().text = "第1题";
        SetGridValue();
        m_SolveBtn.onC
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值