有一天,小明同学在津津有味的逛力扣网站的时候,惊喜的发现了一个看似非常好下手的题目(万恶之源 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