JS常用库
js常用库
计时器
setTimeout(func, delay)
delay毫秒后,执行函数func
clearTimeout()
关闭计时器,例如:
12345let timeout_id = setTimeout(() => { console.log("Hello World!")}, 2000); // 2秒后在控制台输出"Hello World"clearTimeout(timeout_id); // 清除定时器
setInterval(func, delay)
每隔delay毫秒,执行一次函数func
clearInterval()
12345let interval_id = setInterval(() => { console.log("Hello World!")}, 2000); // 每隔2秒,输出一次"Hello World"clearInterval(interval_id); // 清除周期执 ...
Jquery常用
jQuery常用
选择器
$(selector)$,例如:
1234$('div');$('.big-div');$('div > p');let $DIV = $(`div`);
用法和CSS选择器差不多
事件
$(selector).on(event, func)绑定事件
123$('div').on('click', function (e) { console.log("click div");})
$(selector).off(event, func)删除事件
12345$('div').on('click', function (e) { console.log("click div"); $('div').off('click');});
当存在多个相同类型的事件触发函数时,可以通过 ...
JS常用语法
JavaScript常用语法
JS的调用方式
直接在<script type="module"></script>标签内些JS代码
引入文件<script type="module" src="/static/js/index.js"></script>
将所需的代码通过import关键字引入到当前作用域
示例:
12345678910let name = "acwing";function print() { console.log("Hello World!");}export { name, print}
123456<script type="module"> import { name, print } from "/static/js/index.js"; console.log( ...
git常用命令
git命令分类整理
全局设置
git config --global user.name xxx 设置全局用户名,信息记录在 ~/.gitconfig文件中
git config --global user.email xxx@xxx.com 设置全局邮箱地址,信息记录在~/.gitconfig文件中
git init 将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中
常用命令
git add XX 将XX文件添加到暂存区
git commit -m “备注” 将暂存区的内容提交到当前分支
git status 查看仓库状态
git push -u (第一次需要-u以后不需要) 将当前分支推送到远程仓库
git log 查看当前分支的所有版本
git clone git@git.acwing.com:xxx/XXX.git 将远程仓库XXX下载到当前目录下
git branch 查看所有分支和当前所有分支
git remote rm origin 删除原来的origin
查看命令
git diff XX 查看XX文件相对于暂存区修改了哪些内容 ...
模拟退火解决tsp问题
模拟退火
规定函数f(x)f(x)f(x)为所求问题所需的成本代价函数,选取合适的x使得成本代价尽可能小。
一般来说,函数图像具有一定的连续性。对于某一个局部区域,左右邻域的值相对于当前选取的方案来说不会差距太大。可以利用该性质,优化一下搜索的方法。
概念
温度T:相当于步长,区间范围的这么一个概念。温度越大,对于当前选择的点来说,考虑的邻域的范围就越大。温度是一个不断降低的过程,每次随机的区间都会不断缩小。最终,温度会收敛到一个最低值,所选的点也就固定住了。
初始温度T0T_0T0:一开始的温度
终止温度TET_ETE:最后的温度。下降到该温度后程序结束。
衰减系数kkk:T′=T×kT_{}'=T \times kT′=T×k 。衰减系数k可以规定温度衰减的形式,可以是线性衰减,也可以是指数衰减。范围一般取(0,1)。衰减系数越接近于1,温度衰减的越慢,找到最优解的可能性就越大。
过程
以下内容摘抄于oi-wiki
Quote / 参考
模拟退火时我们有三个参数:初始温度 T0T_{0}T0,降温系数 d,终止温度 TkT_{k}Tk。其中T0 ...
tsp介绍
旅行商问题
简介
旅行商问题(简称TSP问题)是这样描述的:
一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。应如何选择行进路线,以使总的行程最短。这是一个非常经典的组合优化问题。由于其在交通运输,电路板线路设计以及物流配送等领域内有着广泛的应用,国内外学者对其进行了大量的研究。
问题分析
从图论的角度看,可以把推销员的路径当成一条哈密顿回路,城市与城市之间的道路看做无向边,道路的距离看做无向边的边权,城市看做图中的点。所以,该问题实质是在一个带权完全无向图中,找条权值最小的哈密顿回路。
由于该问题的可行解是所有顶点(假设共有n个顶点)的全排列,所以一般精确算法的时间复杂度为O(N!)O(N!)O(N!)。随着顶点数的增加,时间复杂度会以指数级别的程度上升,所以这是一个NP-Complete问题和NP-Hard问题。
研究历史
早期的研究者使用精确算法(动态规划,暴力搜索等)求解该问题,但是随着问题规模增大,时间复杂度开始指数爆炸,快速增长到无法计算的地步,此时精确算法变得无能为力。因此在后来的研究中,国内外学者更偏向于使用近似算 ...
django项目
项目描述
此项目是一款基于 Django 的在线对抗游戏,支持联机对战并可依据玩家段位分数进行匹配
应用技术
Python、Django、Thrift、Js、Css、WebSocket、radius
项目功能
自主研发的游戏引擎以实现游戏界面的动态渲染功能
单人模式下支持 NPC 随机移动并计算概率以定时向其它 NPC 或用户发射炮弹
多人模式下支持联机对战,使用 thrift 在多线程下实现的消息队列、阈值扩大、匹配策略以及匹配成功后的处理方式
多人模式下使用 Django 自带的 websocket 通信实现对战中的同步机制如聊天功能
系统支持多端登录使用,既支持网页端,也支持 Acapp 端的使用(类似小程序),其信息也是保持同步的
使用 shell 脚本对代码打包并利用代码压缩工具防止程序被破解
项目成果
独立开发出一款竞技游戏。联机对战与匹配系统增加了游戏的竞技性、实时渲染与粒子效果粉饰了游戏的画面感、 聊天机制与被动技能也提高了游戏的互动性。
项目可改进:
暂时还没办法显示天梯分,可以完善天梯榜单功能
提供用户上传头像的界面
优化对战平台的界面美化
允许玩家 ...