excel版数独游戏(已完成)
前段时间一个朋友帮那小孩解数独游戏,让我帮解,我看他用电子表格做,只能显示,不能显示重复,也没有协助解题功能,于是我说帮你做个电子表格版的“解题助手”吧,不能直接解题,但该有的辅助功能都有。于是花了两天时间,用excel的宏功能做了一个,分享出来,有爱好者可下载玩玩。
主要功能:
1、编辑数独题目,辅助解题。
2、内置100道数独题目,跟其他数独游戏一样。
下面简单介绍一下这个小游戏。
界面说明:
功能和功能与市场上一般的数独游戏没什么差别,只是多了一个自定义题目的功能,这个功能很多游戏都没有。内置题目没有答案,所以不会告诉解法对不对,其实也能做,懒的做。下面把这个游戏功能和实现方法简单讲一下。
题目显示区:这个没什么好说的,就是题目显示和解题操作区。
编辑操作区:由于要实现自定义题目,所以要有编辑功能,但在编辑的时候所有填写的数字是黑色,解题的时候显示红色,因为没有答案所以必须区分哪些是原内容,哪些是你填写的内容。所以编辑的时候要点击“编辑解锁”,才可以编辑。题目编辑完成后点击“编辑锁定”,已填写的内容为黑色且不可修改,可填写区域字体为红色。“重玩”就是把所有解题填写的内容清空,已输入的题目不动。“清空”就是把所有内容全部删除,并进入题目编辑状态。
功能实现:
锁定编辑:就是利用宏实现了电子表格的锁定功能,让编辑题目已填写的内容不可修改。
代码:
Sub 对工作表保护()Dim rng As RangeDim cell As RangeSheets(1).UnprotectSheets(1).Cells.Locked = FalseFor Each cell In Range("B2:J10")If cell.value <> "" And cell.Font.Color = vbBlack Thencell.Locked = TrueElsecell.Font.Color = vbRedEnd IfNext'Range("k11:l11").Locked = True'Range("b11:j11").Font.Color = vbRedRange("b11:o11").Locked = TrueSheets(1).Protect
End Sub
编辑解锁:点击后可编辑所有单元格,这个功能可用于修改编辑错误的内容。代码很简单。
Sub 解锁()Sheets(1).UnprotectSheets(1).Cells.Locked = FalseEnd Sub
重玩:就是将题目原有单元格保留,删除已填写内容。
Sub 重玩()Dim 选择 As VbMsgBoxResultDim rng As RangeDim cell As Range选择 = MsgBox("重玩将删除所有已解部分?", vbInformation + vbYesNo, "警告")If 选择 = vbYes ThenCall 解锁For Each cell In Range("B2:J10")If cell.Font.Color = vbRed Thencell.ClearContentscell.Interior.Color = vbWhiteElsecell.Interior.Color = vbWhitecell.Locked = TrueEnd IfNextEnd IfRange("b11:j11").Font.Color = vbRedSheets(1).Protect
End Sub
清空:清空所有内容,可重新编辑。
Sub 清空()Dim 选择 As VbMsgBoxResult选择 = MsgBox("清空所有内容,无法恢复,确定?", vbInformation + vbYesNo, "清空警告")If 选择 = vbYes ThenSheets(1).UnprotectSheets(1).Cells.Locked = FalseRange("b2:j10").ClearContentsRange("b2:j10").Font.Size = 18Range("b2:j10").Font.Color = vbBlackCells.Interior.Color = vbWhiteEnd IfRange("b11:j11").Font.Color = vbRedEnd Sub
填写操作区:这个就是点击单元格后,要在该单元格填写的数字,这里面每个数字功能类似。
Sub 填3()Dim selectedRange As RangeSet selectedRange = SelectionselectedRange.value = 3Call 完成弹窗
End Sub
辅助显示区:这个功能是点击题目上有单元格后,在题目内所有的该数字都会显示出来,起到辅助判定的目的,就像最上面的图,点击1后,题目内所有的1背景色都改为线蓝色。
Sub 查找2()Dim rng As RangeDim cell As RangeCall 解锁count = 0Range("B2:J10").Interior.Color = vbWhiteFor Each cell In Range("B2:J10")If cell.value = "2" Thencell.Interior.Color = vbCyancount = count + 1End IfNextIf count = 9 ThenRange("c11").Font.Color = vbWhiteEnd IfCall 对工作表保护
End Sub
完成显示区:如果哪个数字已经全部填写完成,该数字会消失。如图,所有的9个1都找到,1就不再显示。
该功能的实现是通过点击辅助显示区内的数字实现的,代码也在里面。
还有其他很多宏代码,不一一展示,需要的可自行下载研究。比较麻烦的是查重功能,就是如果同一行列宫内有数字重复,则提示,我没写出来,是通过录制宏后,研究代码后改写的。
下载链接:
https://download.csdn.net/download/kim5659/90021131
相关文章:

excel版数独游戏(已完成)
前段时间一个朋友帮那小孩解数独游戏,让我帮解,我看他用电子表格做,只能显示,不能显示重复,也没有协助解题功能,于是我说帮你做个电子表格版的“解题助手”吧,不能直接解题,但该有的…...

接口上传视频和oss直传视频到阿里云组件
接口视频上传 <template><div class"component-upload-video"><el-uploadclass"avatar-uploader":action"uploadImgUrl":on-progress"uploadVideoProcess":on-success"handleUploadSuccess":limit"lim…...

