- 博客(39)
- 资源 (7)
- 收藏
- 关注
原创 JavaScript | 数独游戏核心算法实现
本文系统介绍了数独求解算法的JavaScript实现,从基础规则到高级算法。标准数独是一个9×9网格,需满足每行、列和3×3宫内数字1-9不重复。核心数据结构采用Cell对象存储值和候选值,SudokuGrid类提供网格操作接口,包括获取同行、同列、同宫单元格等方法。关键算法包括候选值计算和约束传播,通过遍历网格更新候选值列表。代码示例展示了如何初始化网格、更新候选值以及检查约束条件,为构建完整求解器奠定基础。
2026-04-28 10:55:06
327
原创 HTML | 基于权重评估算法实现自动游戏功能的俄罗斯方块小游戏
本文分享了一个基于权重评估的俄罗斯方块AI算法实现。该AI采用Colin Fahey的经典评估方法,通过6个关键指标(堆叠高度、完整行数、行/列转换数、空洞数量、井深总和)加权计算每个落点的得分,选择最优位置。实测表明,该算法能稳定消除1000行以上,达到专业玩家水平。项目采用纯前端技术(HTML5 Canvas + JavaScript)实现,支持手动和AI自动两种游戏模式。核心算法通过枚举所有可能的旋转状态和水平位置,模拟落点后计算评估得分,最终执行最优决策。
2026-04-02 10:29:34
793
原创 Vue + Leaflet 实现地图任意点位点击查看时间功能
本文将详细介绍如何在 Vue3 项目中集成 Leaflet 地图库,并实现点击地图任意位置显示当前时间的功能。通过本教程,你将掌握 Leaflet 的基本使用方法以及地图交互功能的开发技巧。
2026-04-01 16:29:11
393
原创 Vue3 + Vite 项目实现页面离开时取消所有未完成请求
本文探讨了在Vue3+Vite项目中优雅取消未完成请求的解决方案。针对页面切换时资源浪费、状态污染等问题,分析了几种技术方案:基于Axios的CancelToken(已废弃)、Fetch API的AbortController(推荐)和自定义请求管理器。重点介绍了两种实现方案:一是封装支持AbortController的axios实例,创建可取消请求方法;二是利用Vue3组合式API构建请求管理器,在组件卸载时自动取消所有请求。文章提供了完整的代码示例,包括axios实例封装、请求拦截器处理等。
2026-04-01 10:02:24
380
原创 Vue3 + Vite + Element Plus 项目实现主题色切换
本文详细介绍了在Vue3+Vite+Element Plus项目中实现主题切换功能的方法。首先讲解了Element Plus基于CSS变量的主题定制原理,然后通过项目初始化、依赖安装等步骤搭建基础环境。重点阐述了基于CSS变量的动态主题切换方案,包括创建主题变量文件、配置Vite构建工具等具体实现。该方案通过预设多套CSS变量主题,动态切换根元素类名实现主题变更,具有性能优秀、实现简单的特点。
2026-03-31 19:17:17
637
原创 vue3 + vue3-print-nb 插件实现打印功能
本文详细介绍如何在Vue3项目中使用vue3-print-nb插件实现打印功能。该插件提供轻量级、易用的打印解决方案,支持整页打印、局部打印和URL打印三种模式。文章涵盖从安装配置到API使用的完整流程,包括全局/局部注册方法、基础使用示例以及详细的参数文档说明。插件优势包括体积小巧、操作简单、功能完备和高度可定制,适用于订单管理、报表输出等多种业务场景。
2026-03-31 18:58:16
606
原创 HTML | 结合Canvas开发具有智能寻路功能的贪吃蛇小游戏实战详解
本文介绍了一个具备智能寻路功能的贪吃蛇游戏开发过程。项目基于HTML5 Canvas和原生JavaScript实现,核心亮点是采用BFS寻路算法和启发式评分系统,使蛇能够自主规划最优路径。游戏支持手动/自动双模式切换,包含碰撞检测、分数记录等功能。在自动模式下,系统通过分层决策架构评估路径安全性、食物距离等多维度指标,确保蛇能安全觅食。关键技术包括:BFS最短路径搜索、移动后安全度计算、多策略评分机制等,解决了传统贪吃蛇AI容易陷入死胡同的问题。
2026-03-24 17:20:11
634
原创 Vue3 + Element Plus | el-table 多级表头表格导出 Excel(含合并单元格、单元格居中)第二版
本文介绍了一套基于Vue3+ElementPlus+xlsx的通用表格导出方案,能够完美处理多级表头、合并单元格和前端计算列等复杂场景。核心功能包括:1)自动解析表头层级结构,计算合并规则;2)支持自定义字段格式化处理;3)保持Excel样式与原表格一致。方案通过递归解析el-table的columns配置,结合xlsx-style-vite实现单元格样式调整,解决了传统导出方案无法还原复杂表格结构的问题。文中提供了完整的工具函数和组件实现代码,可直接应用于生产环境。
2026-02-25 09:47:24
733
1
原创 HTML | 简易水排序游戏求解器
本文介绍了一个水排序游戏求解器的优化过程。第一版存在性能问题,当杯子数量较多时会导致页面卡死,原因是A*算法在主线程同步运行时间过长。第二版通过以下改进显著提升了性能:1) 采用异步分片处理,将搜索过程拆分成小批次执行;2) 用最小堆(Min-Heap)替换低效的数组排序;3) 优化状态存储和哈希计算;4) 增加剪枝优化。此外还改进了UI交互,将颜色选择功能移至点击杯子底部方块,使页面更加紧凑。该求解器支持14个杯子的复杂关卡,通过可视化步骤和自动播放功能帮助用户理解解决方案。
2026-02-13 09:25:02
205
原创 vue3 + vite 使用xlsx-style插件报错问题
Vue3+Vite项目使用xlsx-style报错解决方案:改用xlsx-style-vite插件实现Excel导出功能,支持多级表头、合并单元格及单元格居中样式。文章提供完整实现代码,满足类似el-table表格导出需求。
2026-02-10 14:15:24
51
原创 Vue3 + Element Plus | el-table多级表头表格导出Excel(含合并单元格、单元格居中)
本文提出了一种基于Vue3+ElementPlus+xlsx-style-vite的多级表头Excel导出方案,解决了表头结构映射、单元格合并和样式控制三大痛点。方案采用递归算法将树形表头转为二维数组,通过xlsx-style-vite实现样式控制,并精确计算合并区域坐标。关键点包括:表头深度计算、字段顺序映射、动态计算列处理以及s2ab二进制转换避免文件损坏。该方案已在生产环境验证,支持复杂嵌套表头导出,同时提供了性能优化和动态合并区域生成等改进方向。完整代码示例展示了从表头解析到文件导出的全流程实现。
2026-02-10 11:21:06
961
原创 关于如何查找两个正整数之间的所有完全平方数
本文介绍了两种查找区间内完全平方数的方法。基础方法通过循环计算平方值并判断是否在范围内,适用于较小数值。针对大数情况(15-19位),提出了优化方案:使用BigInt处理大数,通过二分查找计算平方根边界,确定需要检查的整数范围([ceil(√min),floor(√max)]),再生成符合条件的平方数。这种方法避免了暴力循环的效率问题,时间复杂度优化为O(logn)。文中提供了两种实现代码,并强调了处理大数时的精度问题和性能考量。
2025-12-30 10:19:07
176
原创 Vue3 + Element Plus | el-table 表格获取排序后的数据
本文介绍了在Vue2和Vue3中获取Element UI/Element Plus表格排序后数据的解决方案。Vue2方案通过this.$refs.tableRef.tableData获取排序后的数据,Vue3则使用tableRef.value.store.states._data.value访问内部状态数据。两种方案都提供了完整的示例代码,包含表格定义、排序事件处理和获取排序数据的方法。
2025-12-22 17:17:16
230
原创 转生成为丘丘人,靠吃日落果就能变强
讲述现代人林默意外转生为提瓦特大陆的变异丘丘人,在寻找七种日落果的过程中,逐渐揭开自己与永生者散兵的共生关系。从蒙德到璃月,他不断突破晶化体质,却在时空跳跃中发现自己是散兵分离出的人性面。深渊教团的追捕、骑士团的误解与仙人的指引交织,林默最终在尘歌壶内面临成为完全体或保留人性的抉择。故事以他融合七果之力、牺牲自我为终,留下人性本源果的伏笔,为提瓦特大陆埋下新的轮回种子。
2025-12-22 16:23:01
575
原创 Vue3 + Element Plus 表格滚动到指定行,支持不固定行高
本文介绍了在Vue3+ElementPlus项目中解决表格行高不一致时的精准滚动方法。通过获取表格的bodyWrapper元素和所有行元素,验证行索引有效性后,计算从顶部到目标行的累计高度,最后设置scrollTop属性实现精准定位。
2025-12-22 09:41:39
444
原创 阴阳师聊天字体颜色渐变生成器 | HTML代码
摘要:该HTML文件实现了一个阴阳师游戏聊天字体颜色生成器,可为每个字符随机生成不同颜色代码。用户输入文字后点击"生成颜色代码"按钮,系统会为每个字符分配随机颜色并生成格式为"#c[颜色代码]字符"的代码。用户可复制代码到游戏聊天框发送,实现逐字渐变效果。页面包含输入框、生成按钮、随机示例文本和代码显示区域,采用渐变背景和阴阳师风格UI设计,支持移动端适配。
2025-12-13 21:50:34
196
原创 关于感冒发烧应该喝白开水还是热奶茶引发的辩论
摘要:本文主张感冒发烧时饮用热奶茶比白开水更有益康复。奶茶能同时补充水分和能量,缓解发烧导致的消耗;温热特性和成分可舒缓咽喉肿痛、鼻塞等不适症状;其"情绪价值"能改善患者心情,增强康复信心。针对质疑,建议选择低糖或无咖啡因茶底,适量饮用。相比单一补水的白开水,奶茶兼顾生理和心理需求,是更优选择。
2025-11-28 16:08:13
320
原创 Vue3 + Echarts 实现自定义div图例,点击图例触发事件
本文展示了基于Vue3和ECharts实现的系统访问量数据可视化组件。组件包含日期选择器、柱状图/线形图组合展示区域及自定义图例控件,通过响应式数据绑定实现图表交互。详细解析了模板结构、数据初始化逻辑、ECharts配置及自定义样式实现,特别是实现了图例点击的动态切换功能。
2025-10-29 10:26:55
441
原创 Vue3 + Element Plus 实现前端手动分页
Vue3+ElementPlus实现分页功能的核心逻辑包括:使用allData存储完整数据,通过currentPage和pageSize计算当前页数据切片。关键实现要点:1.利用computed计算当前页数据;2.监听size-change和current-change事件;3.性能优化建议:大数据量时添加防抖或采用后端分页模式。
2025-10-29 09:36:17
442
原创 前端工程化必知!.editorConfig 配置全解析|跨编辑器代码规范终极方案|附Vue/React/TS实战配置
「.editorConfig」作为跨编辑器代码规范方案,深度解析其在前端工程化中的核心价值。本文提供Vue/React/TS多场景实战配置模板,详解编码/缩进/换行等关键参数,揭秘与Prettier/ESLint的黄金组合策略,并给出高频问题解决方案,助你5分钟实现团队代码风格大一统。
2025-03-09 11:59:00
679
原创 element-ui的表单重置方法resetFields()无效问题
<el-button type="primary" @click="handleAdd">新增</el-button><el-button size="mini" type="primary" @click="handleEdit(scope.row)"> <span class="el-icon-edit"></span>编辑</el-button><el-dialog title="系统维..
2021-01-28 18:56:11
671
1
原创 VSCode 使用Vetur对vue文件进行格式化
settings.json 配置代码{ "workbench.iconTheme": "material-icon-theme", // 指定工作台中使用的文件图标主题 "window.zoomLevel": 0, // 调整窗口的缩放级别,原始大小是 0 "editor.formatOnSave": true, // 在保存时格式化文件 "editor.tabSize": 2, // 一个制表符等于的空格数 "[jsonc]": { "editor.defaultFor.
2020-12-05 10:51:11
3659
原创 异星工厂0.16控制台代码
异星工厂0.16控制台代码1.生成8x8大小的煤矿/c local surface = game.players[1].surface;for y=-8,8 dofor x=-8,8 dosurface.create_entity({name="coal", amount=25000000, position={game.players[1].position.x+x, game.players[1].position.y+y}})endend2.获得物品/c game
2020-10-07 13:07:07
13832
转载 动态规划算法实现收益最大C++
#include <iostream>using namespace std;typedef struct{ float benefit; int A,B,C;}Allot;void AddChoice(Allot *Fx,float **temp,int stage,int n,float *fx[4]){ int i,j; for(i=0;i<=n;i...
2018-06-04 09:36:00
2237
转载 用贪心算法实现找零问题
#include<stdio.h>#include<math.h>int main(){ float sum=0,s,money[10]; int i=0,b; printf("请输入总金额:"); scanf("%f",&sum); printf("所给钱数:"); scanf("%f",&s);
2018-05-21 09:12:47
1494
转载 虚拟分页存储管理
#define TRUE 1#define FALSE 0#define INVALID -1#define NULL 0#define total_instruction 320 /*指令流长*/#define total_vp 32 /*虚页长*/#define clear_period ...
2018-05-09 10:52:38
960
1
转载 HorspoolMathcing字符串匹配
#include <stdio.h>#include <stdlib.h>#include <string.h>void function(char pattern[], int length, int table[]){ int x; for (x=0; x<26; ++x) table[x]=length; ...
2018-05-07 09:01:33
215
转载 0-1背包问题
#include<stdio.h>#include<stdlib.h>typedef enum //向量数组 {false,true}bool;int c[15][25]; bool x[25];int knapsack(int m,int n,int *w,int *p){ bool a;int i,j; for(i=1;i<=n;i++) ...
2018-04-23 09:30:55
231
转载 最长公共子序列C语言代码
#include<stdio.h> #include<string.h> int c[200][200]; //用c[i][j]记录X[i]与Y[j] 的LCS 的长度 int b[200][200]; //b[i][j]记录c[i][j]是通过哪一个子问题的值求得的,以决定搜索的方向 char f[200]; /*------------------...
2018-04-21 12:46:05
5949
【纯HTML实现】扫雷游戏(分初级、中级、高级难度)
2026-02-05
Windows及macOS系统下Git安装与环境配置教程
2026-02-05
Eclipse+Jsp+MySQL/Oracle 模拟酷狗官网
2020-06-09
flower.zip
2020-06-09
抖音很火的动态表白源码
2020-06-09
Jsp+ajax 在线聊天室
2020-06-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