【鱼币】用 Scratch 做一个数独
本帖最后由 sfqxx 于 2023-8-9 21:02 编辑官方课程:
https://www.bilibili.com/video/BV1Ks411G7WW
【鱼币】用 Scratch 做一个数独
起因:
为什么我要做这一个数独呢?(其实还怪难得),因为:
**** Hidden Message *****
数独规则:
玩家需要根据9×9盘面上的
已知数字,推理出所有剩余
空格的数字,并满足每一行、
每一列、每一个粗线宫内的
数字均含1-9,不重复。
制作环节:
先来看看 zhangjinxuan 给的要求,咱们一个一个完成。
必须要求(达不到扣分,在 666 育碧里面扣,如果这一步扣完了就没有奖励了):
1. 必须是随机数独,可以根据用户要求来决定提示数数量。(-300育碧)
2. 支持候选数的功能,且与我的程序实现效果相同。(-300育碧)这个有点难完成
3. 可以计时,计时必须是分钟+秒数。(-50育碧)
4. 可以保证数独的基本游戏逻辑,数独必须有解。(-666育碧)
5. 当填数失败,要闪烁与其冲突的数字(可以参考 GIF)。(-200育碧)……
6. 高亮用户想要填充的数字(可以参考 GIF)。(-200育碧)……
7. 不同的宫格之间要有明显的分隔。(-30育碧)
8. 效率,3秒以内必须生成一个数独(允许开启加速)。(-500育碧)
自选要求(达不到会有折扣,最多扣100):
1. 成功会有窗口提示(可以参考 GIF)。(达成+50,达不到-20)
2. 在生成数独获取用户想要的提示数,建议做一个类似 Entry 的东西。(达成+50,达不到-10)不理解,所以……
3. 7/21 前完工。(达成+50,达不到-30)
加分要求(达到会加分):
1. 支持导出文件(加11451419198190育碧)…………
2. 满足生成的数独仅有唯一解。(加500育碧)
3. 可以支持用户自己造数独,且判断其有解性,唯一性。(加100育碧)因为7.21的原因,懒得完成
好,我们一个一个来完成
1. 必须是随机数独,可以根据用户要求来决定提示数数量。
我们可以创建一个角色,造型写上1—9,再随机生成即可
核心代码如下:
主打的就是随机{:10_256:}
2. 支持候选数的功能,且与我的程序实现效果相同。
这个懒得做,过{:10_333:}
3. 可以计时,计时必须是分钟+秒数。
很水,还是造型的问题,核心代码如下:
4. 可以保证数独的基本游戏逻辑,数独必须有解。(-666育碧)
一般情况下,数独是80%有解的,所以我们可以开几个列表,然后随机生成数字存放进去,最后随机挖空即可
由于代码过多,暂不展示,可以自己试玩一下
5. 当填数失败,要闪烁与其冲突的数字(可以参考 GIF)。(-200育碧)……
6. 高亮用户想要填充的数字(可以参考 GIF)。(-200育碧)……
以上 2 种情况本人似乎不会,(虽然我不知道我是怎么最后辩解成功的{:10_257:} )
7. 不同的宫格之间要有明显的分隔。(-30育碧)
太简单了,直接用一个角色画在那里就OK了{:10_256:}
8. 效率,3秒以内必须生成一个数独(允许开启加速)
zhangjinxuan,你知道开加速会怎么样嘛?原来1分钟才能完成的东西加速1秒OK{:10_257:}
所以我们正常生成即可
可代码量还是太多,放一下部分代码{:10_333:}
终于做完了,清算一下还剩多少鱼币,emmmmmmmmmm……,仅剩66了{:10_266:} {:10_266:}
其实后来我又完成了一个条件,加了100{:10_256:}
自选要求(达不到会有折扣,最多扣100)
1. 成功会有窗口提示(可以参考 GIF)。(达成+50,达不到-20)
这种情况嘛……因为他要求必须是窗口,用 Scratch 自带的模块做起来有亿点点难,所以我们直接用一个角色代替即可
核心代码:
2. 满足生成的数独仅有唯一解。(加500育碧)
因为我查了资料,数独一般很少有第 2 解,所以一番辩论后{:10_250:} ,我也是博得了一些鱼币{:10_256:}
3. 可以支持用户自己造数独,且判断其有解性,唯一性。
我不会,过{:10_266:}
综上,我一共获得了,400-50=350(鱼币){:10_298:}
虽然没有完美的完成,但是我也要证明,Scratch就是一个好用的编程语言{:10_256:}
**** Hidden Message *****
结束语:
最后,一个数独游戏就从我们手中诞生了{:10_298:}
希望大家能够借对 Scratch 有更多的了解!特别是不服气的人
至此,就全部结束了,最后,你评分了吗{:10_256:}
初级鱼油请评 1鱼币 1 荣誉{:10_254:}
中级鱼油请评 2 鱼币 2 荣誉{:10_254:}
高级鱼油请评 5 鱼币 5 荣誉{:10_254:}
VIP大佬请评 5鱼币 5荣誉 3 贡献{:10_254:}
管理人员求5 鱼币 5 荣誉 5 贡献{:10_254:}
其他的请评5荣誉 5鱼币,能评贡献的一定要评哦,谢谢啦{:10_254:}
求评分,你们的认可就是我写下去的动力{:10_254:} 各位VIP大佬请给5荣誉3贡献哦{:10_254:}{:10_281:} 这个懒得做,过
说具体点就是不会做呗{:10_256:}
我感觉你的算法非常神奇,感觉不是很对,但是又很神奇。
你能简述一下你的算法吗,并且证明一下。 你都承认了有些完成不了,我给你 400 鱼币只是让你感受一下我的慷慨{:10_256:}
声明:因为 sfqxx 的数独有些条件都没有达到,我原本是不想给他鱼币的,但是看他这么努力我就给了{:10_256:} 我不会 Scratch,你能给我解释一下你的算法的证明吗,或者提供算法简述?
就是你这个算法为什么是对的。 不错,已评分 zhangjinxuan 发表于 2023-7-22 13:23
我不会 Scratch,你能给我解释一下你的算法的证明吗,或者提供算法简述?
就是你这个算法为什么是对的。
不要 歌者文明清理员 发表于 2023-7-22 13:24
不错,已评分
没有啊??? 我上学期大作业是选择做数独或者八皇后,我选了八皇后 币 @isdkz @python爱好者. @Mike_python小 @陶远航 @开心老六 @夏季的春秋 @中英文泡椒 歌者文明清理员 发表于 2023-7-22 13:31
币
请评分{:10_254:}{:10_254:}我都给你评过 5 5 《此帖仅作者可见》
币1 看看 5 5 5