当前位置: 首页 > news >正文

网站标题分隔符seo关键词是怎么优化的

网站标题分隔符,seo关键词是怎么优化的,大学生网站开发工作室总结,网站的基本类型HTML5实现一笔画游戏 一笔画问题 一笔画是图论科普中一个著名的问题#xff0c;它起源于柯尼斯堡七桥问题科普。当时的东普鲁士哥尼斯堡城中有一条河#xff0c;在这条河上有七座桥#xff1a; 蓝色的代表河#xff0c;这条河将城市分开成为四个区域#xff0c;而七个橙…HTML5实现一笔画游戏 一笔画问题 一笔画是图论科普中一个著名的问题它起源于柯尼斯堡七桥问题科普。当时的东普鲁士哥尼斯堡城中有一条河在这条河上有七座桥 蓝色的代表河这条河将城市分开成为四个区域而七个橙色的矩形为座桥。 欧拉把实际的问题抽象为平面上的点与线每一座桥视为一条线桥所连接的地区视为点。 “一笔画”问题涉及的核心概念包括连通图、奇点、偶点等。连通图指的是图中任意两个顶点之间都存在一条路径相连且没有重复。奇点则是与奇数个边相连的顶点偶点则是与偶数个边相连的顶点。 欧拉发现一个连通图能够一笔画出的条件是要么图中所有顶点都是偶点要么图中只有两个奇点。这个规律被称为欧拉定理它为解决一笔画问题提供了理论基础。 由于哥尼斯堡七桥问题的抽象图中的四个顶点全部是奇顶点所以它无法实现符合要求的走法也就是不可能一笔画成。 数学家欧拉在他1736年发表的论文《柯尼斯堡的七桥》中不仅解决了七桥问题也提出了一笔画定理顺带解决了一笔画问题。他的这篇论文也成为图论史上第一篇重要文献。 HTML5实现一笔画游戏 HTML5和Canvas API提供了强大的图形处理能力足以支持一笔画这样的游戏开发。 先给出效果图示 游戏由两个文件构成html文件我这里命名为一笔画游戏.html和JavaScript脚本文件 我这里命名为game.js我这里将这两个文件放在同一文件夹中。 html文件“一笔画游戏.html”源码如下 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title一笔画游戏/titlestylecanvas {border: 1px solid black;}/style /head bodycanvas idgameCanvas width300 height300/canvasdivbutton onclickstartGame(easy)简单/buttonbutton onclickstartGame(medium)中等/buttonbutton onclickstartGame(hard)困难/buttonbr 连接线段时必须按照一定的顺序来连接点。br 两点间连线方法从一个点按下鼠标左键拖动到释放。/divscript srcgame.js/script /body /htmlJavaScript脚本文件 game.js源码如下 // game.jslet canvas document.getElementById(gameCanvas); let ctx canvas.getContext(2d);let isDrawing false; let startPoint null; let lastPointId null;let presetPoints []; let presetLines []; let userLines [];const levels {easy: {points: [{id: 1, x: 50, y: 50}, {id: 2, x: 150, y: 50}, {id: 3, x: 150, y: 150},{id: 4, x: 50, y: 150}],lines: [{start: 1, end: 2}, {start: 2, end: 3}, {start: 3, end: 4},{start: 4, end: 1},{start: 2, end: 4}]},medium: {points: [{id: 1, x: 50, y: 100}, {id: 2, x: 150, y: 100}, {id: 3, x: 250, y: 100}, {id: 4, x: 100, y: 200}, {id: 5, x: 200, y: 200}],lines: [{start: 1, end: 2}, {start: 2, end: 3}, {start: 1, end: 4}, {start: 2, end: 5}, {start: 3, end: 5}, {start: 4, end: 5}]},hard: {points: [{id: 1, x: 50, y: 50}, {id: 2, x: 150, y: 50}, {id: 3, x: 250, y: 50}, {id: 4, x: 50, y: 150}, {id: 5, x: 150, y: 150}, {id: 6, x: 250, y: 150}, {id: 7, x: 50, y: 250}, {id: 8, x: 150, y: 250}, {id: 9, x: 250, y: 250}],lines: [{start: 1, end: 2}, {start: 2, end: 3}, {start: 1, end: 4}, //{start: 2, end: 5}, {start: 3, end: 6}, {start: 4, end: 5}, //{start: 5, end: 6}, {start: 4, end: 7}, {start: 5, end: 8}, {start: 6, end: 9}, {start: 7, end: 8}, {start: 8, end: 9}]} };function startGame(difficulty) {const level levels[difficulty];if (!level) {console.error(未知难度级别);return;}presetPoints level.points;presetLines level.lines;userLines [];lastPointId null;draw(); }canvas.addEventListener(mousedown, (e) {isDrawing true;startPoint getPointFromMouseEvent(e); });canvas.addEventListener(mouseup, (e) {if (!isDrawing || !startPoint) return;let endPoint getPointFromMouseEvent(e);if (endPoint startPoint.id ! endPoint.id) {if (lastPointId null || lastPointId startPoint.id) {if (isPresetLine(startPoint.id, endPoint.id)) {userLines.push({start: startPoint, end: endPoint});lastPointId endPoint.id;draw();} else {alert(不能绘制原图中不存在的线段。);}} else {alert(必须按顺序连接点。);}}isDrawing false; });function getPointFromMouseEvent(e) {const rect canvas.getBoundingClientRect();const x e.clientX - rect.left;const y e.clientY - rect.top;return presetPoints.find(p Math.sqrt((p.x - x) ** 2 (p.y - y) ** 2) 10); }function isPresetLine(startId, endId) {return presetLines.some(line (line.start startId line.end endId) || (line.start endId line.end startId)); }function draw() {ctx.clearRect(0, 0, canvas.width, canvas.height);// 绘制预设线段presetLines.forEach(line {let start presetPoints.find(p p.id line.start);let end presetPoints.find(p p.id line.end);drawLine(start, end, black);});// 绘制用户线段userLines.forEach(line {drawLine(line.start, line.end, red);});// 绘制点presetPoints.forEach(point {drawPoint(point);});// 检查胜利条件if (checkWin()) {alert(恭喜你完成了这个难度级别的游戏);} }function checkWin() {if (userLines.length ! presetLines.length) {return false;}// 检查每个用户线段是否匹配预设线段for (let userLine of userLines) {const startId userLine.start.id;const endId userLine.end.id;const match presetLines.some(line (line.start startId line.end endId) || (line.start endId line.end startId));if (!match) {return false;}}return true; }function drawLine(start, end, color) {ctx.beginPath();ctx.moveTo(start.x, start.y);ctx.lineTo(end.x, end.y);ctx.strokeStyle color;ctx.stroke(); }function drawPoint(point) {ctx.beginPath();ctx.arc(point.x, point.y, 5, 0, 2 * Math.PI);ctx.fillStyle blue;ctx.fill(); }// 初始化游戏 startGame(easy);说明定义不同难度的关卡数据 const levels {     easy: {         // 定义简单难度的点和线段     },     medium: {         // 定义中等难度的点和线段     },     hard: {         // 定义高难度的点和线段     } }; 这些点的 x 和 y 坐标是基于画布的尺寸和布局预设的。你可能需要根据你的具体实现调整这些坐标值以确保点和线在你的游戏界面中正确显示。此外这些关卡设计仅作为示例你可以根据需要调整点和线的数量及布局创造出更多不同难度的关卡。
http://www.zqtcl.cn/news/985910/

