GithubHelp home page GithubHelp logo

sudokuin2014's Introduction

这是用python语言写的一个数独游戏和求解器的程序

    说明:数独为一种智力游戏,需要在9*9格子内填入1~9这9个数字,使每一行、每一列、每个宫内数字都不重复(宫为深色边框围起来的九格)

运行环境 python 2.7 ,使用python自带模块,无需添加第三方模块

Main.py为主函数,运行该文件以启动程序

该程序有两大模式:

  电脑求解数独(以下记为模式一)与电脑产生数独难题以供使用者玩(以下记为模式二)
  在游戏运行时右上角可以切换这两个模式

  注意:模式一与模式二相互切换时会删除左边数独的所有数字

功能介绍:

    (1)模式一:使用者提供数独难题而电脑帮忙解决。注意:若使用者提供的数独题目有多解,则电脑只会显示其中一解。

    (2)模式二:选定难度后(默认为简单难度),电脑会根据该难度随机产生一个数独难题(保证只有一解),供使用者解数独。

    (3)显示错误与否:若选择显示错误,使用者在解数独时,错误的填数会显示为红色。

    (4)难度选择:将数独分成简单,中等,困难,骨灰四类,难度依次增大,以满足不同需求的使用者。(该选择框只在模式二下有用)

    (5)自定义按钮及其附属三个按钮(初始化、确定、撤销):

        ① 自定义:用于自定义锯齿数独,按下按钮后会擦去九宫格中间的边界线,供使用者重新画边界线而产生锯齿数独。(注意:锯齿数独必须满足仍为九个九宫,每个宫必须连通。自定义阶段不可在数独中填数)

        ②初始化:自定义过程后自定义后可使用,使用后恢复为原始的数独(九宫为3*3)

        ③确定:自定义过程可使用,以确定你所做的修改,开始锯齿数独游戏

        ④撤销:自定义过程可使用,删除前一步所画的边界

    (6)开始按钮:用于生成随机数独,保证只有一解。(该按钮只在模式二下有用)

    (7)求解按钮:解出左边数独,并显示于其中

    (8)清除按钮:删除左边数独的所有数字

    (9)打开按钮:打开曾保存过的数独

    (10)保存按钮:保存未完成的数独

    (11)提交按钮:做完数独后可按提交按钮,以判断数独是否正确(主要提供于不显示错误模式下使用)

    (12)离开按钮:退出游戏

    说明:电脑产生的题目显示为蓝色,用户输入则显示为黑色,在数独中填数前需先点击该格子。

sudokuin2014's People

Contributors

chentanyi avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.