Arcgis 地图制作
地图如下,不同历史时期:...
【每日一题1121】python校招笔试题、面试题
1、Python字符串不是通过NUL或者’\0’来结束的 C语言中字符串使用’\0’作为结束符,以防止越界。但是在python中,字符串值只包含所定义的东西。 2、执行以下程序,输出结果为() class Base(object):count 0def __in…...

Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
Spring Boot Vue 基于 RSA 的用户身份认证加密机制实现 什么是RSA?安全需求介绍前后端交互流程前端使用 RSA 加密密码安装 jsencrypt库实现敏感信息加密 服务器端生成RSA的公私钥文件Windows环境 生成rsa的公私钥文件Linux环境 生成rsa的公私钥文件 后端代码实现返…...

Docker搭建有UI的私有镜像仓库
Docker搭建有UI的私有镜像仓库 一、使用这个docker-compose.yml文件: version: 3services:registry-ui:image: joxit/docker-registry-ui:2.5.7-debianrestart: alwaysports:- 81:80environment:- SINGLE_REGISTRYtrue- REGISTRY_TITLEAtt Docker Registry UI- DE…...
Qt打开文件对话框选择文件之后弹出两次
项目场景: 在 Qt 中,使用 ui 自动生成的 UI 文件会为每个控件自动生成一些默认的槽函数。如果您手动创建的槽函数名称与这些自动生成的槽函数名称相同,就会导致信号被多次连接,从而引发多次弹出文件对话框的问题。 原因分析&…...
【JAVA】正则表达式中的正向肯定预查
在Java中,正向肯定预查(Positive Lookahead)是一种正则表达式的高级特性,用于在匹配某个模式之前检查某个条件是否满足。正向肯定预查不会消耗字符,也就是说,它不会将匹配的字符从剩余的字符串中移除&#…...
django从入门到实战(一)——路由的编写规则与使用
Django 路由的编写规则与使用 在 Django 中,路由(URLconf)是将 URL 映射到视图函数的机制。它允许我们定义网站的 URL 结构,并将请求分发到相应的处理函数。以下是关于 Django 路由的定义规则及使用的详细介绍。 1. Django 的路…...
vue框架开发的前端项目,build和package的区别
在使用 Vue 框架开发前端项目时,build 和 package 是两个常见的操作,它们有不同的目的和作用。下面是它们的区别: 1. Build(构建) build 是将前端源代码(如 Vue 组件、JavaScript 文件、CSS 样式等&#…...

视频智能分析软件LiteAIServer摄像机实时接入分析平台噪声监测算法介绍
在视频监控领域,噪声问题一直是一个令人头疼的难题。无论是低光环境、摄像机传感器的高灵敏度,还是编码压缩过程中的失真,都可能导致视频中出现噪声,从而影响监控画面的清晰度和准确性。这些噪声不仅降低了视频的可读性࿰…...

鸿蒙UI开发与部分布局
UI开发 1. 布局概述 1.1 开发流程 1.先确定开发流程 -> 2.分析页面元素构成 ->3.选用合适的布局容器组件 1.3 布局元素组成:盒模型 2.1 布局分类 2.1 线性布局 线性布局是开发中最常用、最基础的布局,通过线性容器Row和Column构建 2.1.1 线性布…...
redis的map底层数据结构 分别什么时候使用哈希表(Hash Table)和压缩列表(ZipList)
在Redis中,Hash数据类型的底层数据结构可以是压缩列表(ZipList)或者哈希表(HashTable)。这两种结构的使用取决于特定的条件: 1. **使用ZipList的条件**: - 当Hash中的数据项(即f…...

css水平居中+垂直居中
display:“flex”,position: “absolute”,top:“50%”,left:“50%”,transform: ‘translate(-50%, -50%)’...

设计模式之 组合模式
组合模式(Composite Pattern)是一种结构型设计模式,它通过将对象组合成树形结构来表示“部分-整体”层次。组合模式允许客户端统一处理单个对象和对象集合。换句话说,组合模式让客户端可以像处理单个对象一样处理对象的集合&#…...

LCR 001 两数相除
一.题目: . - 力扣(LeetCode) 二.原始解法-超时: class Solution: def divide(self, a: int, b: int) -> int: # 1)分析: # 除法计算,不能使用除法符号,可以理解为实现除法 # 除法…...

数据库、数据仓库、数据湖、数据中台、湖仓一体的概念和区别
数据库、数据仓库、数据湖、数据中台和湖仓一体是数据管理和分析领域的不同概念,各自有不同的特点和应用场景。以下是它们的主要区别: 1. 数据库(Database) 定义:结构化的数据存储系统,用于高效地存储、检…...
vue 的生命周期函数
Vue 生命周期函数(生命周期钩子)是 Vue 实例从创建到销毁过程中,不同阶段所触发的特定函数。理解这些生命周期函数对于开发 Vue 应用至关重要,因为它们让你在不同的生命周期阶段执行代码,比如数据初始化、DOM 渲染完成…...

单片机UART协议相关知识
概念 UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器) 是一种 异步 串行 全双工 通信协议,用于设备一对一进行数据传输,只需要两根线(TX,RX)。 异步&…...
【操作系统不挂科】<CPU调度(13)>选择题(带答案与解析)
前言 大家好吖,欢迎来到 YY 滴 操作系统不挂科 系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 本博客主要内容,收纳了一部门基本的操作系统题目,供yy应对期中考试复习。大家可以参考 本章为选择题题库,试…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...