相关文章:

  • 中国设计师网站WordPress添加live2d
  • 我是做网站的云溪网络建站宝盒
  • 为什么没人做团购网站子域名的网站放到哪里去
  • 成都做网站设企业建一个网站需要多少钱
  • 淮南建设网站菏泽兼职网站建设
  • 品牌做网站公司做网站需要一些什么东西
  • 网页制作软件三剑客网站优化排名的方法
  • 购物网站开发背景及目的做百度推广网站咱们做
  • 漳州最专业的网站建设公司网站建设工作方案
  • 江西省建设厅网站官网网站备案期间可以用二级域名访问网站吗
  • 三丰云做网站步骤php网站建设视频教程
  • 赤峰网站开发公司wordpress电子商务主题 中文
  • 网站建设运营工作业绩怎样查看网站备案号
  • 江苏常州网站建设公司外贸网站建设盲区
  • 响应式网站设计教程wordpress 医院主题
  • 手机上怎么上传网站吗舟山做网站
  • 程序员做个网站要多少钱呢网站开发设计技术路线
  • 企业网站优化与推广哪个网站seo做的最好
  • 学做网站 软件合肥市建设投资有限公司
  • 网站开发优势用php制作一个个人信息网站
  • wordpress百度推送代码兰州网站关键字优化
  • 有了域名怎么建设网站在线crm免费将夜2
  • 网站建设 技术方案模板长沙手机网站公司
  • 游戏网站建设免费版百度只更新快照不收录网站
  • html小清新类型网站网站建设中应注意哪些问题
  • 网站开发技术和seo的联系精品课程网站建设 公司
  • 大型网站建设一般多少钱wordpress 调用百度前端公众库
  • 个人电脑做网站服务器网站地方网站域名用全拼
  • 我们网站在那里登陆后台系统管理成都app制作开发
  • 可以做问卷调查的网站仙居网站建设