前景:数独游戏,是一种数学智力拼图游戏,是“独立的数字游戏”的简称,源自18世纪末的瑞士,后在美国发展,在日本得以发扬光大。

数独游戏可以训练玩家的逻辑推理能力,不少教育者皆认为数独是锻炼脑筋的好方法。

然而如何制作出这个游戏?首先要了解它的规则:

1.游戏会从一个部分带有数字的九宫格开始。 在9×9的大九宫格(即3格宽×3格高)方阵里,每一格又细分为一个小九宫格。

2.游戏开始,已给定若干数字,其它宫位留白,玩家需要自己按照逻辑推敲出剩下的空格里是什么数字。

3.填数字时必须满足以下条件:在空白的小格子里填上1~9中的数字,使得每个数字在“九宫格”的每行、每列、每个小九宫格中均只出现一次。

数独的数字排列方式千变万化,玩法逻辑简单,每个数独游戏的解答方案都是独一无二的。

制作过程:首先明白数独是分为3*3的9个大宫格,然后9个大宫格里面再分3*3的小宫格,这个就是数独表,然后就在排列数字在里面,我设置的为500*500的大小,

但是怕玩家不习惯,所以设置的可以自由调整大小的功能,即为可以自由拉缩窗口,表格就会跟着其变化。

我选择使用2个图,一个是根据遍历算法随机排列出一份数独表,这里我称为答案吧,另外一个是把大部分数字隐藏,仅显示部分数字的数独表,这里称为游戏表吧。

然而玩家只能看到游戏边,答案表是被隐藏在下面的,其中显示的数字背景色为灰色,并且是不能修改的,然而白色背景色的格子是允许填充数字的,然而,在游戏表上面填的数字,也许与答案的不一样,

但是因为便历算法,在判断行,列,每个大宫格,符合条件没有相同数字都算符合,反正答案只有一个,满足游戏的本性,让玩家自己探索,直达出现相同数字,即为错误,随即

不能再次输入数字了,但是没有出现游戏结束的提示,因为游戏还是要继续的。只有知道所有格子都填充完,并且没有出现错误,游戏表就会和答案表相比较,其实一般都是正确的了,随即就会弹出通关成功的提示。

困难与解决:因为数独游戏的核心代码很多,我的代码大部分也是参考网上得来的,其中有个比较麻烦的是没有办法调整出多一个界面,原本是想像制作五子棋一样,制作2个界面,一个为大界面,另外一个就是数独界面,在数独界面外,有选择按钮,比如“重置游戏”、“退出游戏”、“查看答案”、“难度”等。可是我在最初制作界面时候选择的语句就是界面的3*3平均分配的语句,如果要改,可能就是需要把游戏界面填充在大界面,由于时间问题,没有去实现。

还有比较多的问题是理解网上代码的用法吧,因为数独的核心代码都是遍历算法判断是否正确,先设定好的答案,再根据显示的数字去不断判断填的数字是否正确而已,主要是理解该实现的思想。

体会:其实很多游戏的开发都必须要详细的分析和明确目标,因为在制作途中,你会发现,困难不可怕,可怕的是突发奇想的东西,往往你会想实现这些东西的时候,你会发现很难去调整你当初制作的方向和目标,拿数独游戏来做比如吧,制作出来并不难,根据网上的参考还有自己Java的知识,融合在一起就能实现了,但是麻烦的是,你想多点新玩法,你就会牺牲很多东西的,有可能是和自己的目标冲突,所以,在制定好目标时候,应该先去实现了,在去找第二个目标,不然两头都无法到岸,只会活在瓶颈中。

转载于:https://www.cnblogs.com/mac54321/p/4836870.html

