From 91b19477f84604bf89a4b86a88e66159a39272f8 Mon Sep 17 00:00:00 2001 From: oc Date: Wed, 20 Dec 2017 16:48:11 +0800 Subject: [PATCH 01/18] =?UTF-8?q?=E9=A2=86=E5=9F=9F=E5=A4=B9=E5=87=BB?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=9C=BA=E5=88=B6=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- libs/core.js | 255 ++++++++++++++++++++++++++++++++++------- libs/data.js | 8 +- libs/enemys.js | 4 + libs/events.js | 102 +++++++---------- libs/floors/MT0.js | 10 +- libs/floors/sample0.js | 10 +- libs/floors/sample1.js | 12 +- libs/floors/sample2.js | 10 +- libs/maps.js | 2 - libs/ui.js | 39 ++++++- 更新内容.txt | 3 +- 12 files changed, 310 insertions(+), 149 deletions(-) diff --git a/README.md b/README.md index 9fdc6774..03a25ad8 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! **即使完全不会编程的用户,按照模板和说明文档也能很快做出一个魔塔游戏!** -* [Demo / 样板效果](http://ckcz123.com/games/template/) -* [Docs / 使用文档说明](http://ckcz123.github.io/mota-js) +* [Demo / 样板效果](https://ckcz123.com/games/template/) +* [Docs / 使用文档说明](https://ckcz123.github.io/mota-js) ![样板](./docs/img/sample0.png) diff --git a/libs/core.js b/libs/core.js index 42f79220..0ea2ebdf 100644 --- a/libs/core.js +++ b/libs/core.js @@ -21,7 +21,8 @@ function core() { 'events': {} } this.timeout = { - 'getItemTipTimeout': null + 'getItemTipTimeout': null, + 'turnHeroTimeout': null, } this.interval = { 'twoAnimate': null, @@ -56,6 +57,7 @@ function core() { 'floorId': null, 'thisMap': null, 'maps': null, + 'checkBlock': [], // 显伤伤害 // 勇士状态;自动寻路相关 'heroMoving': false, @@ -106,7 +108,6 @@ core.prototype.init = function (dom, statusBar, canvas, images, sounds, floorIds core[key] = coreData[key]; } core.flags = core.clone(core.data.flags); - core.flags.battleAnimate = core.getLocalStorage('battleAnimate', core.flags.battleAnimate); core.values = core.clone(core.data.values); core.firstData = core.data.getFirstData(); core.initStatus.shops = core.firstData.shops; @@ -296,7 +297,7 @@ core.prototype.clearStatus = function() { core.resize(main.dom.body.clientWidth, main.dom.body.clientHeight); } -core.prototype.resetStatus = function(hero, hard, floorId, maps) { +core.prototype.resetStatus = function(hero, hard, floorId, flags, maps) { // 停止各个Timeout和Interval for (var i in core.interval) { @@ -314,6 +315,8 @@ core.prototype.resetStatus = function(hero, hard, floorId, maps) { // 初始化人物属性 core.status.hero = core.clone(hero); core.status.hard = hard; + if (core.isset(flags)) + core.flags = core.clone(flags); // 保存页面 core.status.savePage = core.getLocalStorage('savePage', 0); @@ -324,7 +327,7 @@ core.prototype.resetStatus = function(hero, hard, floorId, maps) { core.prototype.startGame = function (hard, callback) { console.log('开始游戏'); - core.resetStatus(core.firstData.hero, hard, core.firstData.floorId, core.initStatus.maps); + core.resetStatus(core.firstData.hero, hard, core.firstData.floorId, core.flags, core.initStatus.maps); core.changeFloor(core.status.floorId, null, core.firstData.hero.loc, null, function() { core.setHeroMoveTriggerInterval(); @@ -501,6 +504,10 @@ core.prototype.keyUp = function(keyCode) { if (core.status.heroStop) core.ui.drawQuickShop(true); break; + case 32: // SPACE + if (!core.status.lockControl && core.status.heroStop) + core.getNextItem(); + break; case 37: // UP break; case 38: // DOWN @@ -626,7 +633,7 @@ core.prototype.getClickLoc = function (x, y) { } core.prototype.onclick = function (x, y, stepPostfix) { - console.log("Click: (" + x + "," + y + ")"); + // console.log("Click: (" + x + "," + y + ")"); // 非游戏屏幕内 if (x<0 || y<0 || x>12 || y>12) return; @@ -649,6 +656,12 @@ core.prototype.onclick = function (x, y, stepPostfix) { return; } + // 开关 + if (core.status.event.id == 'switchs') { + core.events.clickSwitchs(x,y); + return; + } + // 设置 if (core.status.event.id == 'settings') { core.events.clickSettings(x,y); @@ -745,14 +758,14 @@ core.prototype.onmousewheel = function (direct) { } // 怪物手册 - if (core.status.event.id == 'book') { + if (core.status.lockControl && core.status.event.id == 'book') { if (direct==1) core.ui.drawEnemyBook(core.status.event.data - 1); if (direct==-1) core.ui.drawEnemyBook(core.status.event.data + 1); return; } // 存读档 - if (core.status.event.id == 'save' || core.status.event.id == 'load') { + if (core.status.lockControl && (core.status.event.id == 'save' || core.status.event.id == 'load')) { if (direct==1) core.ui.drawSLPanel(core.status.event.data - 1); if (direct==-1) core.ui.drawSLPanel(core.status.event.data + 1); return; @@ -807,7 +820,18 @@ core.prototype.setAutomaticRoute = function (destX, destY, stepPostfix) { return; } if (destX == core.status.hero.loc.x && destY == core.status.hero.loc.y && stepPostfix.length==0) { - core.turnHero(); + if (core.timeout.turnHeroTimeout==null) { + core.timeout.turnHeroTimeout = setTimeout(function() { + core.turnHero(); + clearTimeout(core.timeout.turnHeroTimeout); + core.timeout.turnHeroTimeout = null; + }, 250); + } + else { + clearTimeout(core.timeout.turnHeroTimeout); + core.timeout.turnHeroTimeout = null; + core.getNextItem(); + } return; } var step = 0; @@ -960,14 +984,16 @@ core.prototype.automaticRoute = function (destX, destY) { if ( (scan[direction].x + scan[nextArrow].x) == 0 && (scan[direction].y + scan[nextArrow].y) == 0 ) continue; } // 绕过亮灯(因为只有一次通行机会很宝贵) - if(nextId == "light") deepAdd=50; + if(nextId == "light") deepAdd=100; // 绕过路障 - if (nextId.substring(nextId.length-3)=="Net") deepAdd=100; + if (nextId.substring(nextId.length-3)=="Net") deepAdd=core.values.lavaDamage; // 绕过血瓶 if (!core.flags.potionWhileRouting && nextId.substring(nextId.length-6)=="Potion") deepAdd=20; // 绕过可能的夹击点 - if (nextBlock.block.event.trigger == 'checkBlock') deepAdd=200; + // if (nextBlock.block.event.trigger == 'checkBlock') deepAdd=200; } + if (core.status.checkBlock[nid]>0) + deepAdd = core.status.checkBlock[nid]; if (nx == destX && ny == destY) { route[nid] = direction; @@ -1273,6 +1299,24 @@ core.prototype.moveOneStep = function() { } core.updateStatusBar(); } + // 检查领域、夹击事件 + var x=core.getHeroLoc('x'), y=core.getHeroLoc('y'); + if (core.status.checkBlock[13*x+y]>0) { + core.status.hero.hp -= core.status.checkBlock[13*x+y]; + if (core.hasBetweenAttack(x,y)) { + core.drawTip('受到夹击,生命变成一半'); + } + else if (core.hasZone(x,y)) { + core.drawTip('受到领域伤害'+core.status.checkBlock[13*x+y]+'点'); + } + if (core.status.hero.hp<=0) { + core.status.hero.hp=0; + core.updateStatusBar(); + core.events.lose('zone'); + return; + } + core.updateStatusBar(); + } } core.prototype.waitHeroToStop = function(callback) { @@ -1415,6 +1459,7 @@ core.prototype.afterBattle = function(id, x, y, callback) { hint += ",经验+" + core.material.enemys[id].experience; core.drawTip(hint); + core.updateCheckBlockMap(); // 打完怪物,触发事件 core.events.afterBattle(id,x,y,callback); @@ -1491,6 +1536,8 @@ core.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback) core.setHeroLoc('x', heroLoc.x); core.setHeroLoc('y', heroLoc.y); core.drawHero(core.getHeroLoc('direction'), core.getHeroLoc('x'), core.getHeroLoc('y'), 'stop'); + core.updateCheckBlockMap(); + core.updateCheckBlock(); core.updateFg(); }, 15) }); @@ -1992,6 +2039,7 @@ core.prototype.addBlock = function(x,y,floodId) { // 本身是禁用事件,启用之 if (core.isset(block.enable) && !block.enable) { block.enable = true; + core.updateCheckBlockMap(); // 在本层,添加动画 if (floodId == core.status.floorId && core.isset(block.event)) { blockIcon = core.material.icons[block.event.cls][block.event.id]; @@ -2028,24 +2076,22 @@ core.prototype.removeBlockById = function (index, floorId) { var blocks = core.status.maps[floorId].blocks; var x=blocks[index].x, y=blocks[index].y; - // 检查该点是否是checkBlock - if (core.floors[floorId].checkBlock.indexOf(x+","+y)>=0) { - blocks[index] = {'x': x, 'y': y, 'event': {'cls': 'terrains', 'id': 'ground', 'noPass': false, 'trigger': 'checkBlock'}}; - return; - } - // 检查该点是否存在事件 var event = core.floors[floorId].events[x+","+y]; if (!core.isset(event)) event = core.floors[floorId].changeFloor[x+","+y]; + var shouldUpdateBlockMap = blocks[index].event.cls == 'enemys'; // 不存在事件,直接删除 if (!core.isset(event)) { blocks.splice(index,1); + if (shouldUpdateBlockMap) + core.updateCheckBlockMap(); return; } - blocks[index].enable = false; + if (shouldUpdateBlockMap) + core.updateCheckBlockMap(); } core.prototype.removeBlockByIds = function (floorId, ids) { @@ -2144,6 +2190,101 @@ core.prototype.drawBoxAnimate = function (background) { } } +core.prototype.updateCheckBlockMap = function() { + // 更新领域、夹击地图 + core.status.checkBlockMap = []; + var blocks = core.status.thisMap.blocks; + for (var n=0;n12 || ny<0 || ny>12) return; + if (core.status.checkBlockMap[13*nx+ny]%1000000>0) { + damage += core.status.checkBlockMap[13*nx+ny] % 1000000; + } + }) + + var leftValue = core.status.hero.hp - damage; + if (leftValue>=0) { + // 夹击 + if (x>0 && x<12) { + var id1=parseInt(core.status.checkBlockMap[13*(x-1)+y]/1000000), + id2=parseInt(core.status.checkBlockMap[13*(x+1)+y]/1000000); + if (id1>0 && id1==id2) + damage += parseInt(leftValue/2); + } + else if (y>0 && y<12) { + var id1=parseInt(core.status.checkBlockMap[13*x+y-1]/1000000), + id2=parseInt(core.status.checkBlockMap[13*x+y+1]/1000000); + if (id1>0 && id1==id2) + damage += parseInt(leftValue/2); + } + } + } + core.status.checkBlock[13*x+y] = damage; + } + } +} + +core.prototype.hasZone = function (x,y) { + if (!core.isset(core.status.checkBlockMap)) core.updateCheckBlockMap(); + var isZone = false; + // 领域 + [[-1,0],[0,-1],[1,0],[0,1]].forEach(function (dir) { + var nx = x+dir[0], ny = y+dir[1]; + if (nx<0 || nx>12 || ny<0 || ny>12) return; + if (core.status.checkBlockMap[13*nx+ny]%1000000>0) { + isZone = true; + } + }) + return isZone; +} + +core.prototype.hasBetweenAttack = function(x,y) { + if (!core.isset(core.status.checkBlockMap)) core.updateCheckBlockMap(); + // 夹击 + if (x>0 && x<12) { + var id1=parseInt(core.status.checkBlockMap[13*(x-1)+y]/1000000), + id2=parseInt(core.status.checkBlockMap[13*(x+1)+y]/1000000); + if (id1>0 && id1==id2) + return true; + } + if (y>0 && y<12) { + var id1=parseInt(core.status.checkBlockMap[13*x+y-1]/1000000), + id2=parseInt(core.status.checkBlockMap[13*x+y+1]/1000000); + if (id1>0 && id1==id2) + return true; + } +} + core.prototype.setFg = function(color, time, callback) { time = time || 750; core.setOpacity('fg', 1); @@ -2254,32 +2395,54 @@ core.prototype.updateFg = function () { if (!core.hasItem('book')) return; core.setFont('fg', "bold 11px Arial"); var hero_hp = core.status.hero.hp; - for (var b = 0; b < mapBlocks.length; b++) { - var x = mapBlocks[b].x, y = mapBlocks[b].y; - if (core.isset(mapBlocks[b].event) && mapBlocks[b].event.cls == 'enemys' && mapBlocks[b].event.trigger=='battle' + if (core.flags.displayEnemyDamage) { + core.canvas.fg.textAlign = 'left'; + for (var b = 0; b < mapBlocks.length; b++) { + var x = mapBlocks[b].x, y = mapBlocks[b].y; + if (core.isset(mapBlocks[b].event) && mapBlocks[b].event.cls == 'enemys' && mapBlocks[b].event.trigger == 'battle' && !(core.isset(mapBlocks[b].enable) && !mapBlocks[b].enable)) { - var id = mapBlocks[b].event.id; + var id = mapBlocks[b].event.id; - var damage = core.enemys.getDamage(id); - var color = "#000000"; - if (damage <= 0) color = '#00FF00'; - else if (damage < hero_hp / 3) color = '#FFFFFF'; - else if (damage < hero_hp * 2 / 3) color = '#FFFF00'; - else if (damage < hero_hp) color = '#FF7F00'; - else color = '#FF0000'; + var damage = core.enemys.getDamage(id); + var color = "#000000"; + if (damage <= 0) color = '#00FF00'; + else if (damage < hero_hp / 3) color = '#FFFFFF'; + else if (damage < hero_hp * 2 / 3) color = '#FFFF00'; + else if (damage < hero_hp) color = '#FF7F00'; + else color = '#FF0000'; - if (damage >= 999999999) damage = "???"; - else if (damage > 100000) damage = (damage / 10000).toFixed(1) + "w"; + if (damage >= 999999999) damage = "???"; + else if (damage > 100000) damage = (damage / 10000).toFixed(1) + "w"; - core.setFillStyle('fg', '#000000'); - core.canvas.fg.fillText(damage, 32 * x + 2, 32 * (y + 1) - 2); - core.canvas.fg.fillText(damage, 32 * x, 32 * (y + 1) - 2); - core.canvas.fg.fillText(damage, 32 * x + 2, 32 * (y + 1)); - core.canvas.fg.fillText(damage, 32 * x, 32 * (y + 1)); + core.setFillStyle('fg', '#000000'); + core.canvas.fg.fillText(damage, 32 * x + 2, 32 * (y + 1) - 2); + core.canvas.fg.fillText(damage, 32 * x, 32 * (y + 1) - 2); + core.canvas.fg.fillText(damage, 32 * x + 2, 32 * (y + 1)); + core.canvas.fg.fillText(damage, 32 * x, 32 * (y + 1)); - core.setFillStyle('fg', color); - core.canvas.fg.fillText(damage, 32 * x + 1, 32 * (y + 1) - 1); + core.setFillStyle('fg', color); + core.canvas.fg.fillText(damage, 32 * x + 1, 32 * (y + 1) - 1); + } + } + } + // 如果是领域&夹击 + if (core.flags.displayExtraDamage) { + core.canvas.fg.textAlign = 'center'; + for (var x=0;x<13;x++) { + for (var y=0;y<13;y++) { + var damage = core.status.checkBlock[13*x+y]; + if (damage>0) { + core.setFillStyle('fg', '#000000'); + core.canvas.fg.fillText(damage, 32 * x + 17, 32 * (y + 1) - 13); + core.canvas.fg.fillText(damage, 32 * x + 15, 32 * (y + 1) - 15); + core.canvas.fg.fillText(damage, 32 * x + 17, 32 * (y + 1) - 15); + core.canvas.fg.fillText(damage, 32 * x + 15, 32 * (y + 1) - 13); + + core.setFillStyle('fg', '#FF7F00'); + core.canvas.fg.fillText(damage, 32 * x + 16, 32 * (y + 1) - 14); + } + } } } } @@ -2341,6 +2504,16 @@ core.prototype.addItem = function (itemId, itemNum) { core.status.hero.items[itemCls][itemId] += itemNum; } +core.prototype.getNextItem = function() { + if (!core.status.heroStop || !core.flags.enableGentleClick) return; + var nextX = core.nextX(), nextY = core.nextY(); + var block = core.getBlock(nextX, nextY); + if (block==null) return; + if (block.block.event.trigger=='getItem') { + core.getItem(block.block.event.id, 1, nextX, nextY); + } +} + core.prototype.getItem = function (itemId, itemNum, itemX, itemY, callback) { // core.getItemAnimate(itemId, itemNum, itemX, itemY); core.playSound('item', 'ogg'); @@ -2368,6 +2541,7 @@ core.prototype.drawTip = function (text, itemIcon) { core.setFont('data', "16px Arial"); core.saveCanvas('data'); core.setOpacity('data', 0); + core.canvas.data.textAlign = 'left'; if (!core.isset(itemIcon)) { textX = 16; textY = 18; @@ -2845,6 +3019,7 @@ core.prototype.saveData = function(dataId) { 'hard': core.status.hard, 'maps': core.maps.save(core.status.maps), 'shops': {}, + 'flags': core.flags, 'version': core.firstData.version, "time": new Date().getTime() }; @@ -2862,7 +3037,7 @@ core.prototype.saveData = function(dataId) { core.prototype.loadData = function (data, callback) { - core.resetStatus(data.hero, data.hard, data.floorId, core.maps.load(data.maps)); + core.resetStatus(data.hero, data.hard, data.floorId, data.flags, core.maps.load(data.maps)); // load shop times for (var shop in core.status.shops) { @@ -3038,7 +3213,6 @@ core.prototype.updateStatusBar = function () { core.statusBar.weak.innerHTML = core.hasFlag('weak')?"衰":""; core.statusBar.curse.innerHTML = core.hasFlag('curse')?"咒":""; } - core.statusBar.hard.innerHTML = core.status.hard; if (core.hasItem('book')) { @@ -3051,6 +3225,7 @@ core.prototype.updateStatusBar = function () { } else { core.statusBar.image.fly.style.opacity = 0.3; } + core.updateCheckBlock(); core.updateFg(); } diff --git a/libs/data.js b/libs/data.js index f298e063..df1f02d0 100644 --- a/libs/data.js +++ b/libs/data.js @@ -111,12 +111,12 @@ data.prototype.init = function() { 'breakArmor': 0.9, // 破甲的比例(战斗前,怪物附加角色防御的x%作为伤害) 'counterAttack': 0.1, // 反击的比例(战斗时,怪物每回合附加角色攻击的x%作为伤害,无视角色防御) 'purify': 3, // 净化的比例(战斗前,怪物附加勇士魔防的x倍作为伤害) + 'hatred': 2, // 仇恨属性中,每杀死一个怪物获得的仇恨值 /****** 系统相关 ******/ 'animateSpeed': 500, // 动画时间 } // 系统FLAG,在游戏运行中中请不要修改它。 this.flags = { - /****** 角色状态相关 ******/ "enableMDef": true, // 是否涉及勇士的魔防值;如果此项为false,则状态栏不会显示勇士的魔防值 "enableExperience": true, // 是否涉及经验值;如果此项为false,则状态栏和怪物手册均将不会显示经验值 @@ -125,10 +125,12 @@ data.prototype.init = function() { "flyNearStair": true, // 是否需要在楼梯边使用传送器 "pickaxeFourDirections": true, // 使用破墙镐是否四个方向都破坏;如果false则只破坏面前的墙壁 "bigKeyIsBox": false, // 如果此项为true,则视为钥匙盒,红黄蓝钥匙+1;若为false,则视为大黄门钥匙 - /****** 系统相关 ******/ "startDirectly": false, // 点击“开始游戏”后是否立刻开始游戏而不显示难度选择界面 - "battleAnimate": true, // 是否默认显示战斗动画;用户可以手动在菜单栏中关闭 + "battleAnimate": true, // 是否默认显示战斗动画;用户可以手动在菜单栏中开关 + "displayEnemyDamage": true, // 是否地图怪物显伤;用户可以手动在菜单栏中开关 + "displayExtraDamage": false, // 是否地图高级显伤(领域、夹击等);用户可以手动在菜单栏中开关 + "enableGentleClick": true, // 是否允许轻触(获得面前物品) "portalWithoutTrigger": true, // 经过楼梯、传送门时是否能“穿透”。穿透的意思是,自动寻路得到的的路径中间经过了楼梯,行走时是否触发楼层转换事件 "potionWhileRouting": false, // 寻路算法是否经过血瓶;如果该项为false,则寻路算法会自动尽量绕过血瓶 } diff --git a/libs/enemys.js b/libs/enemys.js index 04611d30..62401bab 100644 --- a/libs/enemys.js +++ b/libs/enemys.js @@ -99,6 +99,7 @@ enemys.prototype.getSpecialText = function (enemyId) { if (this.hasSpecial(special, 14)) text.push("诅咒"); if (this.hasSpecial(special, 15)) text.push("领域"); if (this.hasSpecial(special, 16)) text.push("夹击"); + if (this.hasSpecial(special, 17)) text.push("仇恨"); return text.join(" "); } @@ -118,6 +119,9 @@ enemys.prototype.getExtraDamage = function (monster) { extra_damage = core.status.hero.hp * monster.value; extra_damage = parseInt(extra_damage); } + if (this.hasSpecial(monster.special, 17)) { // 仇恨 + extra_damage += core.getFlag('hatred', 0); + } return extra_damage; } diff --git a/libs/events.js b/libs/events.js index c90a3cfa..296baa1d 100644 --- a/libs/events.js +++ b/libs/events.js @@ -34,11 +34,6 @@ events.prototype.init = function () { if (core.isset(callback)) callback(); }, - "checkBlock": function (data, core, callback) { - core.events.checkBlock(data.x, data.y); - if (core.isset(callback)) - callback(); - }, "changeLight": function (data, core, callback) { core.events.changeLight(data.x, data.y); if (core.isset(callback)) @@ -112,50 +107,6 @@ events.prototype.lose = function(reason) { }) } - -////// 检查领域、夹击事件 ////// -events.prototype.checkBlock = function (x,y) { - var damage = 0; - // 获得四个方向的怪物 - var directions = [[0,-1],[-1,0],[0,1],[1,0]]; // 上,左,下,右 - var enemys = [null,null,null,null]; - for (var i in directions) { - var block = core.getBlock(x+directions[i][0], y+directions[i][1]); - if (block==null) continue; - // 是怪物 - if (block.block.event.cls=='enemys') - enemys[i]=core.material.enemys[block.block.event.id]; - } - - // 领域 - for (var i in enemys) { - if (enemys[i]!=null && core.enemys.hasSpecial(enemys[i].special, 15)) { - damage+=enemys[i].value; - } - } - if (damage>0) - core.drawTip('受到领域伤害'+damage+'点'); - core.status.hero.hp-=damage; - if (core.status.hero.hp<=0) { - core.status.hero.hp=0; - core.updateStatusBar(); - core.events.lose('zone'); - return; - } - - // 夹击 - var has=false; - if (enemys[0]!=null && enemys[2]!=null && enemys[0].id==enemys[2].id && core.enemys.hasSpecial(enemys[0].special, 16)) - has=true; - if (enemys[1]!=null && enemys[3]!=null && enemys[1].id==enemys[3].id && core.enemys.hasSpecial(enemys[1].special, 16)) - has=true; - if (has && core.status.hero.hp>1) { // 1血夹击不死 - core.status.hero.hp = parseInt(core.status.hero.hp/2); - core.drawTip('受到夹击,生命变成一半'); - } - core.updateStatusBar(); -} - ////// 转换楼层结束的事件 ////// events.prototype.afterChangeFloor = function (floorId) { if (!core.hasFlag("visited_"+floorId)) { @@ -451,8 +402,10 @@ events.prototype.disableQuickShop = function (shopId) { } ////// 降低难度 ////// -/* + events.prototype.decreaseHard = function() { + core.drawTip("本塔不支持降低难度!"); + /* if (core.status.hard == 0) { core.drawTip("当前已是难度0,不能再降低难度了"); return; @@ -470,8 +423,8 @@ events.prototype.decreaseHard = function() { }, function () { core.ui.drawSettings(false); }); + */ } -*/ ////// 能否使用快捷商店 ////// events.prototype.canUseQuickShop = function(shopIndex) { @@ -506,20 +459,24 @@ events.prototype.afterBattle = function(enemyId,x,y,callback) { // 中毒 if (core.enemys.hasSpecial(special, 12) && !core.hasFlag('poison')) { core.setFlag('poison', true); - core.updateStatusBar(); } // 衰弱 if (core.enemys.hasSpecial(special, 13) && !core.hasFlag('weak')) { core.setFlag('weak', true); core.status.hero.atk-=core.values.weakValue; core.status.hero.def-=core.values.weakValue; - core.updateStatusBar(); } // 诅咒 if (core.enemys.hasSpecial(special, 14) && !core.hasFlag('curse')) { core.setFlag('curse', true); - core.updateStatusBar(); } + // 仇恨属性:减半 + if (core.enemys.hasSpecial(special, 17)) { + core.setFlag('hatred', parseInt(core.getFlag('hatred', 0)/2)); + } + // 增加仇恨值 + core.setFlag('hatred', core.getFlag('hatred',0)+core.values.hatred); + core.updateStatusBar(); // 如果已有事件正在处理中 if (core.status.lockControl) { @@ -604,11 +561,11 @@ events.prototype.changeLight = function(x, y) { core.canvas.event.clearRect(x * 32, y * 32, 32, 32); var blockIcon = core.material.icons[block.event.cls][block.event.id]; core.canvas.event.drawImage(core.material.images[block.event.cls], 0, blockIcon * 32, 32, 32, block.x * 32, block.y * 32, 32, 32); - this.afterChangeLight(); + this.afterChangeLight(x,y); } // 改变灯后的事件 -events.prototype.afterChangeLight = function() { +events.prototype.afterChangeLight = function(x,y) { } @@ -822,21 +779,48 @@ events.prototype.clickSL = function(x,y) { } } -// 菜单栏 -events.prototype.clickSettings = function (x,y) { +events.prototype.clickSwitchs = function (x,y) { if (x<5 || x>7) return; - if (y == 3) { + if (y==4) { if (core.musicStatus.isIOS) { core.drawTip("iOS设备不支持播放音乐"); return; } core.changeSoundStatus(); + core.ui.drawSwitchs(); + } + if (y==5) { + core.flags.battleAnimate=!core.flags.battleAnimate; + core.ui.drawSwitchs(); + } + if (y==6) { + core.flags.displayEnemyDamage=!core.flags.displayEnemyDamage; + core.updateFg(); + core.ui.drawSwitchs(); + } + if (y==7) { + core.flags.displayExtraDamage=!core.flags.displayExtraDamage; + core.updateFg(); + core.ui.drawSwitchs(); + } + if (y==8) { core.ui.drawSettings(false); } +} + +// 菜单栏 +events.prototype.clickSettings = function (x,y) { + if (x<5 || x>7) return; + if (y == 3) { + core.ui.drawSwitchs(); + } if (y==4) { + /* core.flags.battleAnimate=!core.flags.battleAnimate; core.setLocalStorage('battleAnimate', core.flags.battleAnimate); core.ui.drawSettings(false); + */ + this.decreaseHard(); } if (y == 5) core.ui.drawQuickShop(); // if (y == 5) this.decreaseHard(); diff --git a/libs/floors/MT0.js b/libs/floors/MT0.js index 9d66ec6b..32000498 100644 --- a/libs/floors/MT0.js +++ b/libs/floors/MT0.js @@ -27,14 +27,6 @@ main.floors.MT0 = { }, "afterOpenDoor": { // 开完门后可能触发的事件列表 - }, - "checkBlock": [ - /****** 领域、夹击检查事件 ******/ - // 所有可能的领域、夹击点均需要在这里给出,否则将不会触发检查事件 - // 另外,如果该点已经存在events事件或changeFloor事件(即上面有相同点位置定义),则会被覆盖 - // afterBattle, afterGetItem, afterOpenDoor则不受影响(仍能正常工作)。 - // 所以 |****** 强烈要求可能的夹击、领域点不要存在自定义事件!! ******| - ] - + } } diff --git a/libs/floors/sample0.js b/libs/floors/sample0.js index e3952451..266fb844 100644 --- a/libs/floors/sample0.js +++ b/libs/floors/sample0.js @@ -108,15 +108,7 @@ main.floors.sample0 = { }, "afterOpenDoor": { // 开完门后可能触发的事件列表 "11,12": ["你开了一个绿门,触发了一个afterOpenDoor事件"] - }, - "checkBlock": [ - /****** 领域、夹击检查事件 ******/ - // 所有可能的领域、夹击点均需要在这里给出,否则将不会触发检查事件 - // 另外,如果该点已经存在events事件或changeFloor事件(即上面有相同点位置定义),则会被覆盖 - // afterBattle, afterGetItem, afterOpenDoor则不受影响(仍能正常工作)。 - // 所以 |****** 强烈要求可能的夹击、领域点不要存在自定义事件!! ******| - "1,0", "3,0", "0,1", "2,1", "4,1", "1,2", "3,2" - ] + } } diff --git a/libs/floors/sample1.js b/libs/floors/sample1.js index 74cfca5f..c3685f07 100644 --- a/libs/floors/sample1.js +++ b/libs/floors/sample1.js @@ -13,7 +13,7 @@ main.floors.sample1 = { [2, 2, 2, 2, 121, 2, 2, 2, 0, 0, 229, 0, 0], [43, 33, 44, 1, 0, 0, 0, 2, 165, 161, 0, 163, 165], [21, 22, 21, 1, 0, 0, 0, 2, 166, 165, 0, 165, 166], - [1, 245, 1, 1, 0, 87, 0, 2, 2, 2, 85, 2, 2], + [1, 245, 1, 1, 219, 87, 0, 2, 2, 2, 85, 2, 2], [0, 246, 0, 1, 0, 0, 0, 2, 2, 221, 0, 221, 2], [246, 0, 246, 1, 0, 0, 0, 121, 85, 0, 0, 0, 2], [1, 246, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2], @@ -299,14 +299,6 @@ main.floors.sample1 = { }, "afterOpenDoor": { // 开完门后可能触发的事件列表 - }, - "checkBlock": [ - /****** 领域、夹击检查事件 ******/ - // 所有可能的领域、夹击点均需要在这里给出,否则将不会触发检查事件 - // 另外,如果该点已经存在events事件或changeFloor事件(即上面有相同点位置定义),则会被覆盖 - // afterBattle, afterGetItem, afterOpenDoor则不受影响(仍能正常工作)。 - // 所以 |****** 强烈要求可能的夹击、领域点不要存在自定义事件!! ******| - ] - + } } diff --git a/libs/floors/sample2.js b/libs/floors/sample2.js index b0bc470d..9dfe71b5 100644 --- a/libs/floors/sample2.js +++ b/libs/floors/sample2.js @@ -365,14 +365,6 @@ main.floors.sample2 = { }, "afterOpenDoor": { // 开完门后可能触发的事件列表 - }, - "checkBlock": [ - /****** 领域、夹击检查事件 ******/ - // 所有可能的领域、夹击点均需要在这里给出,否则将不会触发检查事件 - // 另外,如果该点已经存在events事件或changeFloor事件(即上面有相同点位置定义),则会被覆盖 - // afterBattle, afterGetItem, afterOpenDoor则不受影响(仍能正常工作)。 - // 所以 |****** 强烈要求可能的夹击、领域点不要存在自定义事件!! ******| - ] - + } } diff --git a/libs/maps.js b/libs/maps.js index d10c21ee..27c2efc3 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -36,8 +36,6 @@ maps.prototype.loadFloor = function (floorId, map) { } this.addEvent(block,j,i,floor.events[j+","+i]) this.addChangeFloor(block,j,i,floor.changeFloor[j+","+i]); - if (floor.checkBlock.indexOf(j+","+i)>=0) - this.addEvent(block,j,i,{"trigger":"checkBlock"}); if (core.isset(block.event)) blocks.push(block); } } diff --git a/libs/ui.js b/libs/ui.js index 71c7484c..3d238f6f 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -302,6 +302,30 @@ ui.prototype.drawConfirmBox = function (text, yesCallback, noCallback) { core.fillText('ui', "取消", 208 + 38, top + bottom - 35); } +////// 绘制开关界面 ////// +ui.prototype.drawSwitchs = function() { + // 背景音乐、背景音效、战斗动画、怪物显伤、领域显伤、返回 + + core.status.event.id = 'switchs'; + + var background = core.canvas.ui.createPattern(core.material.ground, "repeat"); + core.clearMap('ui', 0, 0, 416, 416); + core.setAlpha('ui', 1); + core.setFillStyle('ui', background); + var left = 97, top = 64 + 32, right = 416 - 2 * left, bottom = 416 - 2 * top; + core.fillRect('ui', left, top, right, bottom, background); + core.strokeRect('ui', left - 1, top - 1, right + 1, bottom + 1, '#FFFFFF', 2); + + core.canvas.ui.textAlign = "center"; + core.fillText('ui', "背景音乐: " + (core.musicStatus.soundStatus ? "[ON]" : "[OFF]"), 208, top + 56, "#FFFFFF", "bold 17px Verdana"); + // core.fillText('ui', "背景音效" + (core.musicStatus.soundStatus ? "[ON]" : "[OFF]"), 208, top + 88, "#FFFFFF", "bold 17px Verdana") + core.fillText('ui', "战斗动画: " + (core.flags.battleAnimate ? "[ON]" : "[OFF]"), 208, top + 88, "#FFFFFF", "bold 17px Verdana") + core.fillText('ui', "怪物显伤: " + (core.flags.displayEnemyDamage ? "[ON]" : "[OFF]"), 208, top + 120, "#FFFFFF", "bold 17px Verdana") + core.fillText('ui', "领域显伤: " + (core.flags.displayExtraDamage ? "[ON]" : "[OFF]"), 208, top + 152, "#FFFFFF", "bold 17px Verdana") + + core.fillText('ui', "返回上级菜单", 208, top + 184, "#FFFFFF", "bold 17px Verdana"); +} + /** * 绘制菜单栏 * @param need @@ -319,8 +343,8 @@ ui.prototype.drawSettings = function (need) { core.strokeRect('ui', left - 1, top - 1, right + 1, bottom + 1, '#FFFFFF', 2); core.canvas.ui.textAlign = "center"; - core.fillText('ui', "音乐: " + (core.musicStatus.soundStatus ? "[ON]" : "[OFF]"), 208, top + 56, "#FFFFFF", "bold 17px Verdana"); - core.fillText('ui', '战斗过程: ' +(core.flags.battleAnimate?'[ON]':'[OFF]'), 208, top + 88, "#FFFFFF", "bold 17px Verdana") + core.fillText('ui', "系统设置", 208, top + 56, "#FFFFFF", "bold 17px Verdana"); + core.fillText('ui', "降低难度", 208, top + 88, "#FFFFFF", "bold 17px Verdana") core.fillText('ui', "快捷商店", 208, top + 120, "#FFFFFF", "bold 17px Verdana"); core.fillText('ui', "同步存档", 208, top + 152, "#FFFFFF", "bold 17px Verdana"); // core.fillText('ui', "清空存档", 208, top + 152, "#FFFFFF", "bold 17px Verdana"); @@ -359,7 +383,6 @@ ui.prototype.drawQuickShop = function (need) { } core.fillText('ui', "返回游戏", 208, top + bottom - 40); - } ui.prototype.drawBattleAnimate = function(monsterId, callback) { @@ -395,10 +418,15 @@ ui.prototype.drawBattleAnimate = function(monsterId, callback) { if (core.enemys.hasSpecial(mon_special, 6)) turns=5; - // 初始伤害(破甲、净化) + // 初始伤害 var initDamage = 0; if (core.enemys.hasSpecial(mon_special, 7)) initDamage+=parseInt(core.values.breakArmor * hero_def); - if (core.enemys.hasSpecial(mon_special, 9)) initDamage=parseInt(core.values.purify * hero_mdef); + if (core.enemys.hasSpecial(mon_special, 9)) initDamage+=parseInt(core.values.purify * hero_mdef); + if (core.enemys.hasSpecial(mon_special, 11)) { // 吸血 + var extraDamage = monster.value * hero_hp; + initDamage+=parseInt(extraDamage); + } + if (core.enemys.hasSpecial(mon_special, 17)) initDamage+=core.getFlag('hatred', 0); hero_mdef-=initDamage; if (hero_mdef<0) { hero_hp+=hero_mdef; @@ -425,6 +453,7 @@ ui.prototype.drawBattleAnimate = function(monsterId, callback) { core.fillRect('ui', left, top, right, bottom, '#000000'); core.setAlpha('ui', 1); core.strokeRect('ui', left - 1, top - 1, right + 1, bottom + 1, '#FFFFFF', 2); + core.clearMap('data',0,0,416,416); core.setAlpha('data', 1); core.setOpacity('data', 1); core.status.boxAnimateObjs = []; diff --git a/更新内容.txt b/更新内容.txt index 204a5f44..24206cd5 100644 --- a/更新内容.txt +++ b/更新内容.txt @@ -2,7 +2,8 @@ 新增:可视化地图编辑工具 新增:便捷P图工具 √ 新增:支持Autotile √ -新增:怪物支持多属性 √ +新增:怪物支持多属性,添加仇恨属性 √ +移除checkBlock,现在对领域和夹击无需指定坐标了 √ 新增:单向箭头、感叹号 √ 新增:勇士支持移动;其他事件支持移动 √ 快捷道具使用:1破2炸3飞;读档改为D键 √ From 4fd2174cac94934da5d8b71f0e47ba8d1bf63a55 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Wed, 20 Dec 2017 22:35:03 +0800 Subject: [PATCH 02/18] Update Server & Fix Bug --- SimpleHttpServer.dll | Bin 0 -> 44544 bytes libs/core.js | 4 ++-- 启动服务.exe | Bin 0 -> 16384 bytes 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 SimpleHttpServer.dll create mode 100644 启动服务.exe diff --git a/SimpleHttpServer.dll b/SimpleHttpServer.dll new file mode 100644 index 0000000000000000000000000000000000000000..f4289b3de08cb6579f9b8f4d331e829d29c1400f GIT binary patch literal 44544 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 nowB=255; core.setAlpha('fg', nowAlpha); - var toRGB = "#"+nowR.toString(16)+nowG.toString(16)+nowB.toString(16); + var toRGB = "#"+((1<<24)+(nowR<<16)+(nowG<<8)+nowB).toString(16).slice(1) core.fillRect('fg', 0, 0, 416, 416, toRGB); if (step>=25) { @@ -2383,7 +2383,7 @@ core.prototype.updateFg = function () { // 如果存在颜色 if (core.isset(core.status.event.data) && core.isset(core.status.event.data.currentColor)) { var color=core.status.event.data.currentColor; - core.fillRect("fg",0,0,416,416,"#"+color[0].toString(16)+color[1].toString(16)+color[2].toString(16)); + core.fillRect("fg",0,0,416,416,"#"+((1<<24)+(color[0]<<16)+(color[1]<<8)+color[2]).toString(16).slice(1)); return; } diff --git a/启动服务.exe b/启动服务.exe new file mode 100644 index 0000000000000000000000000000000000000000..69941a9ac654450e4caff665996f2472f816b6bb GIT binary patch literal 16384 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

pJnTu#4WDe0LK$BWrgF^FN^pfjo`7ZjQ>m}(f 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 literal 0 HcmV?d00001 From 38ac69c26c9f113c0d88b6dffe82cb82aabce5b0 Mon Sep 17 00:00:00 2001 From: oc Date: Wed, 20 Dec 2017 23:36:53 +0800 Subject: [PATCH 03/18] Fix Change Floor Bug --- libs/events.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/events.js b/libs/events.js index 296baa1d..60b11111 100644 --- a/libs/events.js +++ b/libs/events.js @@ -109,7 +109,7 @@ events.prototype.lose = function(reason) { ////// 转换楼层结束的事件 ////// events.prototype.afterChangeFloor = function (floorId) { - if (!core.hasFlag("visited_"+floorId)) { + if (!core.isset(core.status.event.id) && !core.hasFlag("visited_"+floorId)) { this.doEvents(core.floors[floorId].firstArrive); core.setFlag("visited_"+floorId, true); } From 9d07b2ba225f250fb70926373fbc54e6b9d2576c Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 21 Dec 2017 01:11:36 +0800 Subject: [PATCH 04/18] Ver 1.2 --- README.md | 11 + [start server.cmd | 1 - _server.py | 140 ---------- docs/element.md | 51 +++- docs/event.md | 35 ++- docs/img/mapgui.png | Bin 0 -> 176242 bytes docs/img/ps.png | Bin 0 -> 80216 bytes docs/img/server.png | Bin 0 -> 7226 bytes docs/personalization.md | 206 +++++++------- docs/start.md | 55 ++-- drawMapGUI.html | 581 ++++++++++++++++++++++++++++++++++------ libs/maps.js | 1 - 启动服务.exe | Bin 16384 -> 15872 bytes 更新内容.txt | 12 - 14 files changed, 722 insertions(+), 371 deletions(-) delete mode 100644 [start server.cmd delete mode 100644 _server.py create mode 100644 docs/img/mapgui.png create mode 100644 docs/img/ps.png create mode 100644 docs/img/server.png delete mode 100644 更新内容.txt diff --git a/README.md b/README.md index 03a25ad8..25045c7d 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,17 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! ## 更新说明 +### 2017.12.20 +* [x] 新增:本地HTTP服务器。 +* [x] 新增:可视化地图编辑工具。 +* [x] 新增:便捷PS工具。 +* [x] 新增:对Autotile图块的支持。 +* [x] 新增:怪物支持多种属性;添加仇恨属性。 +* [x] 移除了不再支持的checkBlock,现在对于领域和夹击无需再手动指定可能的点了。 +* [x] 新增:单向箭头、感叹号(单次通行)的支持。 +* [x] 新增:更多的默认素材,现在对于大多数地图风格无需P图,直接替换即可。 +* [x] 部分细节优化,一些已知的Bug进行了修复。 + ### 2017.12.16 * [x] 新增:战斗过程显示,可以在设置中关闭 diff --git a/[start server.cmd b/[start server.cmd deleted file mode 100644 index 814d7527..00000000 --- a/[start server.cmd +++ /dev/null @@ -1 +0,0 @@ -python _server.py \ No newline at end of file diff --git a/_server.py b/_server.py deleted file mode 100644 index e2955bc1..00000000 --- a/_server.py +++ /dev/null @@ -1,140 +0,0 @@ -# -*- coding: utf-8 -*- -import json -import socket -import threading -import os -import time - -def httpserver(port = 7945): - import http.server - http.server.test(http.server.SimpleHTTPRequestHandler,port=port) - -def voidfunc(*a,**k): - pass -sysecho=print -mecho=voidfunc - -homepage='homepage' -strtemplate='HTTP/1.0 302 Move temporarily\r\nContent-Length: 0\r\nLocation: {urlstr}\r\n\r\n' #{urlstr} - -def mainget(urlstr): - funcAfter=lambda:0 - if False and urlstr == '/': - sysecho(''.join([ - 'GET / ',addr[0],':',str(addr[1]) - ])) - return (200,homepage,funcAfter) - if True: - return (strtemplate.format(urlstr='//127.0.0.1:7945'+urlstr),'',funcAfter) - return (404,'404') - -def mainpost(urlstr,body): - funcAfter=lambda:0 - if urlstr == '/': - out='name not match' - try: - op=json.loads(body) - name=op['name'] - op['func'] - op['args'] - except Exception as e: - return (200,'error format') - if name=='readUTF8file' and op['func']=='open': - with open('./'+op['args'][0],encoding='utf-8') as fid: - out=fid.read() - if name=='writeUTF8file' and op['func']=='open': - with open('./'+op['args'][0],'w',encoding='utf-8') as fid: - out=str(fid.write(op['args'][1])) - return (200,out,funcAfter) - return (403,'no service this url') - -def mainparse(header,body): - funcAfter=lambda:0 - for _tmp in [1]: - if header[:3]=='GET': - urlstr=header.split(' ',2)[1] - mainre = mainget(urlstr) - if len(mainre)==2: - header,body=mainre - else: - header,body,funcAfter=mainre - break - if header[:4]=='POST': - urlstr=header.split(' ',2)[1] - mainre = mainpost(urlstr,body) - if len(mainre)==2: - header,body=mainre - else: - header,body,funcAfter=mainre - break - if header=='': - header,body= (403,'') - break - header,body= (403,'') - body=body.encode('utf-8') - if type(header)==int: - codeDict={200:'200 OK',302:'302 Move temporarily',403:'403 Forbidden',404:'404 Not Found'} - header=('HTTP/1.0 {statu}\r\nContent-Type: text/html; charset=utf-8\r\nContent-Length: '.format(statu=codeDict[header])+str(len(body))+'\r\nAccess-Control-Allow-Origin: *\r\n\r\n') - #\r\nAccess-Control-Allow-Origin: * null : to test in chrome - header=header.encode('utf-8') - return (header,body,funcAfter) - -def tcplink(sock, addr): - mecho('\n\nAccept new connection from %s:%s...' % addr) - tempbuffer = [''] - data='' - header='' - body='' - while True: - d = sock.recv(512) - if d: - d=d.decode('utf-8') - tempbuffer.append(d) - tempend=tempbuffer[-1][-4:]+d - if '\r\n\r\n' in tempend: - headend=True - data=''.join(tempbuffer) - header, body = data.split('\r\n\r\n', 1) - if header[:3]=='GET': - tempbuffer=[] - break - tempbuffer=[body] - a=int(header.split('Content-Length:',1)[1].split('\r\n',1)[0])-len(body.encode('utf-8'))#str.len not equal byte.len - while a>0: - tempbuffer.append(sock.recv(min(a,512)).decode('utf-8')) - a=a-min(a,512) - break - else: - break - mecho('recv end\n===') - body = ''.join(tempbuffer) - mecho(header) - mecho('---') - if len(body)>250: - mecho(body[:100]) - mecho('...\n') - mecho(body[-100:]) - else: - mecho(body) - if True: - header,body,funcAfter=mainparse(header,body) - mecho('===\nsend start\n') - sock.send(header) - sock.send(body) - mecho('\nsend end\n===') - sock.close() - mecho('Connection from %s:%s closed.' % addr) - funcAfter() - -if __name__ == '__main__': - out = threading.Thread(target=httpserver) - out.start() - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.bind(('127.0.0.1', 80)) - s.listen(500) - sysecho('Waiting for connection...') - os.popen('explorer http://127.0.0.1:7945/drawMapGUI.html') - while True: - sock, addr = s.accept() - t = threading.Thread(target=tcplink, args=(sock, addr)) - t.start() \ No newline at end of file diff --git a/docs/element.md b/docs/element.md index 228551ac..668c0c2d 100644 --- a/docs/element.md +++ b/docs/element.md @@ -18,6 +18,8 @@ 如需修改某个道具的效果,在不同区域宝石数据发生变化等问题,请参见[自定义道具效果](personalization#自定义道具效果)的说明。 +**有关轻按,在data.js的系统变量中有定义。如果`enableGentleClick`为true,则鼠标(触摸屏)通过双击勇士,键盘通过空格可达到轻按效果,即不向前移动而获得前方物品。** + ## 门 本塔支持6种门,黄蓝红绿铁花。前五种门需要有对应的钥匙打开,花门只能通过调用`openDoor`事件进行打开。 @@ -31,9 +33,41 @@ 本塔支持的怪物列表参见`enemys.js`。其与images目录下的`enemys.png`素材按顺序一一对应。如不知道怪物素材长啥样的请打开`enemys.png`对比查看。 如有自己的怪物素材需求请参见[自定义素材](personalization#自定义素材)的内容。 -怪物可以由特殊属性,每个怪物最多只能有一个特殊属性。怪物的特殊属性所对应的数字(special)在下面的`getSpecialText`中定义,请勿对已有的属性进行修改。 +怪物可以有特殊属性,每个怪物可以有多个自定义属性。 -![怪物属性](./img/getspecialtext.png) +怪物的特殊属性所对应的数字(special)在下面的`getSpecialText`中定义,请勿对已有的属性进行修改。 + +``` js +enemys.prototype.getSpecialText = function (enemyId) { + if (enemyId == undefined) return ""; + var special = this.enemys[enemyId].special; + var text = []; + if (this.hasSpecial(special, 1)) text.push("先攻"); + if (this.hasSpecial(special, 2)) text.push("魔攻"); + if (this.hasSpecial(special, 3)) text.push("坚固"); + if (this.hasSpecial(special, 4)) text.push("2连击"); + if (this.hasSpecial(special, 5)) text.push("3连击"); + if (this.hasSpecial(special, 6)) text.push("4连击"); + if (this.hasSpecial(special, 7)) text.push("破甲"); + if (this.hasSpecial(special, 8)) text.push("反击"); + if (this.hasSpecial(special, 9)) text.push("净化"); + if (this.hasSpecial(special, 10)) text.push("模仿"); + if (this.hasSpecial(special, 11)) text.push("吸血"); + if (this.hasSpecial(special, 12)) text.push("中毒"); + if (this.hasSpecial(special, 13)) text.push("衰弱"); + if (this.hasSpecial(special, 14)) text.push("诅咒"); + if (this.hasSpecial(special, 15)) text.push("领域"); + if (this.hasSpecial(special, 16)) text.push("夹击"); + if (this.hasSpecial(special, 17)) text.push("仇恨"); + return text.join(" "); +} +``` + +如果需要双属性,则采用100x+y的写法。例如 103 则视为同时拥有1和3的属性,即先攻且坚固。同理1314为衰弱诅咒双属性。 + +如果需要三属性,则采用10000x+100y+z的写法。例如71116视为同时拥有7,11和16的属性,即破甲、吸血、夹击。 + +四个乃至更多的属性以此类推。 怪物的伤害计算在下面的`calDamage`函数中,如有自己需求的伤害计算公式请修改该函数的代码。 @@ -46,6 +80,7 @@ ![怪物吸血](./img/blood.png) 中毒怪让勇士中毒后,每步扣减的生命值由`data.js`中的values定义。 + 衰弱怪让勇士衰弱后,攻防会暂时下降一定的数值(直到衰弱状态解除恢复);这个下降的数值同在`data.js`中的values定义。 ![debuff](./img/debuff.png) @@ -54,17 +89,11 @@ 领域怪需要在怪物后添加value,代表领域伤害的数值。如果勇士生命值扣减到0,则直接死亡触发lose事件。 -![怪物属性](./img/domainenemy.png) +![怪物领域](./img/domainenemy.png) -出于游戏性能的考虑,我们不可能每走一步都对领域和夹击进行检查。因此我们需要在本楼层的 checkBlock 中指明哪些点可能会触发领域和夹击事件,在这些点才会对领域和夹击进行检查和处理。 +请注意如果吸血和领域同时存在,则value会冲突。**因此请勿将吸血和领域放置在同一个怪物身上。** -![检查夹击和领域](./img/checkblock.png) - -!> **请注意这里的`"x,y"`代表该点的横坐标为x,纵坐标为y;即从左到右第x列,从上到下的第y行(从0开始计算)。** - -本塔不支持阻击、激光、仇恨、自爆、退化等属性。 - -(这些属性基本都太恶心了,恶心到都不想加上去) +本塔暂不支持阻击、激光、自爆、退化等属性。 如有额外需求,可参见[自定义怪物属性](personalization#自定义自定义怪物属性),里面讲了如何设置一个新的怪物属性。 diff --git a/docs/event.md b/docs/event.md index a64a5d09..6630f0e6 100644 --- a/docs/event.md +++ b/docs/event.md @@ -392,8 +392,8 @@ revisit常常使用在一些商人之类的地方,当用户购买物品后不 ``` js "x,y": [ // 实际执行的事件列表 - {"type": "openDoor", "loc": [3,6], "floorId": "MT1"}, // 打开MT1层的[3,6]位置的门 - {"type": "openDoor", "loc": [3,6]}, // 如果是本层则可省略floorId + {"type": "openDoor", "loc": [3,6], "floorId": "MT1"}, // 打开MT1层的[3,6]位置的门 + {"type": "openDoor", "loc": [3,6]}, // 如果是本层则可省略floorId ] ``` @@ -426,6 +426,8 @@ direction为可选的,指定的话将使勇士的朝向变成该方向 time为可选的,指定的话将作为楼层切换动画的时间。 +!> **changeFloor到达一个新的楼层,将不会执行firstArrive事件!如有需求请在到达点设置自定义事件,然后使用type: trigger立刻调用之。** + ### changePos: 当前位置切换/勇士转向 有时候我们不想要楼层切换的动画效果,而是直接让勇士从A点到B点。 @@ -461,7 +463,7 @@ time为可选的,指定的话将作为楼层切换动画的时间。 ``` color为需要更改画面色调的颜色。它是一个三元数组,分别指定目标颜色的R,G,B值。 -- 常见颜色: 纯黑[0,0,0],纯白[255,255,255],纯红[255,255,0],等等。 +- 常见颜色: 纯黑[0,0,0],纯白[255,255,255],纯红[255,0,0],等等。 如果color不指定则恢复原样。 @@ -475,7 +477,7 @@ time为可选的,如果指定,则会作为更改画面色调的时间。 ``` js "x,y": [ // 实际执行的事件列表 - {"type": "move", "time": 750, "steps": [// 动画效果,time为移动速度(比如这里每750ms一步),steps为移动数组 + {"type": "move", "time": 750, "loc": [x,y], "steps": [// 动画效果,time为移动速度(比如这里每750ms一步),loc为位置可选,steps为移动数组 {"direction": "right", "value": 2},// 这里steps 的效果为向右移动2步,在向下移动一步并消失 "down" // 如果该方向上只移动一步则可以这样简写,效果等价于上面value为1 ], "immediateHide": true }, //immediateHide可选,制定为true则立刻消失,否则渐变消失 @@ -484,13 +486,15 @@ time为可选的,如果指定,则会作为更改画面色调的时间。 time选项必须指定,为每移动一步所需要用到的时间。 +loc为需要移动的事件位置。可以省略,如果省略则移动本事件。 + steps为一个数组,其每一项为一个 `{"direction" : xxx, "value": n}`,表示该步是向xxx方向移动n步。 如果只移动一步可以直接简单的写方向字符串(`up/left/down/right`)。 immediateHide为一个可选项,代表该事件移动完毕后是否立刻消失。如果该项指定了并为true,则移动完毕后直接消失,否则以动画效果消失。 -值得注意的是,当调用move事件时,实际上是使事件脱离了原始地点。为了避免冲突,规定:move事件会自动调用hide事件。 +值得注意的是,当调用move事件时,实际上是使事件脱离了原始地点。为了避免冲突,规定:move事件会自动调用该点的hide事件。 换句话说,当move事件被调用后,该点本身的事件将被禁用。 @@ -516,6 +520,25 @@ move完毕后移动的NPC/怪物一定会消失,只不过可以通过immediate 即,在移动的到达点指定一个初始禁用的相同NPC,然后move事件中指定immediateHide使立刻消失,并show该到达点坐标使其立刻显示(看起来就像没有消失),然后就可以触发目标点的事件了。 +### moveHero:移动勇士 + +如果我们需要移动勇士,可以使用`{"type": "moveHero"}`。 + +下面是该事件常见的写法: + +``` js +"x,y": [ // 实际执行的事件列表 + {"type": "moveHero", "time": 750, "steps": [// 动画效果,time为移动速度(比如这里每750ms一步),steps为移动数组 + {"direction": "right", "value": 2},// 这里steps 的效果为向右移动2步,在向下移动一步并消失 + "down" // 如果该方向上只移动一步则可以这样简写,效果等价于上面value为1 + ]}, +] +``` + +可以看到,和上面的move事件几乎完全相同,除了少了immediateHide选项。 + +不过值得注意的是,用这种方式移动勇士的过程中将无视一切地形,无视一切事件,中毒状态也不会扣血。 + ### playSound: 播放音效 使用playSound可以立刻播放一个音效。 @@ -600,7 +623,7 @@ choices是一个很麻烦的事件,它将弹出一个列表供用户进行选 其大致写法如下: ``` js -"x, y": [ // 实际执行的事件列表 +"x,y": [ // 实际执行的事件列表 {"type": "choices", "text": "...", // 提示文字 "choices": [ {"text": "选项1文字", "action": [ diff --git a/docs/img/mapgui.png b/docs/img/mapgui.png new file mode 100644 index 0000000000000000000000000000000000000000..d66c73ef1f4e0f00216e0799d9aa2ef85f4081a4 GIT binary patch literal 176242 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

0{Ly0wi*gJDM}c| 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

w<+?{<+m3~Z)_a8Md57XdOH4Jde`zt1N(a|Vb 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 literal 0 HcmV?d00001 diff --git a/docs/img/ps.png b/docs/img/ps.png new file mode 100644 index 0000000000000000000000000000000000000000..9e0837e31326ab5b14820839f3c2ff51f6ac9487 GIT binary patch literal 80216 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/personalization.md b/docs/personalization.md index f388de04..f3572232 100644 --- a/docs/personalization.md +++ b/docs/personalization.md @@ -6,14 +6,95 @@ 所有素材的图片都在`images`目录下。 - `animates.png` 为所有动画效果。主要是星空熔岩,开门,毒网,传送门之类的效果。为四帧。 -- `enemys.png` 为所有怪物的图片。地图生成器中对应的数字,从上至下依次是会从201开始计算(即,绿色史莱姆为201,小蝙蝠为205,依次类推)。请注意,动画效果为两帧,一般是原始四帧中的1和3。(四帧中12相同,34相同,因此只取1和3即可) -- `heros.png`为勇士行走图。 +- `autotile.png` 为Autotile块。全塔只支持一种Autotile,其ID为20。 +- `enemys.png` 为所有怪物的图片。其对应的数字,从上至下依次是会从201开始计算(即,绿色史莱姆为201,小蝙蝠为205,依次类推)。请注意,动画效果为两帧,一般是原始四帧中的1和3。(四帧中12相同,34相同,因此只取1和3即可) +- `heros.png` 为勇士行走图。 - `items.png` 为所有道具的图标。 - `npcs.png` 为所有NPC的图标,也是两帧。 - `terrains.png` 为所有地形的图标。 系统会读取`icon.js`文件,并获取每个ID对应的图标所在的位置。 +### 使用预定义的素材 + +在images目录的“默认素材”下给定了若干预定义的自定义素材。包括野外(草地),星空,木板等等都已经被预先给定。 + +如果你需要某个素材已经存在,则可以直接将其覆盖images目录下的同名文件,就能看到效果。 + +### 使用便捷PS工具生成素材 + +如果我们有更多的素材要求,我们可以使用“便捷PS工具”进行处理。 + +![便捷PS工具](img/ps.png) + +我们可以打开有需求改变的素材,和我们需要被替换的素材,然后简单的Ctrl+C和Ctrl+V操作即可。 + +用这种方式,我们能极快地替换或素材,包括需要新增的怪物。 + +### 添加素材到游戏 + +在使用地图编辑器编辑的过程中,我们有可能会出现“该数字和ID未被定义”的错误提示。 + +这是因为,该素材没有被定义,无法被游戏所识别。 + +#### 新添加自定义地形(路面、墙壁等) + +如果你在terrains.png中新增了一行: + +1. 指定一个唯一的英文ID,不能和terrains中现有的重复。 +2. 进入icons.js,在terrains分类下进行添加(对应图标在图片上的位置,即index) +3. 指定一个数字,在maps.js的getBlock下类似进行添加。 +``` js +if (id == 13) tmp.event = {'cls': 'animates', 'id': 'weakNet', 'noPass': false, 'trigger': 'passNet'}; // 衰网 +if (id == 14) tmp.event = {'cls': 'animates', 'id': 'curseNet', 'noPass': false, 'trigger': 'passNet'}; // 咒网 +if (id == 15) tmp.event = {'cls': 'animates', 'id': 'water', 'noPass': true}; // 水 +// 可以在此处类似添加数字-ID对应关系,但不能和任何已有的数字重复 +// autotile: 20 +if (id == 20) tmp.event = {'cls': 'autotile', 'id': 'autotile', 'noPass': true}; // autotile +``` + +#### 新添加道具 + +如果你需要新增一个未被定义的道具: + +1. 指定一个唯一的英文ID,不能和items中现有的重复。 +2. 进入icons.js,在items分类下进行添加(对应图标在图片上的位置,即index) +3. 指定一个数字,在maps.js的getBlock下类似进行添加。 +4. 在items.js中仿照其他道具,来添加道具的信息。 + +``` js +if (id == 63) tmp.event = {'cls': 'items', 'id': 'moneyPocket'} // 金钱袋 +if (id == 64) tmp.event = {'cls': 'items', 'id': 'shoes'} // 绿鞋 +if (id == 65) tmp.event = {'cls': 'items', 'id': 'hammer'} // 圣锤 +// 可以在这里添加自己的数字-ID对应关系,但不能和任何已有的数字重复 +``` + +有关如何自行实现一个道具的效果,参见[自定义道具效果](#自定义道具效果)。 + +#### 新添加怪物 + +如果我们需要新添加怪物,请在enemys.png中新增一行,然后复制粘贴上四帧怪物图的**1和3帧**。 + +然后执行如下操作: + +1. 指定一个唯一的英文ID,不能和enemys中现有的重复。 +2. 进入icons.js,在enemys分类下进行添加(对应图标在图片上的位置,即index) +3. 在maps.js的getBlock下继续进行添加。请注意其ID为200开始的顺序,即如果新增一行为261,依次类推 +4. 在items.js中仿照其他道具,来添加道具的信息。 + +``` js +if (id == 258) tmp.event = {'cls': 'enemys', 'id': 'octopus'}; +if (id == 259) tmp.event = {'cls': 'enemys', 'id': 'fairy'}; +if (id == 260) tmp.event = {'cls': 'enemys', 'id': 'greenKnight'}; +// 在此依次添加,数字要求是递增的 +``` + +有关如何自行实现一个怪物的特殊属性或伤害计算公式,参见[怪物的特殊属性](#怪物的特殊属性)。 + +#### 新添加NPC + +类似同上,给NPC指定ID,在icons.js中指定ID-index关系,在maps.js中指定ID-数字的关系,即可。 + ### 地图生成器使用自定义素材 地图生成器可以将数字和图标一一对应,从数字生成图标或从图标生成数字。 @@ -24,82 +105,6 @@ ![地图含义](./img/mapmean.png) -### 使用自定义地形(路面、墙壁等) - -你需要自行P一张图,里面是你需要的地形素材。然后将其覆盖`terrains.png`文件,请注意所有元件的位置需要完全相同对应。 - -岩浆、星空、传送门、箭头、门的开启动画、暗墙的开启动画在`animates.png`中,可能也需要对应进行修改。 - -请打开`items.js`中,对比素材的位置。 - -另外需要注意的一点是,本样板不支持`Autotile`,换句话说野外地图(草地等)这种自然风可能不会太适合。 - -### 使用自定义道具图标 - -如果你觉得已有的道具图标不够,想自己添加图标也是可以的。 - -如果`items.png`中不存在你需要的图标,则可以自己P一张图,将你需要的图标覆盖到某个用不到的图标上。或者也可以接着后面向下拉伸。 - -所有道具必须是`32x32`像素。 - -P图完毕后,可以在地图生成器中加入对应的数字和图标的对应关系。 - -要在系统中启用你的图标,你需要自己指定一个道具的ID(不能和任何已有的重名),然后进行如下操作: -1. 在`items.js`中道具的定义列表中编辑,修改你的自定义道具的名称,类型,说明文字等。 - - 即捡即用类道具的cls为items,消耗类道具的cls为tools,永久类道具的cls为constants。 -2. 在`icon.js`中,找到items一栏,往里面添加你的图标位置。 -3. 在`maps.js`中,找到对应位置,往里面添加自己的数字和道具的一一对应关系。(该数字可任意指定,不能和已有的冲突),类似下面这样 - -``` js -if (id == 63) tmp.event = {'cls': 'items', 'id': 'moneyPocket'} // 金钱袋 -if (id == 64) tmp.event = {'cls': 'items', 'id': 'shoes'} // 绿鞋 -if (id == 65) tmp.event = {'cls': 'items', 'id': 'hammer'} // 圣锤 -// 可以在这里添加自己的数字-道具对应关系 -``` - -有关如何自行实现一个道具的效果,参见[自定义道具效果](#自定义道具效果)。 - -### 使用自定义怪物图标 - -如果你觉得已有的怪物图标不够,也可以自行向后添加你需要的怪物。 - -在`enemys.js`中,直接向后P图,并将你需要的怪物的两帧动画放到正确的位置(注意:普通四帧动画的1和3帧)。 - -P图完毕后,可以在地图生成器中加入对应的数字和图标的对应关系。 - -要在系统中启用你的图标,你需要自己指定一个怪物的ID(不能和任何已有的重名),然后进行如下操作: - -1. 在`enemys.js`中,向怪物的定义列表中,添加一个怪物。 -2. 在`icon.js`中,找到enemys一栏,往里面添加你的图标位置。 -3. 在`maps.js`中,找到对应位置,往里面添加自己的数字和怪物的一一对应关系。一般对于怪物而言,对应的数字就是`200+`位置。 - -有关如何自行实现一个怪物的特殊属性或伤害计算公式,参见[怪物的特殊属性](#怪物的特殊属性)。 - -### 使用自定义NPC图标 - -同上,你也可以自定义NPC图标。只需要将你NPC的两帧动画接到`npcs.js`中即可。 - -P图完毕后,可以在地图生成器中加入对应的数字和图标的对应关系。 - -要在系统中启用你的图标,你需要自己指定一个NPC的ID(不能和任何已有的重名),然后进行如下操作: - -1. 在`icon.js`中,找到npcs一栏,往里面添加你的图标位置。 -2. 在`maps.js`中,找到对应位置,往里面添加自己的数字和NPC的一一对应关系。 - -### 使用自定义勇士图标 - -我们同样可以使用自定义的勇士图标,比如小可绒之类。 - -直接拿一个勇士的行走图覆盖`hero.png`即可。 - -**支持任何行走大图,如`32x32`, `48x32`, `64x32`等等。** - -  - -通过上述这几种方式,我们可以修改素材图片(使用自定义素材),指定数字并放入地图生成器中,然后在系统中进行启用。 - -!> **请注意:除了勇士行走图外,其他所有素材强制要求必须是`32x32`的,不然可能会造成不可预料的后果。** - ## 自定义道具效果 本节中将继续介绍如何自己编辑一个道具的效果。 @@ -167,24 +172,26 @@ if (itemId === 'shield5') { ``` js enemys.prototype.getExtraDamage = function (monster) { var extra_damage = 0; - if (monster.special == 11) { // 吸血 + if (this.hasSpecial(monster.special, 11)) { // 吸血 // 吸血的比例 extra_damage = core.status.hero.hp * monster.value; if (core.hasFlag("shield5")) extra_damage = 0; // 如果存在神圣盾,则免疫吸血 extra_damage = parseInt(extra_damage); } - return extra_damage; -} +// ... 下略 ``` -3. 免疫领域、夹击效果:在`events.js`中,找到checkBlock函数,并编辑成如果有神圣盾标记,则直接返回。 +3. 免疫领域、夹击效果:在`core.js`中,找到updateCheckBlock函数,并编辑成如果有神圣盾标记,则直接返回。 ``` js -////// 检查领域、夹击事件 ////// -events.prototype.checkBlock = function (x,y) { - if (core.hasFlag("shield5")) return; // 如果拥有神圣盾立刻返回,免疫领域和夹击 - var damage = 0; - // 获得四个方向的怪物 - var directions = [[0,-1],[-1,0],[0,1],[1,0]]; // 上,左,下,右 - var enemys = [null,null,null,null]; +// 更新领域、显伤点 +core.prototype.updateCheckBlock = function() { + if (!core.isset(core.status.thisMap)) return; + if (!core.isset(core.status.checkBlockMap)) core.updateCheckBlockMap(); + core.status.checkBlock = []; + if (core.hasItem('shield5')) return; // 如拥有神圣盾则直接返回 + for (var x=0;x<13;x++) { + for (var y=0;y<13;y++) { + // 计算(x,y)点伤害 + var damage = 0; // ... 下略 ``` 4. 如果有更高的需求,例如想让吸血效果变成一半(如异空间),则还是在上面这些地方进行对应的修改即可。 @@ -199,15 +206,28 @@ events.prototype.checkBlock = function (x,y) { 因此无敌属性可以这样设置: -``` js -// 我们需要对无敌属性指定一个数字,比如18 +先给无敌属性指定一个数字,例如18,在getSpecialText中定义 +``` js +// ... 上略 + if (this.hasSpecial(special, 15)) text.push("领域"); + if (this.hasSpecial(special, 16)) text.push("夹击"); + if (this.hasSpecial(special, 17)) text.push("仇恨"); + if (this.hasSpecial(special, 18)) text.push("无敌"); // 添加无敌的显示 + return text.join(" "); +} + +``` + +然后修改calDamage,如果无敌属性且勇士没有拥有十字架,则立刻返回无穷大。 + +``` js enemys.prototype.calDamage = function (hero_atk, hero_def, hero_mdef, mon_hp, mon_atk, mon_def, mon_special) { - if (mon_special==18 && !core.hasItem("cross")) // 如果是无敌属性,且勇士未持有十字架 + if (this.hasSpecial(mon_special, 18) && !core.hasItem("cross")) // 如果是无敌属性,且勇士未持有十字架 return 999999999; // 返回无限大 // 魔攻 - if (mon_special == 2) hero_def = 0; + if (this.hasSpecial(mon_special, 2)) hero_def = 0; // ... 下略 ``` diff --git a/docs/start.md b/docs/start.md index 0e9f64f6..127fd819 100644 --- a/docs/start.md +++ b/docs/start.md @@ -6,14 +6,26 @@ 你需要有满足如下条件才能进行制作: -- Windows 8以上操作系统;Windows 7需要安装.Net Framework 4.0。(能打开同目录下的“地图生成器.exe”即可) +- Windows 8以上操作系统;Windows 7需要安装.Net Framework 4.0。(能打开同目录下的“启动服务.exe”即可) - 任一款现代浏览器。强烈推荐Chrome。 - 一个很好的文本编辑器。推荐带有高亮染色、错误提示等效果。例如:WebStorm,VSCode,或者至少也要Sublime Text。 ([VSCode下载地址](https://code.visualstudio.com/),群里的群文件中也有,强烈推荐之。) -- RPG Maker XP,任一个魔塔样板(推荐魔塔样板7630) 只要满足了上述条件,你就可以开始做自己的塔啦! +## 启动HTTP服务 + +在根目录下有一个“启动服务.exe”,运行之。 + +![启动服务](img/server.png) + +* “启动游戏”按钮将打开一个网页,你能在里面看到现在游戏的效果。 +* “地图编辑器”允许你以可视化的方式进行编辑地图。 +* “便捷PS工具”能让你很方便的对自定义素材进行添加。参见[自定义素材](personalization#自定义素材)。 +* “地图生成器”能让你从已有的截图(如RMXP项目)中立刻生成可被本样板识别的地图数据。 +* “JS代码压缩工具”能对JS代码进行压缩,从而减少IO请求数和文件大小。 +* “伤害和临界值计算器”是一个很便捷的小工具,能对怪物的伤害和临界值进行计算。 + ## 新建剧本 类似于RMXP,本塔每层楼都是一个“剧本”,剧本内主要定义了本层的地图和各种事件。主函数将读取每个剧本,并生成实际的地图供游戏使用。 @@ -30,43 +42,48 @@ ## 绘制地图 -遗憾的是,我们的样板是没有像RMXP那样有着很好的UI界面,供大家直接进行绘图可视化操作的。然而,我们仍然可以利用已有的RMXP和魔塔样板,绘制好地图,然后利用目录中的“地图生成器”来转成样板所识别的格式。 +有两种绘制地图的方式:从头绘制地图;从RMXP中导入已有的地图。 -首先,我们打开RMXP和魔塔样板,来到绘制地图页面。 +### 从头绘制地图 -![绘制地图](./img/rmxp1.png) +我们直接打开“地图编辑器”,可以看到一个可视化的UI界面。 -然后,任意绘制一张地图。 +![地图编辑器](img/mapgui.png) -在这里我们就以1层小塔的地图为例。你也可以任意绘制自己的地图。 +然后可以在上面任意进行绘制地图。 + +!> **如果地图的数字和ID未被定义,则会进行提示:数字和ID未被定义!此时可能需要手动在icons.js和maps.js中定义对应的数字和ID。请参见[自定义素材](personalization#自定义素材)。** + +绘制地图完毕后,点击"导出地图",即可在左边看到对应的JSON数组,并且已经复制到了剪切板。将其粘贴到剧本中的map位置即可。 + +![地图数组](./img/maparray.png) + +### 从RMXP导入已有的地图 + +如果我们想复刻一个现有的,已经被RMXP所制作的塔,也有很便捷的方式,那就是用到我们的“地图生成器”。 + +首先,我们打开RMXP和对应的项目,可以看到它的地图。 ![绘制地图](./img/rmxp2.png) -(我把原塔素材改成了经典样式,但是本质上是一样的。) - -请注意,我们无需编辑任何事件。只需要让地图“看起来长成这个样子”就行。 - -当绘制好需要的地图后,我们打开Windows自带的“截图工具”,并将整个地图有效区域截图下来,并将其复制到剪切板。 +我们打开Windows自带的“截图工具”,并将整个地图有效区域截图下来,并将其复制到剪切板。 ![绘制地图](./img/rmxp3.png) 截图时请注意:**只截取有效游戏空间内数据,并且有效空间内的范围必须是13x13。(如果地图小于13*13,请用星空或墙壁填充到13x13)。** -确认地图的图片文件已经复制到剪切板后,我们打开工具中的“地图生成器”,并点“加载图片”。大约1-2秒后,可以得到地图的数据。 +确认地图的图片文件已经复制到剪切板后,我们打开“地图生成器”,并点“加载图片”。大约1-2秒后,可以得到地图的数据。 ![生成地图](./img/map1.png) -如果有识别不一致的存在,即生成的地图和实际的地图不符,则需要在左边的输入框内实际手动修改,然后再点“图片生成”即可。有关每个数字对应的图块名称,请参见images目录下的`meaning.txt` +然后点击“复制地图”,即可将地图数据复制到剪切板。 + +!> **如果有识别不一致的存在,即生成的地图和实际的地图不符,我们可以在地图编辑器中粘贴,再可视化进行编辑。** !> **地图生成器默认只支持经典素材。如果有自定义素材需求(例如原版的1层小塔那种素材),请参见[自定义素材](personalization#自定义素材)。** !> **请确保截图范围刚好为13x13,并且保证每个位置的像素都是32x32。** -经过确认,生成的地图和原始地图保持一致后,点击“复制地图”,然后粘贴到刚刚剧本文件里的maps中。 - -![地图数组](./img/maparray.png) - -通过这种在RMXP中画图,截图复制,再用地图生成器识别的方式,我们成功将我们需要的地图变成了样板可识别的格式。 ## 录入数据 diff --git a/drawMapGUI.html b/drawMapGUI.html index c59246dd..475b4c78 100644 --- a/drawMapGUI.html +++ b/drawMapGUI.html @@ -4,67 +4,176 @@

@@ -114,35 +267,48 @@ + + @@ -299,10 +465,9 @@ return 0; } - - updateMap = function () { //clearGrass(); + // console.log(map) for (var xx = 0; xx <= fullX; xx++) { for (var yy = 0; yy <= fullY; yy++) { if (!isGrass(xx, yy)) continue; @@ -341,7 +506,12 @@ for (var yy = 0; yy <= fullY; yy++) { if (isGrass(xx, yy)) continue; var mapxy=map[m(xx,yy)]; - if (typeof(mapxy) == typeof(-1) || typeof(mapxy) == typeof([][0]))continue; + if (typeof(mapxy) == typeof(-1))continue; + else if(typeof(mapxy) == typeof([][0])) {//未定义块画红块 + cxt.fillStyle = 'red'; + cxt.fillRect(xx*32, yy*32, 32, 32); + continue; + } //context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height) cxt.clearRect(xx*32, yy*32, 32, 32); cxt.drawImage(core.material.images[mapxy.images], 0, mapxy.y*32, 32, 32, xx*32, yy*32, 32, 32); @@ -359,7 +529,7 @@ var prefix='',postfix=''; if (weak){prefix='';} if (typeof(str)==="undefined")str=''; - pout.innerHTML=prefix+String(str)+postfix; + printOut.innerHTML=prefix+String(str)+postfix; } drawInitData = function(){ @@ -444,6 +614,11 @@ }//用于鼠标移出canvas时的自动清除状态 ui.onmousedown = function (e) { + if(!selectBox.isSelected) { + tip.whichShow = 1; + return; + } + holdingPath = 1; mouseOutCheck = 2; setTimeout(clear1); @@ -457,6 +632,10 @@ } ui.onmousemove = function (e) { + if(!selectBox.isSelected) { + // tip.whichShow = 1; + return; + } if (holdingPath == 0) { return; } mouseOutCheck = 2; @@ -482,15 +661,19 @@ } ui.onmouseup = function (e) { + if(!selectBox.isSelected) { + tip.whichShow = 1; + return; + } holdingPath = 0; e.stopPropagation(); var loc = eToLoc(e); if (stepPostfix.length) { - console.log(stepPostfix); + // console.log(stepPostfix); for (var ii = 0; ii < stepPostfix.length; ii++) map[m(stepPostfix[ii].x, stepPostfix[ii].y)] = info; map[fullX + 1 + fullY * (fullX + 1)] = -2; - console.log(map); + // console.log(map); updateMap(); holdingPath = 0; stepPostfix = []; @@ -498,7 +681,7 @@ } } - info=ids[20];//autotile + // info=ids[indexs[20][0]];//autotile data.onmousedown = function (e) { e.stopPropagation(); var loc = { @@ -507,23 +690,26 @@ 'size': 32 }; pos = locToPos(loc); - console.log(pos); + // console.log(pos); for (var spriter in widthsX){ if(pos.x>=widthsX[spriter][1] && pos.xcore.material.images[pos.images].height)pos.y=~~(core.material.images[pos.images].height/32)-1; + pos.y=0; + }else if((pos.y+1)*32>core.material.images[pos.images].height) + pos.y=~~(core.material.images[pos.images].height/32)-1; + selectBox.isSelected = true; + // console.log(pos,core.material.images[pos.images].height) dataSelection.style.left=pos.x*32+'px'; dataSelection.style.top=pos.y*32+'px'; info={'images':pos.images,'y':pos.y}; for (var ii=0;ii'+filestr+'\n

已复制到剪贴板

'+'


'); - poutTmp.select(); - document.execCommand("Copy"); - } + + \ No newline at end of file diff --git a/libs/maps.js b/libs/maps.js index 27c2efc3..fde12e18 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -76,7 +76,6 @@ maps.prototype.getBlock = function (x, y, id) { if (id == 12) tmp.event = {'cls': 'animates', 'id': 'poisonNet', 'noPass': false, 'trigger': 'passNet'}; // 毒网 if (id == 13) tmp.event = {'cls': 'animates', 'id': 'weakNet', 'noPass': false, 'trigger': 'passNet'}; // 衰网 if (id == 14) tmp.event = {'cls': 'animates', 'id': 'curseNet', 'noPass': false, 'trigger': 'passNet'}; // 咒网 - if (id == 15) tmp.event = {'cls': 'animates', 'id': 'water', 'noPass': true}; // 水 // autotile: 20 diff --git a/启动服务.exe b/启动服务.exe index 69941a9ac654450e4caff665996f2472f816b6bb..b113ae449b7ef340563eab0bd64919de9b170076 100644 GIT binary patch delta 3268 zcmb_feQ;FO6+idBeczjf-N0^Q64($s*^m#yCQzV63n55^%7hSQTfP>ufk4QTP56jV zHZg4hZNc!M)6mipu#DP*(g4*~Y}2$wry_ztZBgM591-JmYAb@4X@B=-`IzZnopC4m z-QPLC^Ul5JynFY(?dV_~8=u@VYIo11Z&K=Wi8!;FO;iqtG3b0_PWN*UdphP2%@mHs zM61>A+;n#bksJ1m8lr56jVp2@EZ;gChAW8wa_4bY$i_RzSU#KVyvIi6zJLtkGXwve zRC;O*(KES347P_zEA7qYjh3R)ht3b&rO7g{=GAw*jYN-&R>$WPS!t$!Y(O{sW_$rG z!wk%eF9eA%0(kYnymZ~Gd$nzi;Xm^DV)#N)z#vWR5lNQ7F4FbTP|P+uB|Lw(;JqUx z6a9B9KB2TOMS^sf*OfRYw0c^O2FXXGtn^Y&$1rL{UY-aDaT!EQD@xN6 zxx!oyvsg=v0k?Q!;;jfe*8tpKF* zhgO0Yd8OZsHwkr>P;Xaa-m0Qqq#0a!q7yusDhXwXDz>2t{r|3lCpL?;qGtDC!FMmn z2sJ~9$AzjJq171Wy3$M|-jakBN(fz4Y$k56&y>rPt25=|R635uVY8yew;PBS8(OFp zm!|q>>j_7!MP$?O^iRLjKYg?oYJ=+brxlJcl4jz!h&RmLp*3(yBeWK5ANCzqh;8;x zq8|~76Cy0MP6V9Y$n7`SXw|EFU4xxg?^NPd@08+IM~~p4^+=K$ORQTP2%CUR zRJRF-#8n(joW>+?syIWTjR=o_8_>GRi4F|~GqKY`9kAQ5;dlqOxl3g06j_mkoCV(B zIE%gSR5T%9-X@~AG0sQ>uWd^-HZMcFaCiea&$vFXu9ha}5FrcYJy2IY4dX1>^PP5I zeoh@M1WENCjDGxM9yyxMabJL`&N*K+d7Xd2EhawUr;!KGvBz8&s ziNs$?JR{LkKSKNniAAcowo2j}b&0x;wxSUhy{P_3wdif2MyeKv$FFVUKFUdIk6@Up zsz5hjRf-4656A0%FKJ6DEHA2JNz$wR4uW>FgMZ-!Gbyk>}@ zM953ylm)gVvv54Wmmb>o2f|)3ag^)Auq4&{jVk zmR48FdRbbIQKdwoeVVc&N&~Ear>vN=5|*n(Wci`7RY_8Sa+A^=Od23tTHP6cbyq?Z zPnA82zx&2DZ`-8ldgOn5f+Z2eLG0WJVwv(XuF) zHE3brquL&HZGa9@CflMN0q%mD$@T%=bWrP~vB+=&_%gQaMDRnDi}UHbegp)v&d?pG8=go(0^dk77~ww4M+Ag|V+!-#xMF3)6t zGrr4Cv(Jq0LsiTjtcG&T9`O6kr`U(=pmqQ}Vjg5S5PyU*zQO!8aIe|NOzJg}lYXBx z!|2*&^Hr9~Ma?FqS*LJWwgo>cusoCtzlRF=!`1~h7W^VB;7wK~JW1;V@V(Xm{69lv z0WUWyDN4VzL>Kz48!TJik0^W1(s`7fw%ihZJR2Pk@F-odlKE^3AFxJ3xMmfyh`b;| z%+8_+rAxdQm`!E&1jJ0X3t2UvXW!4;S=6qAXO;a8Ud`L>T3*8+w^NeM z*lQ5eXXAG9*X<2F!o{74@Qd~q9_1g~+meuP*bb1~ySZ0R--s#?@)lWlyTnf3<^C7% zCz+1>p zdK#zM)iL<$i0IVkn(7?NS~y}kTa1^1!H;;i{M=3SB1XY8(|W(2{SkL&j(op&Lhz>M zt!}Q5t)JaMwQH8N%4eX{n%|gH+uqt1TU9bQw!V$3nwQ4w@o=PNv9?8ZbEi*mF63w4 z^FXX^YI|F(l`7-SYh#Hvnj4=QZH{<;*!eX6DeXeeum#-}~|G%{!Ma9AC9yqvI}(^sXp9#F||} zW_Z*f_ZSAK$IyeErBga{;cLZ{t{XX?;l6R)J9Myw{dU8}#SD_T+54P|kd5-Et!U^Db&c3pDD{lRm;AnO>I$n=o2lZt{b84s64#{ussJk!p(Dti4 zkG{HpT^=5P6q_`E>FU+<*S3aB$A+C_<)8VUN&QTKNUsPU?9TP`7v}U{9aqnKJrh1x Q`J3Th?|pw~-KF|}0Xn*DjQ{`u delta 3582 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 HGkE+LTi~UN diff --git a/更新内容.txt b/更新内容.txt deleted file mode 100644 index 24206cd5..00000000 --- a/更新内容.txt +++ /dev/null @@ -1,12 +0,0 @@ -新增:本地服务器 -新增:可视化地图编辑工具 -新增:便捷P图工具 √ -新增:支持Autotile √ -新增:怪物支持多属性,添加仇恨属性 √ -移除checkBlock,现在对领域和夹击无需指定坐标了 √ -新增:单向箭头、感叹号 √ -新增:勇士支持移动;其他事件支持移动 √ -快捷道具使用:1破2炸3飞;读档改为D键 √ -更多的默认素材;无需P图,直接替换即可 √ -破甲、反击、净化等效果放全局变量 √ -细节优化和Bug修复 √ From fa954f590d428e756d9359a4854762c456878bad Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 21 Dec 2017 19:22:24 +0800 Subject: [PATCH 05/18] Update ReadMe --- README.md | 30 +++++++++++++ docs/event.md | 24 ++++++++--- libs/core.js | 98 ++++++++++++++++++++++++++---------------- libs/data.js | 1 + libs/events.js | 15 ++++++- libs/floors/sample0.js | 5 +-- libs/floors/sample1.js | 4 +- libs/items.js | 7 ++- libs/ui.js | 2 +- 9 files changed, 133 insertions(+), 53 deletions(-) diff --git a/README.md b/README.md index 25045c7d..9a618109 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,36 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! ![样板](./docs/img/sample0.png) +## 目录结构 + +``` bash +├── /docs/ # 文档目录 +├── /images/ # 所有图片素材目录 +│ ├─ /常用素材/ # 可以被直接替换的素材 +│ └─ *.png # 对应的某个具体的图片素材 +├── /libs/ # JS源代码目录 +│ ├─ /floors/ # 剧本文件,记录了每个地图的数据和事件 +│ ├─ core.js # 系统核心文件,处理了所有逻辑等事件 +│ ├─ data.js # 记录了勇士的初始化信息、各个全局变量和全局Flag值 +│ ├─ enemys.js # 记录了怪物的信息,包括怪物的数据和特殊属性、伤害计算公式、临界值计算等。 +│ ├─ events.js # 处理事件的文件,所有系统或自定义事件都会在此文件中进行处理 +│ ├─ icons.js # 记录了图标信息,将元件的ID和images目录下的素材图标对应起来 +│ ├─ items.js # 记录了道具的信息,包括道具说明、道具效果等。 +│ ├─ maps.js # 记录了地图信息,负责将数字与元件的ID一一对应起来。 +│ └─ ui.js # UI绘制信息,主要负责绘制各个UI窗口。 +├── /sounds/ # 音效目录 +├── /常用工具/ # 一些常用工具,可以辅助造塔 +│ ├─ JS代码压缩工具.exe # 能对Javascript代码进行压缩和整合,从而减少IO请求量 +│ ├─ 便捷PS工具.exe # 能只用复制和粘贴来快速对素材进行PS操作 +│ ├─ 地图生成器.exe # 能从一张截图识别出来具体的数字数组,方便复刻已有的塔 +│ └─ 伤害和临界值计算器.exe # 一个能帮助计算怪物的伤害和临界值的小工具 +├── drawMapGUI.html # 可视化地图编辑工具,能简单地在界面上绘制地图 +├── index.html # 主程序,游戏的入口 +├── main.js # JS程序的入口,将动态对所需JS进行加载 +├── style.css # 游戏所需要用到的样式表 +└── 启动服务.exe # 一个本地的HTTP服务器,也能支撑前端的一些POST请求从而能拓展JS的IO功能。 +``` + ## 更新说明 ### 2017.12.20 diff --git a/docs/event.md b/docs/event.md index 6630f0e6..17123a5c 100644 --- a/docs/event.md +++ b/docs/event.md @@ -215,6 +215,18 @@ ![调试](./img/eventdebug.png) +### tip:显示一段提示文字 + +`{"type": "tip"}`可以在左上角显示一段提示文字。 + +``` js +"x,y": [ // 实际执行的事件列表 + {"type": "tip", "text": "这段话将在左上角以气泡形式显示"} +] +``` + +值得注意的是,提示的text内容是可以使用`${ }`来计算表达式的值的。 + ### setValue:设置勇士的某个属性、道具个数,或某个变量/Flag的值 `{"type": "setValue"}` 能修改勇士的某个属性、道具个数、或某个自定义变量或`Flag`的值。 @@ -245,6 +257,7 @@ value是一个表达式,将通过这个表达式计算出的结果赋值给nam ] ``` +另外注意一点的是,如果hp被设置成了0或以下,将触发lose事件,直接死亡。 ### show: 将一个禁用事件启用 @@ -456,14 +469,15 @@ time为可选的,指定的话将作为楼层切换动画的时间。 ``` js "x,y": [ // 实际执行的事件列表 - {"type": "setFg", "color": [255,255,255], "time": 1000}, // 更改画面色调为纯白,动画时间1000毫秒 - {"type": "setFg", "color": [0,0,0]}, // 更改画面色调为纯黑,不指定动画时间(使用默认时间) + {"type": "setFg", "color": [255,255,255,0.6], "time": 1000}, // 更改画面色调为纯白,不透明度0.6,动画时间1000毫秒 + {"type": "setFg", "color": [0,0,0]}, // 更改画面色调为纯黑,不透明度1,不指定动画时间(使用默认时间) {"type": "setFg"} // 如果不指定color则恢复原样。 ] ``` -color为需要更改画面色调的颜色。它是一个三元数组,分别指定目标颜色的R,G,B值。 -- 常见颜色: 纯黑[0,0,0],纯白[255,255,255],纯红[255,0,0],等等。 +color为需要更改画面色调的颜色。它是一个数组,分别指定目标颜色的R,G,B,A值。 +- 常见RGB颜色: 纯黑[0,0,0],纯白[255,255,255],纯红[255,0,0],等等。 +- 第四元为Alpha值,即不透明度,为一个0到1之间的数。可以不指定,则默认为Alpha=1 如果color不指定则恢复原样。 @@ -535,7 +549,7 @@ move完毕后移动的NPC/怪物一定会消失,只不过可以通过immediate ] ``` -可以看到,和上面的move事件几乎完全相同,除了少了immediateHide选项。 +可以看到,和上面的move事件几乎完全相同,除了不能指定loc,且少了immediateHide选项。 不过值得注意的是,用这种方式移动勇士的过程中将无视一切地形,无视一切事件,中毒状态也不会扣血。 diff --git a/libs/core.js b/libs/core.js index f7a0f450..aed539ee 100644 --- a/libs/core.js +++ b/libs/core.js @@ -527,12 +527,23 @@ core.prototype.keyUp = function(keyCode) { } break; case 50: // 快捷键2:炸 - if (core.status.heroStop && core.hasItem('bomb')) { - if (core.canUseItem('bomb')) { - core.useItem('bomb'); + if (core.status.heroStop) { + if (core.hasItem('bomb')) { + if (core.canUseItem('bomb')) { + core.useItem('bomb'); + } + else { + core.drawTip('当前不能使用炸弹'); + } } - else { - core.drawTip('当前不能使用炸弹'); + else if (core.hasItem('hammer')) { + if (core.canUseItem('hammer')) { + core.useItem('hammer'); + } + else { + core.drawTip('当前不能使用圣锤'); + } + } } break; @@ -1164,6 +1175,7 @@ core.prototype.setHeroMoveTriggerInterval = function () { core.drawHero(core.getHeroLoc('direction'), core.getHeroLoc('x'), core.getHeroLoc('y'), 'stop'); } core.trigger(core.getHeroLoc('x'), core.getHeroLoc('y')); + core.checkBlock(); clearInterval(core.interval.heroMoveInterval); core.status.heroMoving = false; }); @@ -1299,24 +1311,6 @@ core.prototype.moveOneStep = function() { } core.updateStatusBar(); } - // 检查领域、夹击事件 - var x=core.getHeroLoc('x'), y=core.getHeroLoc('y'); - if (core.status.checkBlock[13*x+y]>0) { - core.status.hero.hp -= core.status.checkBlock[13*x+y]; - if (core.hasBetweenAttack(x,y)) { - core.drawTip('受到夹击,生命变成一半'); - } - else if (core.hasZone(x,y)) { - core.drawTip('受到领域伤害'+core.status.checkBlock[13*x+y]+'点'); - } - if (core.status.hero.hp<=0) { - core.status.hero.hp=0; - core.updateStatusBar(); - core.events.lose('zone'); - return; - } - core.updateStatusBar(); - } } core.prototype.waitHeroToStop = function(callback) { @@ -2233,19 +2227,23 @@ core.prototype.updateCheckBlock = function() { }) var leftValue = core.status.hero.hp - damage; - if (leftValue>=0) { + if (leftValue>1) { + var has = false; // 夹击 if (x>0 && x<12) { var id1=parseInt(core.status.checkBlockMap[13*(x-1)+y]/1000000), id2=parseInt(core.status.checkBlockMap[13*(x+1)+y]/1000000); if (id1>0 && id1==id2) - damage += parseInt(leftValue/2); + has = true; } - else if (y>0 && y<12) { + if (y>0 && y<12) { var id1=parseInt(core.status.checkBlockMap[13*x+y-1]/1000000), id2=parseInt(core.status.checkBlockMap[13*x+y+1]/1000000); if (id1>0 && id1==id2) - damage += parseInt(leftValue/2); + has = true; + } + if (has) { + damage += parseInt((leftValue+1) / 2); } } } @@ -2254,6 +2252,27 @@ core.prototype.updateCheckBlock = function() { } } +core.prototype.checkBlock = function () { + // 检查领域、夹击事件 + var x=core.getHeroLoc('x'), y=core.getHeroLoc('y'); + if (core.status.checkBlock[13*x+y]>0) { + core.status.hero.hp -= core.status.checkBlock[13*x+y]; + if (core.hasBetweenAttack(x,y)) { + core.drawTip('受到夹击,生命变成一半'); + } + else if (core.hasZone(x,y)) { + core.drawTip('受到领域伤害'+core.status.checkBlock[13*x+y]+'点'); + } + if (core.status.hero.hp<=0) { + core.status.hero.hp=0; + core.updateStatusBar(); + core.events.lose('zone'); + return; + } + core.updateStatusBar(); + } +} + core.prototype.hasZone = function (x,y) { if (!core.isset(core.status.checkBlockMap)) core.updateCheckBlockMap(); var isZone = false; @@ -2289,28 +2308,30 @@ core.prototype.setFg = function(color, time, callback) { time = time || 750; core.setOpacity('fg', 1); - var fromAlpha = 0; - if (core.isset(core.status.event.data.currentColor)) { - fromAlpha = 1; - } - else { - core.status.event.data.currentColor = [0,0,0]; + var reset = false; + + if (!core.isset(core.status.event.data.currentColor)) { + core.status.event.data.currentColor = [0,0,0,0]; } var fromColor = core.status.event.data.currentColor; - var toAlpha = 1; if (!core.isset(color)) { - color = [0,0,0]; - toAlpha=0; + color = [0,0,0,0]; + reset = true; } + if (color.length==3) { + color.push(1); + } + if (color[3]<0) color[3]=0; + if (color[3]>1) color[3]=1; var step=0; var changeAnimate = setInterval(function() { step++; core.clearMap('fg', 0, 0, 416, 416); - var nowAlpha = fromAlpha+(toAlpha-fromAlpha)*step/25; + var nowAlpha = fromColor[3]+(color[3]-fromColor[3])*step/25; var nowR = parseInt(fromColor[0]+(color[0]-fromColor[0])*step/25); var nowG = parseInt(fromColor[1]+(color[1]-fromColor[1])*step/25); var nowB = parseInt(fromColor[2]+(color[2]-fromColor[2])*step/25); @@ -2324,7 +2345,7 @@ core.prototype.setFg = function(color, time, callback) { if (step>=25) { clearInterval(changeAnimate); - if (toAlpha==0) { + if (reset) { core.clearMap('fg', 0, 0, 416, 416); delete core.status.event.data.currentColor; core.setAlpha('fg', 1); @@ -2383,6 +2404,7 @@ core.prototype.updateFg = function () { // 如果存在颜色 if (core.isset(core.status.event.data) && core.isset(core.status.event.data.currentColor)) { var color=core.status.event.data.currentColor; + core.setAlpha('fg', color[3]); core.fillRect("fg",0,0,416,416,"#"+((1<<24)+(color[0]<<16)+(color[1]<<8)+color[2]).toString(16).slice(1)); return; } diff --git a/libs/data.js b/libs/data.js index df1f02d0..d91af1c6 100644 --- a/libs/data.js +++ b/libs/data.js @@ -124,6 +124,7 @@ data.prototype.init = function() { /****** 道具相关 ******/ "flyNearStair": true, // 是否需要在楼梯边使用传送器 "pickaxeFourDirections": true, // 使用破墙镐是否四个方向都破坏;如果false则只破坏面前的墙壁 + "bombFourDirections": true, // 使用炸弹是否四个方向都会炸;如果false则只炸面前的怪物(即和圣锤等价) "bigKeyIsBox": false, // 如果此项为true,则视为钥匙盒,红黄蓝钥匙+1;若为false,则视为大黄门钥匙 /****** 系统相关 ******/ "startDirectly": false, // 点击“开始游戏”后是否立刻开始游戏而不显示难度选择界面 diff --git a/libs/events.js b/libs/events.js index 60b11111..fac9f95e 100644 --- a/libs/events.js +++ b/libs/events.js @@ -163,6 +163,9 @@ events.prototype.doAction = function() { case "text": // 文字/对话 core.ui.drawTextBox(data.data); break; + case "tip": + core.drawTip(core.replaceText(data.text)); + core.events.doAction(); case "show": // 显示 if (core.isset(data.time) && data.time>0 && (!core.isset(data.floorId) || data.floorId==core.status.floorId)) { core.animateBlock(data.loc[0],data.loc[1],'show', data.time, function () { @@ -301,8 +304,16 @@ events.prototype.doAction = function() { } } catch (e) {console.log(e)} - core.updateStatusBar(); - this.doAction(); + if (core.status.hero.hp<=0) { + core.status.hero.hp=0; + core.updateStatusBar(); + core.events.lose('damage'); + + } + else { + core.updateStatusBar(); + this.doAction(); + } break; case "if": // 条件判断 if (core.calValue(data.condition)) diff --git a/libs/floors/sample0.js b/libs/floors/sample0.js index 266fb844..5f296247 100644 --- a/libs/floors/sample0.js +++ b/libs/floors/sample0.js @@ -59,9 +59,8 @@ main.floors.sample0 = { "\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。", {"type": "hide", "time": 500} ], - "2,3": [ // 守着第三批怪物额老人 + "2,3": [ // 守着第三批怪物的老人 "\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。", - "\t[老人,magician]出于游戏性能的考虑,我们不可能每走一步都对领域和夹击进行检查。\n因此我们需要在本楼层的 checkBlock 中指明哪些点可能会触发领域和夹击事件,在这些点才会对领域和夹击进行检查和处理。\n具体可参见本层 checkBlock 的写法。", "\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。\n\n另:本塔不支持阻击怪。", {"type": "hide", "time": 500} ], @@ -99,7 +98,7 @@ main.floors.sample0 = { ], "10,5": ["破墙镐是破面前的墙壁还是四个方向的墙壁,由data.js中的系统Flag所决定。"], "8,4": [ - "炸弹可以炸四个方向的怪物。\n如只需要炸前方怪物请使用上面的圣锤。\n不能被炸的怪物在enemys中可以定义,可参见样板里黑衣魔王和黑暗大法师的写法。", + "炸弹是只能炸面前的怪物还是四个方向的怪物,由data.js中的系统Flag所决定。\n如只能炸前方怪物则和上面的圣锤等价。\n不能被炸的怪物在enemys中可以定义,可参见样板里黑衣魔王和黑暗大法师的写法。", ], "10,4": ["“上楼”和“下楼”的目标层由 main.js 的 floorIds顺序所决定。"], "10,3": ["十字架目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见doc文档。"], diff --git a/libs/floors/sample1.js b/libs/floors/sample1.js index c3685f07..9a29892b 100644 --- a/libs/floors/sample1.js +++ b/libs/floors/sample1.js @@ -13,7 +13,7 @@ main.floors.sample1 = { [2, 2, 2, 2, 121, 2, 2, 2, 0, 0, 229, 0, 0], [43, 33, 44, 1, 0, 0, 0, 2, 165, 161, 0, 163, 165], [21, 22, 21, 1, 0, 0, 0, 2, 166, 165, 0, 165, 166], - [1, 245, 1, 1, 219, 87, 0, 2, 2, 2, 85, 2, 2], + [1, 245, 1, 1, 0, 87, 0, 2, 2, 2, 85, 2, 2], [0, 246, 0, 1, 0, 0, 0, 2, 2, 221, 0, 221, 2], [246, 0, 246, 1, 0, 0, 0, 121, 85, 0, 0, 0, 2], [1, 246, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2], @@ -30,7 +30,7 @@ main.floors.sample1 = { "4,10": [ // 走到中间时的提示 "\t[样板提示]本层楼将会对各类事件进行介绍。", "左边是一个仿50层的陷阱做法,上方是商店、快捷商店的使用方法,右上是一个典型的杀怪开门的例子,右下是各类可能的NPC事件。", - "本样板目前支持的事件列表大致有:\ntext: 显示一段文字(比如你现在正在看到的)\nshow: 使一个事件有效(可见、可被交互)\nhide: 使一个事件失效(不可见、不可被交互)\ntrigger: 触发另一个地点的事件\nbattle: 强制和某怪物战斗\nopenDoor: 无需钥匙开门(例如机关门、暗墙)\nopenShop: 打开一个全局商店\ndisableShop: 禁用一个全局商店\nchangeFloor: 传送勇士到某层某位置\nchangePos: 传送勇士到当层某位置;转向\nsetFg: 更改画面色调", + "本样板目前支持的事件列表大致有:\ntext: 显示一段文字(比如你现在正在看到的)\ntip: 左上角显示提示\nshow: 使一个事件有效(可见、可被交互)\nhide: 使一个事件失效(不可见、不可被交互)\ntrigger: 触发另一个地点的事件\nbattle: 强制和某怪物战斗\nopenDoor: 无需钥匙开门(例如机关门、暗墙)\nopenShop: 打开一个全局商店\ndisableShop: 禁用一个全局商店\nchangeFloor: 传送勇士到某层某位置\nchangePos: 传送勇士到当层某位置;转向\nsetFg: 更改画面色调", "move: 移动事件效果\nmoveHero: 移动勇士效果\nplaySound: 播放某个音频\nif: 条件判断\nchoices: 提供选项\nsetValue: 设置勇士属性道具,或某个变量/flag\nupdate: 更新状态栏和地图显伤\nwin: 获得胜利(游戏通关)\nlose: 游戏失败\nsleep: 等待多少毫秒\nexit: 立刻结束当前事件\nrevisit: 立刻结束事件并重新触发\nfunction: 自定义JS脚本\n更多支持的事件还在编写中,欢迎您宝贵的意见。", "有关各事件的样例,可参见本层一些NPC的写法。\n所有事件样例本层都有介绍。\n\n一个自定义事件处理完后,需要调用{\"type\": \"hide\"}该事件才不会再次出现。", {"type": "hide"} diff --git a/libs/items.js b/libs/items.js index bcd74911..e2a36c8a 100644 --- a/libs/items.js +++ b/libs/items.js @@ -46,7 +46,7 @@ items.prototype.init = function () { 'steelKey': {'cls': 'tools', 'name': '铁门钥匙', 'text': '可以打开一扇铁门'}, 'pickaxe': {'cls': 'tools', 'name': '破墙镐', 'text': '可以破坏勇士面前的墙'}, 'icePickaxe': {'cls': 'tools', 'name': '破冰镐', 'text': '可以破坏勇士面前的一堵冰墙'}, - 'bomb': {'cls': 'tools', 'name': '炸弹', 'text': '可以炸掉勇士四周的怪物'}, + 'bomb': {'cls': 'tools', 'name': '炸弹', 'text': '可以炸掉勇士面前的怪物'}, 'centerFly': {'cls': 'tools', 'name': '中心对称飞行器', 'text': '可以飞向当前楼层中心对称的位置'}, 'upFly': {'cls': 'tools', 'name': '上楼器', 'text': '可以飞往楼上的相同位置'}, 'downFly': {'cls': 'tools', 'name': '下楼器', 'text': '可以飞往楼下的相同位置'}, @@ -67,6 +67,8 @@ items.prototype.getItems = function () { // 面前的墙?四周的墙? if (core.flags.pickaxeFourDirections) this.items.pickaxe.text = "可以破坏勇士四周的墙"; + if (core.flags.bombFourDirections) + this.items.bomb.text = "可以炸掉勇士四周的怪物"; return this.items; } @@ -247,7 +249,8 @@ items.prototype.canUseItem = function (itemId) { if (core.isset(block.event) && !(core.isset(block.enable) && !block.enable) && block.event.cls == 'enemys' && Math.abs(block.x-core.status.hero.loc.x)+Math.abs(block.y-core.status.hero.loc.y)<=1) { var enemy = core.material.enemys[block.event.id]; if (core.isset(enemy.bomb) && !enemy.bomb) continue; - ids.push(i); + if (core.flags.bombFourDirections || (block.x==core.nextX() && block.y==core.nextY())) + ids.push(i); } } if (ids.length>0) { diff --git a/libs/ui.js b/libs/ui.js index 3d238f6f..0acbb2b3 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -382,7 +382,7 @@ ui.prototype.drawQuickShop = function (need) { core.fillText('ui', shopList[keys[i]].textInList, 208, top + 56 + 32 * i, "#FFFFFF", "bold 17px Verdana"); } - core.fillText('ui', "返回游戏", 208, top + bottom - 40); + core.fillText('ui', "返回游戏", 208, top + bottom - 40, "#FFFFFF", "bold 17px Verdana"); } ui.prototype.drawBattleAnimate = function(monsterId, callback) { From d44453a7b052ac79eaa2affe4f41434b0ef22939 Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 21 Dec 2017 19:28:04 +0800 Subject: [PATCH 06/18] Update ReadMe --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9a618109..b4c33854 100644 --- a/README.md +++ b/README.md @@ -28,16 +28,16 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! │ ├─ maps.js # 记录了地图信息,负责将数字与元件的ID一一对应起来。 │ └─ ui.js # UI绘制信息,主要负责绘制各个UI窗口。 ├── /sounds/ # 音效目录 -├── /常用工具/ # 一些常用工具,可以辅助造塔 -│ ├─ JS代码压缩工具.exe # 能对Javascript代码进行压缩和整合,从而减少IO请求量 -│ ├─ 便捷PS工具.exe # 能只用复制和粘贴来快速对素材进行PS操作 -│ ├─ 地图生成器.exe # 能从一张截图识别出来具体的数字数组,方便复刻已有的塔 -│ └─ 伤害和临界值计算器.exe # 一个能帮助计算怪物的伤害和临界值的小工具 +├── /常用工具/ # 一些常用工具,可以辅助造塔 +│ ├─ JS代码压缩工具.exe # 能对Javascript代码进行压缩和整合,从而减少IO请求量。 http://github.com/ckcz123/JSCompressor/ +│ ├─ 便捷PS工具.exe # 能只用复制和粘贴来快速对素材进行PS操作。 http://github.com/ckcz123/ps/ +│ ├─ 地图生成器.exe # 能从一张截图识别出来具体的数字数组,方便复刻已有的塔。 http://github.com/ckcz123/map_generator/ +│ └─ 伤害和临界值计算器.exe # 一个能帮助计算怪物的伤害和临界值的小工具。 http://github.com/ckcz123/magic-tower-calculator/ ├── drawMapGUI.html # 可视化地图编辑工具,能简单地在界面上绘制地图 ├── index.html # 主程序,游戏的入口 ├── main.js # JS程序的入口,将动态对所需JS进行加载 ├── style.css # 游戏所需要用到的样式表 -└── 启动服务.exe # 一个本地的HTTP服务器,也能支撑前端的一些POST请求从而能拓展JS的IO功能。 +└── 启动服务.exe # 一个本地的HTTP服务器,也能支撑前端的一些POST请求从而能拓展JS的IO功能。 http://github.com/ckcz123/mota-js-server/ ``` ## 更新说明 From 8d6a75929d5f796963c0497602797633b1418328 Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 21 Dec 2017 20:54:08 +0800 Subject: [PATCH 07/18] Fix HTTP Bug --- README.md | 7 ++- SimpleHttpServer.dll | Bin 44544 -> 0 bytes _server/fsTest_cs.html | 126 +++++++++++++++++++++++++++++++++++++++++ _test.txt | 1 + _test_bin.txt | 1 + 启动服务.exe | Bin 15872 -> 53760 bytes 6 files changed, 132 insertions(+), 3 deletions(-) delete mode 100644 SimpleHttpServer.dll create mode 100644 _server/fsTest_cs.html create mode 100644 _test.txt create mode 100644 _test_bin.txt diff --git a/README.md b/README.md index b4c33854..d5c47f19 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# H5 魔塔样板 +# HTML5 魔塔样板 ## 简介 @@ -13,16 +13,17 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! ## 目录结构 ``` bash +├── /_server/ # 为可视化地图编辑器提供一些支持的目录 ├── /docs/ # 文档目录 ├── /images/ # 所有图片素材目录 │ ├─ /常用素材/ # 可以被直接替换的素材 │ └─ *.png # 对应的某个具体的图片素材 ├── /libs/ # JS源代码目录 │ ├─ /floors/ # 剧本文件,记录了每个地图的数据和事件 -│ ├─ core.js # 系统核心文件,处理了所有逻辑等事件 +│ ├─ core.js # 系统核心文件 │ ├─ data.js # 记录了勇士的初始化信息、各个全局变量和全局Flag值 │ ├─ enemys.js # 记录了怪物的信息,包括怪物的数据和特殊属性、伤害计算公式、临界值计算等。 -│ ├─ events.js # 处理事件的文件,所有系统或自定义事件都会在此文件中进行处理 +│ ├─ events.js # 处理事件的文件,所有自定义事件都会在此文件中进行处理 │ ├─ icons.js # 记录了图标信息,将元件的ID和images目录下的素材图标对应起来 │ ├─ items.js # 记录了道具的信息,包括道具说明、道具效果等。 │ ├─ maps.js # 记录了地图信息,负责将数字与元件的ID一一对应起来。 diff --git a/SimpleHttpServer.dll b/SimpleHttpServer.dll deleted file mode 100644 index f4289b3de08cb6579f9b8f4d331e829d29c1400f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44544 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 + + + + + + + \ No newline at end of file diff --git a/_test.txt b/_test.txt new file mode 100644 index 00000000..0525236e --- /dev/null +++ b/_test.txt @@ -0,0 +1 @@ +123中a文bc \ No newline at end of file diff --git a/_test_bin.txt b/_test_bin.txt new file mode 100644 index 00000000..2120b7bf --- /dev/null +++ b/_test_bin.txt @@ -0,0 +1 @@ +i \ No newline at end of file diff --git a/启动服务.exe b/启动服务.exe index b113ae449b7ef340563eab0bd64919de9b170076..e6f4a85c774ccdd57058ce2c59821838b7366059 100644 GIT binary patch literal 53760 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�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 C*6zmu delta 7130 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 Date: Thu, 21 Dec 2017 20:54:21 +0800 Subject: [PATCH 08/18] Fix HTTP Bug --- _test.txt | 1 - _test_bin.txt | 1 - 2 files changed, 2 deletions(-) delete mode 100644 _test.txt delete mode 100644 _test_bin.txt diff --git a/_test.txt b/_test.txt deleted file mode 100644 index 0525236e..00000000 --- a/_test.txt +++ /dev/null @@ -1 +0,0 @@ -123中a文bc \ No newline at end of file diff --git a/_test_bin.txt b/_test_bin.txt deleted file mode 100644 index 2120b7bf..00000000 --- a/_test_bin.txt +++ /dev/null @@ -1 +0,0 @@ -i \ No newline at end of file From bc789fc0df7f7ab2cf9ba834ca10d958e131e06a Mon Sep 17 00:00:00 2001 From: echo Date: Thu, 21 Dec 2017 22:35:12 +0800 Subject: [PATCH 09/18] update drawMapGui --- _server/vendor/vue.min.js | 6 + drawMapGUI.html | 637 ++++++++++++++++++++++++++++++++------ 2 files changed, 556 insertions(+), 87 deletions(-) create mode 100644 _server/vendor/vue.min.js diff --git a/_server/vendor/vue.min.js b/_server/vendor/vue.min.js new file mode 100644 index 00000000..4eb55b79 --- /dev/null +++ b/_server/vendor/vue.min.js @@ -0,0 +1,6 @@ +/*! + * Vue.js v2.5.11 + * (c) 2014-2017 Evan You + * Released under the MIT License. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.Vue=e()}(this,function(){"use strict";function t(t){return void 0===t||null===t}function e(t){return void 0!==t&&null!==t}function n(t){return!0===t}function r(t){return"string"==typeof t||"number"==typeof t||"boolean"==typeof t}function i(t){return null!==t&&"object"==typeof t}function o(t){return"[object Object]"===Nn.call(t)}function a(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function s(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function c(t){var e=parseFloat(t);return isNaN(e)?t:e}function u(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(n,1)}}function f(t,e){return Mn.call(t,e)}function d(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}function p(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function v(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function h(t,e){for(var n in e)t[n]=e[n];return t}function m(t){for(var e={},n=0;n0&&(tt((s=et(s,(o||"")+"_"+a))[0])&&tt(u)&&(l[c]=x(u.text+s[0].text),s.shift()),l.push.apply(l,s)):r(s)?tt(u)?l[c]=x(u.text+s):""!==s&&l.push(x(s)):tt(s)&&tt(u)?l[c]=x(u.text+s.text):(n(i._isVList)&&e(s.tag)&&t(s.key)&&e(o)&&(s.key="__vlist"+o+"_"+a+"__"),l.push(s)));return l}function nt(t,e){return(t.__esModule||fr&&"Module"===t[Symbol.toStringTag])&&(t=t.default),i(t)?e.extend(t):t}function rt(t){return t.isComment&&t.asyncFactory}function it(t){if(Array.isArray(t))for(var n=0;n=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}}(n[o],r[o],i[o]));return e}(t);r&&h(t.extendOptions,r),(e=t.options=F(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function Rt(t){this._init(t)}function Ht(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=F(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)mt(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)gt(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,zn.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=h({},a.options),i[r]=a,a}}function Bt(t){return t&&(t.Ctor.options.name||t.tag)}function Ut(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!function(t){return"[object RegExp]"===Nn.call(t)}(t)&&t.test(e)}function Vt(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=Bt(a.componentOptions);s&&!e(s)&&zt(n,o,r,i)}}}function zt(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,l(n,e)}function Kt(t){for(var n=t.data,r=t,i=t;e(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(n=Jt(i.data,n));for(;e(r=r.parent);)r&&r.data&&(n=Jt(n,r.data));return function(t,n){if(e(t)||e(n))return qt(t,Wt(n));return""}(n.staticClass,n.class)}function Jt(t,n){return{staticClass:qt(t.staticClass,n.staticClass),class:e(t.class)?[t.class,n.class]:n.class}}function qt(t,e){return t?e?t+" "+e:t:e||""}function Wt(t){return Array.isArray(t)?function(t){for(var n,r="",i=0,o=t.length;i=0&&" "===(m=t.charAt(h));h--);m&&Ii.test(m)||(l=!0)}}else void 0===o?(v=i+1,o=t.slice(0,i).trim()):e();if(void 0===o?o=t.slice(0,i).trim():0!==v&&e(),a)for(i=0;i-1?{exp:t.slice(0,ii),key:'"'+t.slice(ii+1)+'"'}:{exp:t,key:null};ni=t,ii=oi=ai=0;for(;!ge();)_e(ri=ye())?be(ri):91===ri&&function(t){var e=1;oi=ii;for(;!ge();)if(t=ye(),_e(t))be(t);else if(91===t&&e++,93===t&&e--,0===e){ai=ii;break}}(ri);return{exp:t.slice(0,oi),key:t.slice(oi+1,ai)}}(t);return null===n.key?t+"="+e:"$set("+n.exp+", "+n.key+", "+e+")"}function ye(){return ni.charCodeAt(++ii)}function ge(){return ii>=ei}function _e(t){return 34===t||39===t}function be(t){for(var e=t;!ge()&&(t=ye())!==e;);}function $e(t,e,n,r,i){e=function(t){return t._withTask||(t._withTask=function(){Er=!0;var e=t.apply(null,arguments);return Er=!1,e})}(e),n&&(e=function(t,e,n){var r=si;return function i(){null!==t.apply(null,arguments)&&Ce(e,i,n,r)}}(e,t,r)),si.addEventListener(t,e,or?{capture:r,passive:i}:r)}function Ce(t,e,n,r){(r||si).removeEventListener(t,e._withTask||e,n)}function we(n,r){if(!t(n.data.on)||!t(r.data.on)){var i=r.data.on||{},o=n.data.on||{};si=r.elm,function(t){if(e(t[Li])){var n=Qn?"change":"input";t[n]=[].concat(t[Li],t[n]||[]),delete t[Li]}e(t[Mi])&&(t.change=[].concat(t[Mi],t.change||[]),delete t[Mi])}(i),X(i,o,$e,Ce,r.context),si=void 0}}function xe(n,r){if(!t(n.data.domProps)||!t(r.data.domProps)){var i,o,a=r.elm,s=n.data.domProps||{},u=r.data.domProps||{};e(u.__ob__)&&(u=r.data.domProps=h({},u));for(i in s)t(u[i])&&(a[i]="");for(i in u){if(o=u[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),o===s[i])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===i){a._value=o;var l=t(o)?"":String(o);(function(t,n){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,n)||function(t,n){var r=t.value,i=t._vModifiers;if(e(i)){if(i.lazy)return!1;if(i.number)return c(r)!==c(n);if(i.trim)return r.trim()!==n.trim()}return r!==n}(t,n))})(a,l)&&(a.value=l)}else a[i]=o}}}function ke(t){var e=Ae(t.style);return t.staticStyle?h(t.staticStyle,e):e}function Ae(t){return Array.isArray(t)?m(t):"string"==typeof t?Fi(t):t}function Oe(n,r){var i=r.data,o=n.data;if(!(t(i.staticStyle)&&t(i.style)&&t(o.staticStyle)&&t(o.style))){var a,s,c=r.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,d=Ae(r.data.style)||{};r.data.normalizedStyle=e(d.__ob__)?h({},d):d;var p=function(t,e){var n,r={};if(e)for(var i=t;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=ke(i.data))&&h(r,n);(n=ke(t.data))&&h(r,n);for(var o=t;o=o.parent;)o.data&&(n=ke(o.data))&&h(r,n);return r}(r,!0);for(s in f)t(p[s])&&Bi(c,s,"");for(s in p)(a=p[s])!==f[s]&&Bi(c,s,null==a?"":a)}}function Se(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Te(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Ee(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&h(e,Ki(t.name||"v")),h(e,t),e}return"string"==typeof t?Ki(t):void 0}}function je(t){Qi(function(){Qi(t)})}function Ne(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Se(t,e))}function Ie(t,e){t._transitionClasses&&l(t._transitionClasses,e),Te(t,e)}function Le(t,e,n){var r=Me(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===qi?Zi:Yi,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c0&&(n=qi,l=a,f=o.length):e===Wi?u>0&&(n=Wi,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?qi:Wi:null)?n===qi?o.length:c.length:0;return{type:n,timeout:l,propCount:f,hasTransform:n===qi&&to.test(r[Gi+"Property"])}}function De(t,e){for(;t.length1}function Ue(t,e){!0!==e.data.show&&Fe(e)}function Ve(t,e,n){ze(t,e,n),(Qn||er)&&setTimeout(function(){ze(t,e,n)},0)}function ze(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=t.options.length;s-1,a.selected!==o&&(a.selected=o);else if(g(Je(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function Ke(t,e){return e.every(function(e){return!g(e,t)})}function Je(t){return"_value"in t?t._value:t.value}function qe(t){t.target.composing=!0}function We(t){t.target.composing&&(t.target.composing=!1,Ge(t.target,"input"))}function Ge(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Ze(t){return!t.componentInstance||t.data&&t.data.transition?t:Ze(t.componentInstance._vnode)}function Xe(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Xe(it(e.children)):t}function Ye(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[Pn(o)]=i[o];return e}function Qe(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function tn(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function en(t){t.data.newPos=t.elm.getBoundingClientRect()}function nn(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}function rn(t,e){var n=e?zo:Vo;return t.replace(n,function(t){return Uo[t]})}function on(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:function(t){for(var e={},n=0,r=t.length;n=0&&a[i].lowerCasedTag!==s;i--);else i=0;if(i>=0){for(var c=a.length-1;c>=i;c--)e.end&&e.end(a[c].tag,n,r);a.length=i,o=i&&a[i-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,r):"p"===s&&(e.start&&e.start(t,[],!1,n,r),e.end&&e.end(t,n,r))}for(var i,o,a=[],s=e.expectHTML,c=e.isUnaryTag||Bn,u=e.canBeLeftOpenTag||Bn,l=0;t;){if(i=t,o&&Ho(o)){var f=0,d=o.toLowerCase(),p=Bo[d]||(Bo[d]=new RegExp("([\\s\\S]*?)(]*>)","i")),v=t.replace(p,function(t,n,r){return f=r.length,Ho(d)||"noscript"===d||(n=n.replace(//g,"$1").replace(//g,"$1")),Jo(d,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""});l+=t.length-v.length,t=v,r(d,l-f,l)}else{var h=t.indexOf("<");if(0===h){if(Ao.test(t)){var m=t.indexOf("--\x3e");if(m>=0){e.shouldKeepComment&&e.comment(t.substring(4,m)),n(m+3);continue}}if(Oo.test(t)){var y=t.indexOf("]>");if(y>=0){n(y+2);continue}}var g=t.match(ko);if(g){n(g[0].length);continue}var _=t.match(xo);if(_){var b=l;n(_[0].length),r(_[1],b,l);continue}var $=function(){var e=t.match(Co);if(e){var r={tagName:e[1],attrs:[],start:l};n(e[0].length);for(var i,o;!(i=t.match(wo))&&(o=t.match(_o));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=l,r}}();if($){!function(t){var n=t.tagName,i=t.unarySlash;s&&("p"===o&&go(n)&&r(o),u(n)&&o===n&&r(n));for(var l=c(n)||!!i,f=t.attrs.length,d=new Array(f),p=0;p=0){for(w=t.slice(h);!(xo.test(w)||Co.test(w)||Ao.test(w)||Oo.test(w)||(x=w.indexOf("<",1))<0);)h+=x,w=t.slice(h);C=t.substring(0,h),n(h)}h<0&&(C=t,t=""),e.chars&&C&&e.chars(C)}if(t===i){e.chars&&e.chars(t);break}}r()}(t,{warn:To,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,start:function(t,a,u){var l=i&&i.ns||Do(t);Qn&&"svg"===l&&(a=function(t){for(var e=[],n=0;na&&o.push(JSON.stringify(t.slice(a,i)));var s=ae(r[1].trim());o.push("_s("+s+")"),a=i+r[0].length}return a':'

',Ro.innerHTML.indexOf(" ")>0}var jn=Object.freeze({}),Nn=Object.prototype.toString,In=u("slot,component",!0),Ln=u("key,ref,slot,slot-scope,is"),Mn=Object.prototype.hasOwnProperty,Dn=/-(\w)/g,Pn=d(function(t){return t.replace(Dn,function(t,e){return e?e.toUpperCase():""})}),Fn=d(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Rn=/\B([A-Z])/g,Hn=d(function(t){return t.replace(Rn,"-$1").toLowerCase()}),Bn=function(t,e,n){return!1},Un=function(t){return t},Vn="data-server-rendered",zn=["component","directive","filter"],Kn=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Jn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Bn,isReservedAttr:Bn,isUnknownElement:Bn,getTagNamespace:y,parsePlatformTagName:Un,mustUseProp:Bn,_lifecycleHooks:Kn},qn=/[^\w.$]/,Wn="__proto__"in{},Gn="undefined"!=typeof window,Zn="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Xn=Zn&&WXEnvironment.platform.toLowerCase(),Yn=Gn&&window.navigator.userAgent.toLowerCase(),Qn=Yn&&/msie|trident/.test(Yn),tr=Yn&&Yn.indexOf("msie 9.0")>0,er=Yn&&Yn.indexOf("edge/")>0,nr=Yn&&Yn.indexOf("android")>0||"android"===Xn,rr=Yn&&/iphone|ipad|ipod|ios/.test(Yn)||"ios"===Xn,ir=(Yn&&/chrome\/\d+/.test(Yn),{}.watch),or=!1;if(Gn)try{var ar={};Object.defineProperty(ar,"passive",{get:function(){or=!0}}),window.addEventListener("test-passive",null,ar)}catch(t){}var sr,cr,ur=function(){return void 0===sr&&(sr=!Gn&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),sr},lr=Gn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,fr="undefined"!=typeof Symbol&&w(Symbol)&&"undefined"!=typeof Reflect&&w(Reflect.ownKeys);cr="undefined"!=typeof Set&&w(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var dr=y,pr=0,vr=function(){this.id=pr++,this.subs=[]};vr.prototype.addSub=function(t){this.subs.push(t)},vr.prototype.removeSub=function(t){l(this.subs,t)},vr.prototype.depend=function(){vr.target&&vr.target.addDep(this)},vr.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;eVr&&Fr[n].id>t.id;)n--;Fr.splice(n+1,0,t)}else Fr.push(t);Br||(Br=!0,q(ht))}}(this)},Kr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||i(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){V(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Kr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Kr.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Kr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||l(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Jr={enumerable:!0,configurable:!0,get:y,set:y},qr={lazy:!0};Nt(It.prototype);var Wr={init:function(t,n,r,i){if(!t.componentInstance||t.componentInstance._isDestroyed){(t.componentInstance=function(t,n,r,i){var o={_isComponent:!0,parent:n,_parentVnode:t,_parentElm:r||null,_refElm:i||null},a=t.data.inlineTemplate;return e(a)&&(o.render=a.render,o.staticRenderFns=a.staticRenderFns),new t.componentOptions.Ctor(o)}(t,Pr,r,i)).$mount(n?t.elm:void 0,n)}else if(t.data.keepAlive){var o=t;Wr.prepatch(o,o)}},prepatch:function(t,e){var n=e.componentOptions;!function(t,e,n,r,i){var o=!!(i||t.$options._renderChildren||r.data.scopedSlots||t.$scopedSlots!==jn);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=i,t.$attrs=r.data&&r.data.attrs||jn,t.$listeners=n||jn,e&&t.$options.props){Cr.shouldConvert=!1;for(var a=t._props,s=t.$options._propKeys||[],c=0;c1?v(n):n;for(var r=v(arguments,1),i=0,o=n.length;iparseInt(this.max)&&zt(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={};e.get=function(){return Jn},Object.defineProperty(t,"config",e),t.util={warn:dr,extend:h,mergeOptions:F,defineReactive:E},t.set=j,t.delete=N,t.nextTick=q,t.options=Object.create(null),zn.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,h(t.options.components,ti),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=v(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=F(this.options,t),this}}(t),Ht(t),function(t){zn.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&o(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}(t)}(Rt),Object.defineProperty(Rt.prototype,"$isServer",{get:ur}),Object.defineProperty(Rt.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Rt.version="2.5.11";var ei,ni,ri,ii,oi,ai,si,ci,ui=u("style,class"),li=u("input,textarea,option,select,progress"),fi=function(t,e,n){return"value"===n&&li(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},di=u("contenteditable,draggable,spellcheck"),pi=u("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),vi="http://www.w3.org/1999/xlink",hi=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},mi=function(t){return hi(t)?t.slice(6,t.length):""},yi=function(t){return null==t||!1===t},gi={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},_i=u("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),bi=u("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),$i=function(t){return _i(t)||bi(t)},Ci=Object.create(null),wi=u("text,number,password,search,email,tel,url"),xi=Object.freeze({createElement:function(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(t,e){return document.createElementNS(gi[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setAttribute:function(t,e,n){t.setAttribute(e,n)}}),ki={create:function(t,e){Xt(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Xt(t,!0),Xt(e))},destroy:function(t){Xt(t,!0)}},Ai=new mr("",{},[]),Oi=["create","activate","update","remove","destroy"],Si={create:te,update:te,destroy:function(t){te(t,Ai)}},Ti=Object.create(null),Ei=[ki,Si],ji={create:re,update:re},Ni={create:oe,update:oe},Ii=/[\w).+\-_$\]]/,Li="__r",Mi="__c",Di={create:we,update:we},Pi={create:xe,update:xe},Fi=d(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}),Ri=/^--/,Hi=/\s*!important$/,Bi=function(t,e,n){if(Ri.test(e))t.style.setProperty(e,n);else if(Hi.test(n))t.style.setProperty(e,n.replace(Hi,""),"important");else{var r=Vi(e);if(Array.isArray(n))for(var i=0,o=n.length;ip?v(n,t(i[g+1])?null:i[g+1].elm,i,d,g,o):d>g&&m(0,r,f,p)}function _(r,i,o,a){if(r!==i){var s=i.elm=r.elm;if(n(r.isAsyncPlaceholder))e(i.asyncFactory.resolved)?$(r.elm,i,o):i.isAsyncPlaceholder=!0;else if(n(i.isStatic)&&n(r.isStatic)&&i.key===r.key&&(n(i.isCloned)||n(i.isOnce)))i.componentInstance=r.componentInstance;else{var c,u=i.data;e(u)&&e(c=u.hook)&&e(c=c.prepatch)&&c(r,i);var l=r.children,d=i.children;if(e(u)&&f(i)){for(c=0;c-1?Ci[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Ci[t]=/HTMLUnknownElement/.test(e.toString())},h(Rt.options.directives,ro),h(Rt.options.components,so),Rt.prototype.__patch__=Gn?eo:y,Rt.prototype.$mount=function(t,e){return t=t&&Gn?Zt(t):void 0,function(t,e,n){t.$el=e,t.$options.render||(t.$options.render=gr),vt(t,"beforeMount");var r;return r=function(){t._update(t._render(),n)},new Kr(t,r,y,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,vt(t,"mounted")),t}(this,t,e)},Rt.nextTick(function(){Jn.devtools&&lr&&lr.emit("init",Rt)},0);var co,uo=/\{\{((?:.|\n)+?)\}\}/g,lo=/[-.*+?^${}()|[\]\/\\]/g,fo=d(function(t){var e=t[0].replace(lo,"\\$&"),n=t[1].replace(lo,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}),po={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var n=ve(t,"class");n&&(t.staticClass=JSON.stringify(n));var r=pe(t,"class",!1);r&&(t.classBinding=r)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}},vo={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var n=ve(t,"style");n&&(t.staticStyle=JSON.stringify(Fi(n)));var r=pe(t,"style",!1);r&&(t.styleBinding=r)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},ho=function(t){return co=co||document.createElement("div"),co.innerHTML=t,co.textContent},mo=u("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),yo=u("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),go=u("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),_o=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,bo="[a-zA-Z_][\\w\\-\\.]*",$o="((?:"+bo+"\\:)?"+bo+")",Co=new RegExp("^<"+$o),wo=/^\s*(\/?)>/,xo=new RegExp("^<\\/"+$o+"[^>]*>"),ko=/^]+>/i,Ao=/^ + @@ -299,10 +489,9 @@ return 0; } - - updateMap = function () { //clearGrass(); + // console.log(map) for (var xx = 0; xx <= fullX; xx++) { for (var yy = 0; yy <= fullY; yy++) { if (!isGrass(xx, yy)) continue; @@ -341,7 +530,15 @@ for (var yy = 0; yy <= fullY; yy++) { if (isGrass(xx, yy)) continue; var mapxy=map[m(xx,yy)]; - if (typeof(mapxy) == typeof(-1) || typeof(mapxy) == typeof([][0]))continue; + if (typeof(mapxy) == typeof(-1)){ + if(mapxy == 0) cxt.clearRect(xx*32, yy*32, 32, 32); + continue; + } + else if(typeof(mapxy) == typeof([][0])) {//未定义块画红块 + cxt.fillStyle = 'red'; + cxt.fillRect(xx*32, yy*32, 32, 32); + continue; + } //context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height) cxt.clearRect(xx*32, yy*32, 32, 32); cxt.drawImage(core.material.images[mapxy.images], 0, mapxy.y*32, 32, 32, xx*32, yy*32, 32, 32); @@ -359,7 +556,7 @@ var prefix='',postfix=''; if (weak){prefix='';} if (typeof(str)==="undefined")str=''; - pout.innerHTML=prefix+String(str)+postfix; + printOut.innerHTML=prefix+String(str)+postfix; } drawInitData = function(){ @@ -444,6 +641,11 @@ }//用于鼠标移出canvas时的自动清除状态 ui.onmousedown = function (e) { + if(!selectBox.isSelected) { + tip.whichShow = 1; + return; + } + holdingPath = 1; mouseOutCheck = 2; setTimeout(clear1); @@ -457,6 +659,10 @@ } ui.onmousemove = function (e) { + if(!selectBox.isSelected) { + // tip.whichShow = 1; + return; + } if (holdingPath == 0) { return; } mouseOutCheck = 2; @@ -482,23 +688,62 @@ } ui.onmouseup = function (e) { + if(!selectBox.isSelected) { + tip.whichShow = 1; + return; + } holdingPath = 0; e.stopPropagation(); var loc = eToLoc(e); if (stepPostfix.length) { - console.log(stepPostfix); + preMapData = JSON.parse(JSON.stringify(map)); + currDrawData.pos = JSON.parse(JSON.stringify(stepPostfix)); + currDrawData.info = JSON.parse(JSON.stringify(info)); + reDo = null; + // console.log(stepPostfix); for (var ii = 0; ii < stepPostfix.length; ii++) map[m(stepPostfix[ii].x, stepPostfix[ii].y)] = info; map[fullX + 1 + fullY * (fullX + 1)] = -2; - console.log(map); + // console.log(map); updateMap(); holdingPath = 0; stepPostfix = []; uc.clearRect(0, 0, 416, 416); } } + + var preMapData = {}; + var currDrawData = { + pos: [], + info: {} + }; + var reDo = null; + document.body.onkeydown = function(e) { + // 禁止快捷键的默认行为 + if( e.ctrlKey && ( e.keyCode == 90 || e.keyCode == 89 ) ) + e.preventDefault(); + //Ctrl+z 撤销上一步undo + if(e.keyCode == 90 && e.ctrlKey && preMapData && currDrawData.pos.length){ + map = JSON.parse(JSON.stringify(preMapData)); + updateMap(); + reDo = JSON.parse(JSON.stringify(currDrawData)); + currDrawData = {pos: [],info: {}}; + preMapData = null; + } + //Ctrl+y 重做一步redo + if(e.keyCode == 89 && e.ctrlKey && reDo && reDo.pos.length){ + preMapData = JSON.parse(JSON.stringify(map)); + for(var j=0; j=widthsX[spriter][1] && pos.xcore.material.images[pos.images].height)pos.y=~~(core.material.images[pos.images].height/32)-1; + pos.y=0; + }else if((pos.y+1)*32>core.material.images[pos.images].height) + pos.y=~~(core.material.images[pos.images].height/32)-1; + selectBox.isSelected = true; + // console.log(pos,core.material.images[pos.images].height) dataSelection.style.left=pos.x*32+'px'; dataSelection.style.top=pos.y*32+'px'; info={'images':pos.images,'y':pos.y}; for (var ii=0;ii'+filestr+'\n

已复制到剪贴板

'+'


'); - poutTmp.select(); - document.execCommand("Copy"); - } + + \ No newline at end of file From 6a4be7662536eeb1a4e24ce44ae5af386930820e Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 21 Dec 2017 22:39:40 +0800 Subject: [PATCH 10/18] Update Map Generator --- HTML5魔塔样板使用指南.url | 2 +- README.md | 8 ++- docs/personalization.md | 8 +-- images/meaning.txt | 116 -------------------------------------- libs/enemys.js | 2 +- libs/icons.js | 2 +- libs/maps.js | 2 +- 常用工具/Jint.dll | Bin 0 -> 249856 bytes 常用工具/地图生成器.exe | Bin 15360 -> 17920 bytes 9 files changed, 11 insertions(+), 129 deletions(-) delete mode 100644 images/meaning.txt create mode 100644 常用工具/Jint.dll diff --git a/HTML5魔塔样板使用指南.url b/HTML5魔塔样板使用指南.url index a346778c..823d8f8d 100644 --- a/HTML5魔塔样板使用指南.url +++ b/HTML5魔塔样板使用指南.url @@ -2,4 +2,4 @@ Prop3=19,2 [InternetShortcut] IDList= -URL=http://ckcz123.github.io/mota-js/ +URL=https://ckcz123.github.io/mota-js/ diff --git a/README.md b/README.md index d5c47f19..fa46e8d3 100644 --- a/README.md +++ b/README.md @@ -43,16 +43,18 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! ## 更新说明 -### 2017.12.20 +### 2017.12.21 + * [x] 新增:本地HTTP服务器。 * [x] 新增:可视化地图编辑工具。 * [x] 新增:便捷PS工具。 +* [x] 移除了meaning.txt,现在“地图生成器”将直接从js文件中读取数字和图块对应关系。 * [x] 新增:对Autotile图块的支持。 * [x] 新增:怪物支持多种属性;添加仇恨属性。 * [x] 移除了不再支持的checkBlock,现在对于领域和夹击无需再手动指定可能的点了。 * [x] 新增:单向箭头、感叹号(单次通行)的支持。 * [x] 新增:更多的默认素材,现在对于大多数地图风格无需P图,直接替换即可。 -* [x] 部分细节优化,一些已知的Bug进行了修复。 +* [x] 添加部分自定义事件,部分细节优化,一些已知的Bug进行了修复。 ### 2017.12.16 @@ -66,7 +68,7 @@ HTML5 canvas制作的魔塔样板,支持全平台游戏! ### 2017.12.9 -* 发布初版HTML5魔塔样板 +* [x] 发布初版HTML5魔塔样板 ## 联系我们 diff --git a/docs/personalization.md b/docs/personalization.md index f3572232..3fd37899 100644 --- a/docs/personalization.md +++ b/docs/personalization.md @@ -97,13 +97,9 @@ if (id == 260) tmp.event = {'cls': 'enemys', 'id': 'greenKnight'}; ### 地图生成器使用自定义素材 -地图生成器可以将数字和图标一一对应,从数字生成图标或从图标生成数字。 +地图生成器是直接从js文件中读取数字-图标对应关系的。 -在使用自定义素材后,我们可以使用地图生成器来识别新的素材。打开同目录下的`meaning.txt`,按照已有的方式来增加或编辑内容即可。 - -第一列是地图生成器中的数字,第二列是它所在的文件名,第三列是坐标。 - -![地图含义](./img/mapmean.png) +因此,在你修改了icons.js和maps.js两个文件,也就是将素材添加到游戏后,地图生成器的对应关系也将同步更新。 ## 自定义道具效果 diff --git a/images/meaning.txt b/images/meaning.txt deleted file mode 100644 index ed1e714b..00000000 --- a/images/meaning.txt +++ /dev/null @@ -1,116 +0,0 @@ -# 此文件是每个数字所代表的意思,可被地图生成器读取和使用 -# 可以模仿此格式在后面写上任意被识别内容 - - -# 文件格式: -# 编号,图标所在的图片名,图标在图片上的索引(从上到下第几个,从0开始计算) -# 注意中间以小逗号分开;不要有空格;后面可以加任意"#"代表注释 - -### 0-20 地形 ### -0,terrains,0 # 路面;此项必须在第一条。 -1,terrains,1 # 黄色墙(经典墙) -2,terrains,2 # 白色墙 -3,terrains,3 # 蓝色墙 -4,terrains,4 # 星空 -5,terrains,5 # 岩浆 -6,terrains,6 # 冰面 -7,terrains,15 # 蓝色商店左 -8,terrains,16 # 蓝色商店右 -9,terrains,17 # 红色商店左 -10,terrains,18 # 红色商店右 -11,animates,23 # 血网(经过受到伤害) -12,animates,24 # 毒网(经过中毒) -13,animates,25 # 衰网(经过衰弱) -14,animates,26 # 咒网(经过诅咒) -15,animates,31 # 水 -# 可自行往后添加 -20,autotile,0 # Autotile - -### 21-80 物品 ### -# 消耗品 -21,items,0 # 黄钥匙 -22,items,1 # 蓝钥匙 -23,items,2 # 红钥匙 -24,items,3 # 绿钥匙 -25,items,4 # 铁门钥匙 -26,items,6 # 大黄门钥匙(钥匙盒) -27,items,16 # 红宝石 -28,items,17 # 蓝宝石 -29,items,18 # 绿宝石 -30,items,19 # 黄宝石 -31,items,20 # 红血瓶 -32,items,21 # 蓝血瓶 -33,items,22 # 绿血瓶 -34,items,23 # 黄血瓶 -35,items,50 # 铁剑 -36,items,55 # 铁盾 -37,items,51 # 银剑 -38,items,56 # 银盾 -39,items,52 # 骑士剑 -40,items,57 # 骑士盾 -41,items,53 # 圣剑 -42,items,58 # 圣盾 -43,items,54 # 神圣剑 -44,items,59 # 神圣盾 -# 特殊道具 -45,items,9 # 怪物手册 -46,items,12 # 楼层传送器 -47,items,45 # 破墙镐 -48,items,44 # 破冰镐 -49,items,43 # 炸弹 -50,items,13 # 中心对称飞行器 -51,items,15 # 上楼器 -52,items,14 # 下楼器 -53,items,11 # 幸运金币 -54,items,41 # 冰冻徽章 -55,items,40 # 十字架 -56,items,29 # 圣水 -57,items,8 # 地震卷轴 -58,items,24 # 解毒药水 -59,items,25 # 解衰药水 -60,items,27 # 解咒药水 -61,items,28 # 万能药水 -62,items,42 # 屠龙匕首 -63,items,46 # 金钱袋 -64,items,47 # 绿鞋 -65,items,48 # 圣锤 -# 可自行往后添加 - -### 81-120 门、楼梯、传送门 ### -81,terrains,9 # 黄门 -82,terrains,10 # 蓝门 -83,terrains,11 # 红门 -84,terrains,12 # 绿门 -85,terrains,13 # 机关门 -86,terrains,14 # 铁门 -87,terrains,8 # 上楼梯 -88,terrains,7 # 下楼梯 -89,animates,21 # 传送门 -90,animates,19 # 星空传送 -91,animates,30 # 上箭头传送 -92,animates,28 # 左箭头传送 -93,animates,27 # 下箭头传送 -94,animates,29 # 右箭头传送 - -### 121-150 NPC ### -121,npcs,0 # 经典老人 -122,npcs,1 # 经典商人 -123,npcs,2 # 小偷 -124,npcs,3 # 仙子 -125,npcs,4 # 神秘男老人 -126,npcs,5 # 神秘女老人 -127,npcs,6 # 老头 -128,npcs,7 # 小孩 -129,npcs,8 # 木牌 -130,npcs,9 # 经验商店 -131,npcs,10 # 金币商店 -132,npcs,11 # 公主 -# 可以添加更多的NPC图标 - - -# 在此可以继续添加更多的事件,比如单向箭头、感叹号开关、箱子等等 - - -### 201-300 怪物 ### -# 将会按照enemys.png顺序依次读取怪物 -# 如201绿色史莱姆,202红色史莱姆,依次类推 diff --git a/libs/enemys.js b/libs/enemys.js index 62401bab..a5e8b71f 100644 --- a/libs/enemys.js +++ b/libs/enemys.js @@ -63,7 +63,7 @@ enemys.prototype.init = function () { 'poisonZombie': {'name': '绿兽人', 'hp': 100, 'atk': 120, 'def': 0, 'money': 13, 'experience': 0, 'special': 12}, 'magicDragon': {'name': '魔龙', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'experience': 0, 'special': 0}, 'octopus': {'name': '血影', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'experience': 0, 'special': 0}, - 'fairy': {'name': '仙子', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'experience': 0, 'special': 0}, + 'darkFairy': {'name': '仙子', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'experience': 0, 'special': 0}, 'greenKnight': {'name': '强盾骑士', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'experience': 0, 'special': 0}, } } diff --git a/libs/icons.js b/libs/icons.js index 0d54cad5..48750086 100644 --- a/libs/icons.js +++ b/libs/icons.js @@ -144,7 +144,7 @@ icons.prototype.init = function () { 'poisonZombie': 55, 'magicDragon': 56, 'octopus': 57, - 'fairy': 58, + 'darkFairy': 58, 'greenKnight': 59, }, 'items': { diff --git a/libs/maps.js b/libs/maps.js index fde12e18..f03c634f 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -226,7 +226,7 @@ maps.prototype.getBlock = function (x, y, id) { if (id == 256) tmp.event = {'cls': 'enemys', 'id': 'poisonZombie'}; if (id == 257) tmp.event = {'cls': 'enemys', 'id': 'magicDragon'}; if (id == 258) tmp.event = {'cls': 'enemys', 'id': 'octopus'}; - if (id == 259) tmp.event = {'cls': 'enemys', 'id': 'fairy'}; + if (id == 259) tmp.event = {'cls': 'enemys', 'id': 'darkFairy'}; if (id == 260) tmp.event = {'cls': 'enemys', 'id': 'greenKnight'}; return tmp; diff --git a/常用工具/Jint.dll b/常用工具/Jint.dll new file mode 100644 index 0000000000000000000000000000000000000000..437d2bb213a88b1271d736d34fc77d61fe5d1a7e GIT binary patch literal 249856 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
E;V{ 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 literal 0 HcmV?d00001 diff --git a/常用工具/地图生成器.exe b/常用工具/地图生成器.exe index 67eda508ab67b074ae4118eec87901f7f5b363dd..541b3626aaaf5d6672027f89acb03cc47d9608fa 100644 GIT binary patch delta 6894 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 JW5dnr{{x$sjv)X5 delta 4712 zcmZu#dvp}l8UOCg?9A-!W|F&0W)mRphM2JA1qKmLyl>~2w$CRnqQd6`Qdocmh?<}<^U9yM4?J~~y|$fbu29^9|Gt6B za4<&{ggoVXqS4-GQ|rA>Hr9Ie5~yN$n!LMN9lO+fj*Vqgy_0NA<->>|KCO5Z^3fFG z8YNrhSD;f|Ay z*6-(zJ4v`0+}M*WzjCJtWH|ezd;BtCF}V@R%V9q^%FZ|Ge(rZC!>Qq7#YkO)(zri$ zvl!GADB}jk8@AxXEw>p8;XPG^3}6a~v@ACj9zd0P9IK$am&3-*29*b_lWNUL;-!&= z;Zk18N9;*n`S-8So<)-Gp(&HmgFNV#p<6VzI9%j}?YioG=-6>F5PPA*gATXPk8dNU z&23)P^oOjHo`$|#G}Mys=3W8Woel^`>fBHyex;zrc_S}&X9%$*8jHr#<$`i29I9(_ z!r{6~&UuK3d5J)GB#dbrV~URg<6-0s^KdlQ^ezv9hjCFTnyJ0usr>-=1}IVwT_}G40x_6+9C9JZ)1dhv`81~6 zfdH6qIgcV|;TV|QbfVUNZpu@D9i-K5_H!-2$qPQ%wocT)ADdU66rU5;>)N=F>-+Kt z#4rl`!;t$U8sqvRfCj)m5tCAwA0t0O^SvYfMs}n3ssG}oH^EwO#uuQm>Kf7u(FTmv zvnb!~1UDisZY|4j7Xu>`gNC~VB#tA7MQC8Px*Gx2y=B|X767Lo$7dhgtI*%uZcl)LcYx-61*lFm7rI>9wNQx*?0>rX&{y z#wI9u4-5s)iaLcpb@OmE>Gyx52}{IH4@Gm_jO1ckVlN|qG;w~(LY-Pa99YQFWzovv z0&x_CvaC>{?65<05a%Rsi@58Dxbn4*xz^JgpmA@PYOxG5b?m2N63?43VM*OPoL$Hl zW>@;MLRntOE;~FloL$K0vI~yvXfDVuRz9D-7^6QwyRf959L_G}|IKb;{k4&W?6SiP z!`X#=F1z5!9=I?&?%pFa05e+B8!;F0O=3bK@o$PI_GfJ8*sG!_u^ZxjLK)vIuunvD zw@5`cuMwjwXz~iN5Em%K%3q)m=OeF3y@I0SawDeR9IjvXxI<)d;#rw22dqsg#VpppKLZz%sZXa*H2Ib2j)?L|r)_d5UZ@*kDN&{v6*7G!q#*Y`a0ZJ%Bnk}Vm2-6DbdMSD4G36CV_ZFlR$}va}6r@wi z8;}l2=>apSen_L~MJb75S|L3)9%l(DkZ`cE>^atcL|>@PBVlY|Z|IuR!rswW0^irO ztc9J@SA(C{*8(9p(#(wI8U-qj25*;Vv>DfoF?HjM{T3ChNeEt!n4fPXev!teE}U>=_s3Jo(5iL zo}uGxleu0!%C?&t(hrz@GQn20nQhhgqSrq25%pd6wD|+?ic#g+57{rxR!Xurfi3jD zxraVtXMmp}?rSKj-2Xe3DWc>gi~HYGKVp;od*DCQf13OSeY^idcrNmvp*G56H+;Bq z2e2GIr(k{D|A|@&{!ewBa?F1Q_=#W9xVWiA=Ss`3H7k`yvGyTrv_wIdSuzcHC$(FS z)=3K`t^~Fyo2-$*ExPtv-iH7U_ga{`;SbxLnw zEAXzsF0G5Q)oeh!3+4mbUghn8=_{98#l#=WMfi?r(mWi6N%U7N-Y)Gitr5Gg$JaxC;OM&=sC%GpFVhdsy+ve((w z%2MS)(0wtBKxQnSZ9RI?^HE7{fKcHfXl zukXotBgfVjUz13uySfusxf`itm3#Z(%&{M{K+9UBTi%sPy1j$-<90Cbnc9ov)k#`I zUDQnpO4AbX1f*U{;_1dWoeXWnLu!@xVAJSPRTnxZ;FLg@P3SuK!=|Shr^zp^`pvGs zhFN>ZF3Z%68ozpQ)ujuSaXw-dwr!M#xMGJ&wHQ-ufT{Xoifx*D4Au%&BW8MRawKb( zhI02SW~kIG<+;6rs4*&QHp)Y#c7r`d+)?BftjO@e1txHjSeTD{2PQkS-{85o@l6F;a>qrvwp|?4 zL>HceNm#>%C9SAUWJc-=6@SbqKKyc#8}P-5=RWe-lt?!BzVtIGN& z+YzG({h=38Fd1?PfM5)-)F99O2Z?<7V!sp(?`QeOhoac%GHL2B5<)PTxA1&ZjtWBk z6*>Z;?4Nkwo3ierX5N2=RJWiQW{3J)G=qgM$#-b;>Y7(+*M$17@xIgiK3)#zegneX z(r6rk`PbvY?D!O24-Gyt6`>x)H_>ySLxRT!DjntF XcJIB*GlTZ@uYAgpO9uJ0FW7$pHjYa> From 6b8113fe363abc7bd8d1c3513cab22ff3824a232 Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 21 Dec 2017 23:32:23 +0800 Subject: [PATCH 11/18] Update ReadMe' --- docs/event.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/event.md b/docs/event.md index 17123a5c..37599924 100644 --- a/docs/event.md +++ b/docs/event.md @@ -561,6 +561,8 @@ move完毕后移动的NPC/怪物一定会消失,只不过可以通过immediate 值得注意的是,如果是额外添加进文件的音效,则需在main.js中this.sounds里加载它。 +!> 自定义添加的音效名请勿包含`-`,否则将无法正常使用! + 由于考虑到用户流量问题,每个额外音效最好不超过20KB。 ### win: 获得胜利 From c4d1f617370ad602bc6659aefa7a9da1764bfc75 Mon Sep 17 00:00:00 2001 From: echo Date: Fri, 22 Dec 2017 00:17:15 +0800 Subject: [PATCH 12/18] update drawmapgui --- drawMapGUI.html | 131 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 87 insertions(+), 44 deletions(-) diff --git a/drawMapGUI.html b/drawMapGUI.html index e0da91d7..4f8b2686 100644 --- a/drawMapGUI.html +++ b/drawMapGUI.html @@ -24,7 +24,6 @@ top: 10px; width: 435px; height: 400px; - /* border: 1px solid rgb(238, 13, 13); */ } #editArea{ @@ -65,20 +64,27 @@ margin-right: 20px; margin-top: 5px; } + #mid{ position: absolute; left: 448px; - top: 0; + top: 10px; + width: 440px; + height: 630px; + } + .map { + position: absolute; + left: 20px; + top: 21px; width: 416px; - height: 620px; - /* border: 1px solid rgb(238, 13, 13); */ + height: 416px; } #mid .tools{ position: absolute; - width: 400px; - height: 195px; + width: 425px; + height: 180px; left: 0; - top: 425px; + bottom: 0; border-top: 1px solid #ccc; padding: 10px 5px; margin-left: 8px;; @@ -88,8 +94,8 @@ float: right; width: 50%; height: 95%; - padding: 10px; - margin-right: 5px; + padding: 5px 10px 10px 10px; + margin-right: 0; box-sizing: border-box; border: 1px solid #ccc; border-radius: 2px; @@ -149,11 +155,18 @@ } #right{ position: absolute; - left: 896px; - top: 0; - width: 450px; - height: 620px; + left: 900px; + top: 10px; + width: 440px; + height: 630px; /* border: 1px solid rgb(238, 13, 13); */ + } + #iconLib{ + position: absolute; + width: 435px; + height: 620px; + left: 5px; + top: 5px; overflow:auto; } .gameCanvas { @@ -161,8 +174,8 @@ } #dataSelection{ position: absolute; - top:0; - left:320px; + /* top:0; + left:320px; */ z-index:75; width:32px;height:32px; @@ -191,27 +204,36 @@ color: #fff; } table.col{ - position: absolute; + position: relative; + + text-align: center; + border-collapse: collapse; + } + table.col td{ + background-color: #4DB6AC; + } + #arrColMark td{ + width: 16px; + } + #arrColMark { top: 2px; left: 36px; width: 385px; height: 16px; font-size: 13px; - text-align: center; - border-collapse: collapse; } - table.col td{ - width: 16px; - background-color: #4DB6AC; + #mapColMark { + top: 2px; + left: 19px; + width: 418px; + height: 16px; + font-size: 13px; + } + #mapColMark td{ + width: 29px; } - table.row{ - position: absolute; - top: 25px; - left: 2px; - width: 16px; - height: 262px; - font-size: 12px; + position: relative; text-align: right; vertical-align:middle; border-collapse: collapse; @@ -219,7 +241,23 @@ table.row td{ background-color: #795548; } - + #arrRowMark{ + top: 5px; + left: 2px; + width: 16px; + height: 262px; + font-size: 12px; + } + #mapRowMark{ + top: 1px; + left: 2px; + width: 16px; + height: 416px; + font-size: 12px; + } + #mapRowMark td{ + height: 29px; + } /* for vue dom */ [v-cloak] { display: none !important; @@ -229,9 +267,9 @@

+
+
-
-

{{ errors[error-1] }}

@@ -241,11 +279,12 @@
-
+
+
+
-
@@ -273,7 +312,9 @@
@@ -326,8 +329,8 @@ - - + + - - + +