数独游戏的设计与实现相关推荐

  1. 《数独游戏的设计与实现》

    数独游戏的设计与实现 一.数独游戏简介 数独游戏,是一种数学智力拼图游戏,是"独立的数字游戏"的简称,源自18世纪末的瑞士,后在美国发展,在日本得以发扬光大. 数独游戏可以训练玩家 ...

  2. 基于Python的数独游戏的设计与实现

    源码获取:https://www.bilibili.com/video/BV1Ne4y1g7dC/ 基于Python的数独游戏的设计与实现

  3. MATLAB数独||MATLAB入门项目——数独游戏的设计与实现及简易求解算法

    此项目适合作为MATLAB入门练习用,能够对MATLAB的部分功能(GUI,神经网络工具箱等)进一步的熟悉,和加深对于代码逐句解释优势的感受.文章改自本人课设报告,若有具体实现问题欢迎与我交流~ 游戏 ...

  4. Maltab GUI课程设计——数独游戏

    文章目录 课程设计 平台:Matlab App designer 功能实现:数独游戏的创建与运行 目的: 演示: 代码示例: 欢迎交流 课程设计 平台:Matlab App designer 功能实现 ...

  5. 怎样设计解开数独游戏

    很早之前大概是2014年的时候,我用WPF就是C#啦,写了一个数独游戏,那时之所以有这个想法,主要还是因为更早之前玩数独游戏时基本没有把题目解出,有点小受伤,但本葛葛毕竟是程序员啊,我解不出,可以用程 ...

  6. 基于Python的数独游戏设计与实现 课程文档+任务书+项目源码

    目录 数独游戏 1 需求分析 1 解题思路 2 生成数独 2 每行单元格包含整数1到9,且每个数恰好出现一次. 2 每列单元格包含整数1到9,且每个数恰好出现一次. 2 每个3×3的宫包含整数1到9, ...

  7. 小伙子利用C++设计出最难的“数独游戏”,让C++重回巅峰!

    求解数独,包括了数独所有解和舞蹈链的源码文件,源码主要是数独求解(舞蹈链算法)由于回朔法易于理解,不做具体介绍(便于求出所有可行解),本次仅具体介绍舞蹈链算法. 程序设计采用了数组代替十字交叉链表.主 ...

  8. 数独游戏设计(草稿)

    一.游戏功能 1.数独的九宫格的基本玩法. 2.用户可上传数独题目. 二.解决方案 1.数独的九宫格的基本玩法 九宫格:由50X50的方格,和粗细不同的两根线组成.方格被选中时,要呈现不同的状态. 数 ...

  9. python数独游戏源代码100行_python实现解数独程序代码

    偶然发现linux系统附带的一个数独游戏,打开玩了几把.无奈是个数独菜鸟,以前没玩过,根本就走不出几步就一团浆糊了. 于是就打算借助计算机的强大运算力来暴力解数独,还是很有乐趣的. 下面就记录一下我写 ...

  10. 2014/School_C_C++_A/6/“数独”游戏

    你一定听说过"数独"游戏. 如[图1.png],玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列.每一个同色九宫内的数字均含1-9,不重复. 数独 ...

最新文章

  1. 给程序员的几条建议,精彩配图!
  2. 反思成长:强压得以透彻
  3. linux时间配置文件,linux系统下的时间配置综述
  4. linux双网卡端口聚合,Linux双网卡聚合改造
  5. 4_less中带参数混合
  6. mysql创建临时表 主键_MySQL中临时表的基本创建与使用教程
  7. linux系统剪切,Linux 系统裁剪
  8. 软考-中级-网络工程师-2021年下半年-上午真题整理
  9. Django 优秀资源大全
  10. 前端的性能优化-笔记
  11. 机房动环监控系统厂家品牌
  12. android按键定义
  13. JS的onload事件
  14. 微信支付分(三)--完结支付分订单
  15. 字符映射表 charmap
  16. PostgreSQL 空间st_contains,st_within空间包含搜索优化 - 降IO和降CPU(bound box)
  17. python反恐精英基础版_python反恐精英
  18. (精)Tableau数据可视化设计 实验报告
  19. [原创]轻轻的,我走了,离开了这里,踏上了新的旅途
  20. ARM7中断处理过程、状态、嵌套

热门文章

  1. 二元函数偏导数公式_高等数学六:(3)复合函数与微分性质
  2. hdoj1297Children‘s Queue(递推+大数加法)
  3. ubuntu 导入mysql_Ubuntu16.04系统mysql命令导入导出sql文件
  4. python代码怎么样_python代码怎样清屏
  5. 翻译:如何理解K-means的缺点
  6. The evolved Transformer,进化的变换器
  7. 实操:SparrowRecsys的首次运行
  8. 220.存在重复元素III
  9. 编程实现strcpy函数
  10. Gephi绘制网络图初步探索