Commit f1902476 authored by wildfirecode's avatar wildfirecode

Merge branch 'hotfix20200330_'

parents 45610744 8c398db0
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
background-color: #000; background-color: #000;
background-size: 100%; background-size: 100%;
background-position: center; background-position: center;
background-image: url("https://yun.duiba.com.cn/db_games/activity/game/0217/startscenebg2.jpg"); background-image: url("https://yun.duiba.com.cn/db_games/activity/game/0327/startscenebg.jpg");
/* background-image: url("https://yun.duiba.com.cn/db_games/activity/game/1565600901/resource/assets/startScene/startscenebg.jpg"); */ /* background-image: url("https://yun.duiba.com.cn/db_games/activity/game/1565600901/resource/assets/startScene/startscenebg.jpg"); */
padding: 0; padding: 0;
border: 0; border: 0;
......
...@@ -307,6 +307,8 @@ export default class MainBase extends eui.UILayer { ...@@ -307,6 +307,8 @@ export default class MainBase extends eui.UILayer {
} }
RES.getResAsync("ele34_png"); RES.getResAsync("ele34_png");
RES.getResAsync("ele36_png"); RES.getResAsync("ele36_png");
RES.getResAsync("ele38_png");
RES.getResAsync("ele39_png");
for (var i = 1; i <= 27; i++) { for (var i = 1; i <= 27; i++) {
RES.getResAsync("bonusFra" + i + "_png") RES.getResAsync("bonusFra" + i + "_png")
} }
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
"name": "h5" "name": "h5"
}, },
{ {
"keys": "bonusFra1_png,bonusFra10_png,bonusFra11_png,bonusFra12_png,bonusFra13_png,bonusFra14_png,bonusFra15_png,bonusFra16_png,bonusFra17_png,bonusFra18_png,bonusFra19_png,bonusFra2_png,bonusFra20_png,bonusFra21_png,bonusFra22_png,bonusFra23_png,bonusFra24_png,bonusFra25_png,bonusFra26_png,bonusFra27_png,bonusFra3_png,bonusFra4_png,bonusFra5_png,bonusFra6_png,bonusFra7_png,bonusFra8_png,bonusFra9_png,bonusShoot_png,bonusTime_png,boom1_png,boom10_png,boom11_png,boom12_png,boom13_png,boom14_png,boom15_png,boom16_png,boom17_png,boom2_png,boom3_png,boom4_png,boom5_png,boom6_png,boom7_png,boom8_png,boom9_png,boomBtn_png,chooseRect_png,dangqianfenshu_png,eggPiece1_png,eggPiece2_png,eggPiece3_png,eggPiece4_png,eggPiece5_png,eggStatus0_png,eggStatus1_png,eggStatus2_png,ele0_png,ele0Exp_png,ele0Line_png,ele1_png,ele1Exp_png,ele1Line_png,ele2_png,ele2Exp_png,ele2Line_png,ele3_png,ele3Exp_png,ele3Line_png,ele4_png,ele4Exp_png,ele4Line_png,ele5_png,ele6_png,ele7_png,ele8_png,ele9_png,eleDis1_png,eleDis10_png,eleDis11_png,eleDis12_png,eleDis13_png,eleDis14_png,eleDis15_png,eleDis16_png,eleDis17_png,eleDis18_png,eleDis19_png,eleDis2_png,eleDis3_png,eleDis4_png,eleDis5_png,eleDis6_png,eleDis7_png,eleDis8_png,eleDis9_png,exLighting1_png,exLighting11_png,exLighting14_png,exLighting16_png,exLighting18_png,exLighting19_png,exLighting21_png,exLighting23_png,exLighting25_png,exLighting27_png,exLighting29_png,exLighting3_png,exLighting32_png,exLighting34_png,exLighting5_png,exLighting7_png,exLighting9_png,greenCircleDown_png,greenCircleUp_png,guidePropBoom_png,guidePropCow_png,guidePropHammer_png,guidePropHand_png,guidePropMsgPanel_png,guidePropShoe_png,hammerBtn_png,ice2_png,ice3_png,ice4_png,ice5_png,ice6_png,jellyArrow_png,leftArrow_png,lightedStar_png,lineLight_png,lockVine_png,magicLion_png,magicLionBg_png,mainMusicBtnOff_png,mainMusicBtnOn_png,mainQuestionBtn_png,mainQuitBtn_png,mainSettingBg_png,mainSoundBtnOff_png,mainSoundBtnOn_png,main_mapbottom_png,playSceneBg_jpg,progressDown_png,propNum0_png,propNum1_png,propNum2_png,propNum3_png,propNum4_png,propNum5_png,propNum6_png,propNum7_png,propNum8_png,propNum9_png,propNumBg_png,rectLat_png,rightArrow_png,rightMark_png,rock2_png,rock3_png,rock4_png,rock5_png,rock6_png,scoreNumber0_png,scoreNumber1_png,scoreNumber2_png,scoreNumber3_png,scoreNumber4_png,scoreNumber5_png,scoreNumber6_png,scoreNumber7_png,scoreNumber8_png,scoreNumber9_png,setting_png,starProgress_png,stepAni1_png,stepAni10_png,stepAni11_png,stepAni2_png,stepAni3_png,stepAni4_png,stepAni5_png,stepAni6_png,stepAni7_png,stepAni8_png,stepAni9_png,stepBtn_png,stepNumber0_png,stepNumber1_png,stepNumber2_png,stepNumber3_png,stepNumber4_png,stepNumber5_png,stepNumber6_png,stepNumber7_png,stepNumber8_png,stepNumber9_png,stepsBoard_png,targetBoard_png,targetNumber0_png,targetNumber1_png,targetNumber2_png,targetNumber3_png,targetNumber4_png,targetNumber5_png,targetNumber6_png,targetNumber7_png,targetNumber8_png,targetNumber9_png,unlightedStar_png,yellowCircleDown_png,yellowCircleUp_png,yezi1_png,bubbleStar19_png,bubleEle0_png,bubleEle1_png,bubleEle2_png,bubleEle3_png,bubleEle4_png,bubbleStar1_png,bubbleStar2_png,bubbleStar3_png,bubbleStar4_png,bubbleStar5_png,bubbleStar6_png,bubbleStar7_png,bubbleStar8_png,bubbleStar9_png,bubbleStar10_png,bubbleStar11_png,bubbleStar12_png,bubbleStar13_png,bubbleStar14_png,bubbleStar15_png,bubbleStar16_png,bubbleStar17_png,bubbleStar18_png,ele11_png,ele10_png,brownBallFace_png,eyeDownLeft_png,eyeSingle_png,greyBallFace_png,eyeDownRight_png,hairballPiece9_png,hairballPiece8_png,hairballPiece7_png,hairballPiece6_png,hairballPiece5_png,hairballPiece4_png,hairballPiece3_png,hairballPiece2_png,hairballPiece11_png,hairballPiece10_png,hairballPiece1_png,hairballDisBg_png,curScoreNum9_png,curScoreNum8_png,curScoreNum7_png,curScoreNum6_png,curScoreNum5_png,curScoreNum4_png,curScoreNum3_png,curScoreNum2_png,curScoreNum1_png,curScoreNum0_png,festivalTargetBg_png,lineLight9_png,lineLight8_png,lineLight7_png,lineLight6_png,lineLight5_png,lineLight4_png,lineLight3_png,lineLight2_png,lineLight13_png,lineLight12_png,lineLight11_png,lineLight10_png,lineLight1_png,fesRedUp_png,fesRedSmallLight_png,fesRedDown_png,fesRedCap_png,fesRedBombSta1_png,fesRedBigLight_png,fesEleSmallDis9_png,fesEleSmallDis8_png,fesEleSmallDis7_png,fesEleSmallDis6_png,fesEleSmallDis5_png,fesEleSmallDis4_png,fesEleSmallDis3_png,fesEleSmallDis2_png,fesEleSmallDis10_png,fesEleSmallDis1_png,ele12_png,ele13_png,xingxingbi_png,tinyRedMid_png,tinyRedLeft_png,tinyRedRight_png,rectLatWhite_png,fesRedBombSta2_png,ele14_png,redBombYStar_png,redBombBStar_png,redBombBSnow_png,线条尾部炸开_00000_png,线条尾部炸开_00001_png,线条尾部炸开_00002_png,线条尾部炸开_00003_png,线条尾部炸开_00004_png,线条尾部炸开_00005_png,线条尾部炸开_00006_png,线条尾部炸开_00007_png,线条尾部炸开_00008_png,ele15_png,ele16_png,ele17_png,ele18_png,ele19_png,ele20_png,empty_png,ele23_png,ele25_png,ele27_png,ele26_png,ele24_png,ele22_png,chocolateMark3_png,chocolateMark1_png,chocolateFour_png,chocolateMark0_png,chocolateMark2_png,redbombParticle_png,monster_shoot_png,ele33_1_png,ele33_0_png,ele34_png,honey_png,ele36_png", "keys": "bonusFra1_png,bonusFra10_png,bonusFra11_png,bonusFra12_png,bonusFra13_png,bonusFra14_png,bonusFra15_png,bonusFra16_png,bonusFra17_png,bonusFra18_png,bonusFra19_png,bonusFra2_png,bonusFra20_png,bonusFra21_png,bonusFra22_png,bonusFra23_png,bonusFra24_png,bonusFra25_png,bonusFra26_png,bonusFra27_png,bonusFra3_png,bonusFra4_png,bonusFra5_png,bonusFra6_png,bonusFra7_png,bonusFra8_png,bonusFra9_png,bonusShoot_png,bonusTime_png,boom1_png,boom10_png,boom11_png,boom12_png,boom13_png,boom14_png,boom15_png,boom16_png,boom17_png,boom2_png,boom3_png,boom4_png,boom5_png,boom6_png,boom7_png,boom8_png,boom9_png,boomBtn_png,chooseRect_png,dangqianfenshu_png,eggPiece1_png,eggPiece2_png,eggPiece3_png,eggPiece4_png,eggPiece5_png,eggStatus0_png,eggStatus1_png,eggStatus2_png,ele0_png,ele0Exp_png,ele0Line_png,ele1_png,ele1Exp_png,ele1Line_png,ele2_png,ele2Exp_png,ele2Line_png,ele3_png,ele3Exp_png,ele3Line_png,ele4_png,ele4Exp_png,ele4Line_png,ele5_png,ele6_png,ele7_png,ele8_png,ele9_png,eleDis1_png,eleDis10_png,eleDis11_png,eleDis12_png,eleDis13_png,eleDis14_png,eleDis15_png,eleDis16_png,eleDis17_png,eleDis18_png,eleDis19_png,eleDis2_png,eleDis3_png,eleDis4_png,eleDis5_png,eleDis6_png,eleDis7_png,eleDis8_png,eleDis9_png,exLighting1_png,exLighting11_png,exLighting14_png,exLighting16_png,exLighting18_png,exLighting19_png,exLighting21_png,exLighting23_png,exLighting25_png,exLighting27_png,exLighting29_png,exLighting3_png,exLighting32_png,exLighting34_png,exLighting5_png,exLighting7_png,exLighting9_png,greenCircleDown_png,greenCircleUp_png,guidePropBoom_png,guidePropCow_png,guidePropHammer_png,guidePropHand_png,guidePropMsgPanel_png,guidePropShoe_png,hammerBtn_png,ice2_png,ice3_png,ice4_png,ice5_png,ice6_png,jellyArrow_png,leftArrow_png,lightedStar_png,lineLight_png,lockVine_png,magicLion_png,magicLionBg_png,mainMusicBtnOff_png,mainMusicBtnOn_png,mainQuestionBtn_png,mainQuitBtn_png,mainSettingBg_png,mainSoundBtnOff_png,mainSoundBtnOn_png,main_mapbottom_png,playSceneBg_jpg,progressDown_png,propNum0_png,propNum1_png,propNum2_png,propNum3_png,propNum4_png,propNum5_png,propNum6_png,propNum7_png,propNum8_png,propNum9_png,propNumBg_png,rectLat_png,rightArrow_png,rightMark_png,rock2_png,rock3_png,rock4_png,rock5_png,rock6_png,scoreNumber0_png,scoreNumber1_png,scoreNumber2_png,scoreNumber3_png,scoreNumber4_png,scoreNumber5_png,scoreNumber6_png,scoreNumber7_png,scoreNumber8_png,scoreNumber9_png,setting_png,starProgress_png,stepAni1_png,stepAni10_png,stepAni11_png,stepAni2_png,stepAni3_png,stepAni4_png,stepAni5_png,stepAni6_png,stepAni7_png,stepAni8_png,stepAni9_png,stepBtn_png,stepNumber0_png,stepNumber1_png,stepNumber2_png,stepNumber3_png,stepNumber4_png,stepNumber5_png,stepNumber6_png,stepNumber7_png,stepNumber8_png,stepNumber9_png,stepsBoard_png,targetBoard_png,targetNumber0_png,targetNumber1_png,targetNumber2_png,targetNumber3_png,targetNumber4_png,targetNumber5_png,targetNumber6_png,targetNumber7_png,targetNumber8_png,targetNumber9_png,unlightedStar_png,yellowCircleDown_png,yellowCircleUp_png,yezi1_png,bubbleStar19_png,bubleEle0_png,bubleEle1_png,bubleEle2_png,bubleEle3_png,bubleEle4_png,bubbleStar1_png,bubbleStar2_png,bubbleStar3_png,bubbleStar4_png,bubbleStar5_png,bubbleStar6_png,bubbleStar7_png,bubbleStar8_png,bubbleStar9_png,bubbleStar10_png,bubbleStar11_png,bubbleStar12_png,bubbleStar13_png,bubbleStar14_png,bubbleStar15_png,bubbleStar16_png,bubbleStar17_png,bubbleStar18_png,ele11_png,ele10_png,brownBallFace_png,eyeDownLeft_png,eyeSingle_png,greyBallFace_png,eyeDownRight_png,hairballPiece9_png,hairballPiece8_png,hairballPiece7_png,hairballPiece6_png,hairballPiece5_png,hairballPiece4_png,hairballPiece3_png,hairballPiece2_png,hairballPiece11_png,hairballPiece10_png,hairballPiece1_png,hairballDisBg_png,curScoreNum9_png,curScoreNum8_png,curScoreNum7_png,curScoreNum6_png,curScoreNum5_png,curScoreNum4_png,curScoreNum3_png,curScoreNum2_png,curScoreNum1_png,curScoreNum0_png,festivalTargetBg_png,lineLight9_png,lineLight8_png,lineLight7_png,lineLight6_png,lineLight5_png,lineLight4_png,lineLight3_png,lineLight2_png,lineLight13_png,lineLight12_png,lineLight11_png,lineLight10_png,lineLight1_png,fesRedUp_png,fesRedSmallLight_png,fesRedDown_png,fesRedCap_png,fesRedBombSta1_png,fesRedBigLight_png,fesEleSmallDis9_png,fesEleSmallDis8_png,fesEleSmallDis7_png,fesEleSmallDis6_png,fesEleSmallDis5_png,fesEleSmallDis4_png,fesEleSmallDis3_png,fesEleSmallDis2_png,fesEleSmallDis10_png,fesEleSmallDis1_png,ele12_png,ele13_png,xingxingbi_png,tinyRedMid_png,tinyRedLeft_png,tinyRedRight_png,rectLatWhite_png,fesRedBombSta2_png,ele14_png,redBombYStar_png,redBombBStar_png,redBombBSnow_png,线条尾部炸开_00000_png,线条尾部炸开_00001_png,线条尾部炸开_00002_png,线条尾部炸开_00003_png,线条尾部炸开_00004_png,线条尾部炸开_00005_png,线条尾部炸开_00006_png,线条尾部炸开_00007_png,线条尾部炸开_00008_png,ele15_png,ele16_png,ele17_png,ele18_png,ele19_png,ele20_png,empty_png,ele23_png,ele25_png,ele27_png,ele26_png,ele24_png,ele22_png,chocolateMark3_png,chocolateMark1_png,chocolateFour_png,chocolateMark0_png,chocolateMark2_png,redbombParticle_png,monster_shoot_png,ele33_1_png,ele33_0_png,ele34_png,honey_png,ele36_png,ele38_png,ele39_png",
"name": "main2" "name": "main2"
}, },
{ {
...@@ -5101,6 +5101,16 @@ ...@@ -5101,6 +5101,16 @@
"url": "assets/common/common_closebtn2.png", "url": "assets/common/common_closebtn2.png",
"type": "image", "type": "image",
"name": "common_closebtn2_png" "name": "common_closebtn2_png"
},
{
"url": "assets/mainScene/ele39.png",
"type": "image",
"name": "ele39_png"
},
{
"url": "assets/mainScene/ele38.png",
"type": "image",
"name": "ele38_png"
} }
] ]
} }
\ No newline at end of file
...@@ -61,7 +61,7 @@ import { Ice } from '../something/class/Ice'; ...@@ -61,7 +61,7 @@ import { Ice } from '../something/class/Ice';
import { Lattice } from '../something/class/Lattice'; import { Lattice } from '../something/class/Lattice';
import { EffectType } from '../something/enum/EffectType'; import { EffectType } from '../something/enum/EffectType';
import { ElementConfigType } from '../something/enum/ElementConfigType'; import { ElementConfigType } from '../something/enum/ElementConfigType';
import { CandyBaseElementType, codeMsgs, convertBaseElementType, elementMonsterResMap, ElementType, fireworksTypeMap, FiveBaseElementTypes, MonsterBaseElementType, monsterElementMap, submitTran } from '../something/enum/ElementType'; import { CandyBaseElementType, codeMsgs, convertBaseElementType, elementMonsterResMap, ElementType, fireworksTypeMap, FiveBaseElementTypes, MonsterBaseElementType, monsterElementMap, submitTran, connoDirection, forwardDirection } from '../something/enum/ElementType';
import { isIce, isSpecialLattice, isSand, isBlock } from '../something/enum/LatticeType'; import { isIce, isSpecialLattice, isSand, isBlock } from '../something/enum/LatticeType';
import { PassType } from '../something/enum/PassType'; import { PassType } from '../something/enum/PassType';
import { RecoverName } from '../something/enum/RecoverName'; import { RecoverName } from '../something/enum/RecoverName';
...@@ -268,6 +268,12 @@ export default class MainScene extends Scene { ...@@ -268,6 +268,12 @@ export default class MainScene extends Scene {
private _steps: number; private _steps: number;
private stepNumber: StepNumber; private stepNumber: StepNumber;
//新增炮台,地图上所有的炮台
cannoArr:Array<{idx:number,ele:Element}> = [];
//每个炮台对应的特效
cannoEffect:Array<any> = [];
//准备发射的炮台
readyCannoArr:number[] = [];
get steps(): number { get steps(): number {
return this._steps return this._steps
} }
...@@ -407,16 +413,26 @@ export default class MainScene extends Scene { ...@@ -407,16 +413,26 @@ export default class MainScene extends Scene {
var svgas = ["amazing", "great", "wonderful", "bonusTime"]; var svgas = ["amazing", "great", "wonderful", "bonusTime"];
//如果有节日的加 //如果有节日的加
if (this.festivalTarget) svgas.push("redBombLight"); if (this.festivalTarget) svgas.push("redBombLight");
//到时候用炮台石头的替换todo
svgas.push("cannoblock");
for (let i = 0; i < svgas.length; i++) { for (let i = 0; i < svgas.length; i++) {
if (movieClips[svgas[i]]) continue; if (movieClips[svgas[i]]) continue;
let mvname = svgas[i];
svgaParser.load(resPath + 'resource/assets/svgas/' + svgas[i] + ".svga", (videoItem) => { svgaParser.load(resPath + 'resource/assets/svgas/' + svgas[i] + ".svga", (videoItem) => {
var mv = new window["SVGA"].EgretMovieClip(videoItem); var mv = new window["SVGA"].EgretMovieClip(videoItem);
mv.lockStep = true; mv.lockStep = true;
if(svgas[i]=="cannoblock"){
// console.log("石头破裂动画",mv);
}
if (svgas[i] != "bonusTime") { if (svgas[i] != "bonusTime") {
mv.x = (750 - 520) / 2; mv.x = (750 - 520) / 2;
mv.y = 500; mv.y = 500;
} }
mv.stop(); mv.stop();
movieClips[svgas[i]] = mv;
let fun; let fun;
mv.addEventListener(egret.Event.COMPLETE, fun = function (e) { mv.addEventListener(egret.Event.COMPLETE, fun = function (e) {
e.target.stop() e.target.stop()
...@@ -424,12 +440,144 @@ export default class MainScene extends Scene { ...@@ -424,12 +440,144 @@ export default class MainScene extends Scene {
e.target.parent.removeChild(e.target) e.target.parent.removeChild(e.target)
} }
}, this) }, this)
movieClips[svgas[i]] = mv;
}, function (error) { }, function (error) {
// alert(error.message); // alert(error.message);
}) })
} }
} }
/**
* 一个炮台有三个附属动画
*/
initCannoSvgas(arr:Array<{idx:number,ele:Element}>){
var resPath = getResPath();
this.cannoEffect = new Array();
if (!svgaParser) svgaParser = new window["SVGA"].Parser();
var svgas = ["cannofire1","cannolight","cannoparticle"];//新增大炮的动画
for(let i=0;i<arr.length;i++){
let icanno:Element = arr[i].ele;
let icannodir:forwardDirection = icanno._cannoDir;
let icannolpos = Tool.getPositionByIndex(arr[i].idx);
let icannowpos = this.elementContainer.localToGlobal(icannolpos[0],icannolpos[1]);
let icannobox:eui.Group = new eui.Group;
let icannoboxwid:number=116;
let icannoboxhei:number=116;
icannobox.width = icannoboxwid;
icannobox.height = icannoboxhei;
icannobox.anchorOffsetX = icannoboxwid/2;
icannobox.anchorOffsetY = icannoboxhei/2;
let effectobj = {};
this.cannoEffect[i] = effectobj;
this.cannoEffect[i]["box"] = icannobox;
this.addChild(icannobox);
icannobox.x = icannowpos.x;
icannobox.y = icannowpos.y;
let roanum = Tool.getCannoRoaByDir(icannodir);
icannobox.touchEnabled = false;
icannobox.touchThrough = true;
icannobox.rotation = roanum;
for(let j=0;j<svgas.length;j++){
let jsvgname = svgas[j];
svgaParser.load(resPath + 'resource/assets/svgas/' + jsvgname + ".svga", (videoItem) => {
let mv = new window["SVGA"].EgretMovieClip(videoItem);
// mv.lockStep = true;
mv.gotoAndStop(1);
mv["cannoidx"] = i;
if(jsvgname=="cannofire1"){
var mvwidth = 1009;
var mvheight = 100;
mv.x = icannoboxwid-8;
mv.y = (icannoboxhei-mvwidth)+180;
mv.rotation = 90;
// console.log("cannofireTotal-------",mv,mv.totalFrames);
mv.addEventListener(egret.Event.ENTER_FRAME,this.listenCnfire,this);
}else if(jsvgname=="cannolight"){
var mvwidth = 400;
var mvheight = 400;
mv.x = (icannoboxwid-mvwidth)/2;
mv.y = (icannoboxhei-mvheight)/2;
// console.log("cannolight-------",mv. totalFrames);
mv.addEventListener(egret.Event.ENTER_FRAME,this.listenCnlight,this);
}else if(jsvgname=="cannoparticle"){
mv.x = icannoboxwid;
mv.y = -icannoboxhei/2;
mv.rotation = 90;
// console.log("cannoparticle-------",mv. totalFrames);
mv.addEventListener(egret.Event.ENTER_FRAME,this.listenCnparticle,this);
}
this.cannoEffect[i][jsvgname] = mv;
},function(error){
console.log("炮台svg加载失败",jsvgname);
})
}
}
}
listenCnfire(e){
var target = e.target;
var curframe = target.currentFrame;
if(curframe>=30){
// console.log("fire播放完成",target["cannoidx"]);
target.gotoAndStop(1);
if(target.parent){
target.parent.removeChild(target);
}
}else if(curframe==25){
var icannoidx = target["cannoidx"];
var icanno = this.cannoArr[icannoidx].ele;
this.callBackFireCanno(icanno);
}
}
listenCnlight(e){
var target = e.target;
var curframe = target.currentFrame;
if(curframe>=28){
// console.log("light播放完成",target["cannoidx"]);
target.gotoAndStop(1);
if(target.parent){
target.parent.removeChild(target);
}
var icannoidx = target["cannoidx"];
var icanno = this.cannoArr[icannoidx].ele;
var anmstat = icanno._cannoStat;
icanno.changeMvPlay(anmstat);
}
}
listenCnparticle(e){
var target = e.target;
var curframe = target.currentFrame;
if(curframe>=98){
// console.log("particle播放完成",target["cannoidx"]);
target.gotoAndStop(1);
if(target.parent){
target.parent.removeChild(target);
}
}else if(curframe==60){
var icannoidx = target["cannoidx"];
this.selectPlayCannoEffect(icannoidx,"cannofire1");
}
}
selectPlayCannoFire(idx:number){
var arridx = this.getCannoArrByIdx(idx);
this.selectPlayCannoEffect(arridx,"cannofire1");
}
/**
* 播放炮台动画
*/
selectPlayCannoEffect(idx:number,name:string){
if(this.cannoEffect&&this.cannoEffect[idx]&&this.cannoEffect[idx][name]){
if(!this.cannoEffect[idx][name].visible){
this.cannoEffect[idx][name].visible = true;
}
this.cannoEffect[idx]["box"].addChild(this.cannoEffect[idx][name]);
this.cannoEffect[idx][name].gotoAndPlay(1,1);
}
}
//初始化界面ui,,道具弄在这里s //初始化界面ui,,道具弄在这里s
initUi() { initUi() {
...@@ -734,6 +882,7 @@ export default class MainScene extends Scene { ...@@ -734,6 +882,7 @@ export default class MainScene extends Scene {
//初始化地图元素 //初始化地图元素
initElement() { initElement() {
this.cannoArr = new Array();
//没有就根据地图格子随机元素 //没有就根据地图格子随机元素
var elements = this.chapterData.map.elements || Tool.setNumber01(this.chapterData.map.lattices.slice()); var elements = this.chapterData.map.elements || Tool.setNumber01(this.chapterData.map.lattices.slice());
for (var i = 0; i < elements.length; i++) { for (var i = 0; i < elements.length; i++) {
...@@ -865,12 +1014,37 @@ export default class MainScene extends Scene { ...@@ -865,12 +1014,37 @@ export default class MainScene extends Scene {
this.elementContainer.addChild(egg); this.elementContainer.addChild(egg);
this.lattices[i].element = egg; this.lattices[i].element = egg;
break; break;
case ElementConfigType.CANNO_DIR_TOP:
case ElementConfigType.CANNO_DIR_BOTTOM:
case ElementConfigType.CANNO_DIR_LEFT:
case ElementConfigType.CANNO_DIR_RIGHT:
let canno:Element = Tool.getElement(ElementType.CANNO);
canno.x = p[0];
canno.y = p[1];
this.elementContainer.addChild(canno);
this.lattices[i].element = canno;
this.cannoArr.push({
idx:i,
ele:canno
});
var dirType = Tool.getCannoDir(elements[i]);
canno.resetToCannoView(dirType,this);
break;
case ElementConfigType.CANNO_BLOCK:
let canno_block:Element = Tool.getElement(ElementType.CANNO_BLOCK);
canno_block.x = p[0];
canno_block.y = p[1];
this.elementContainer.addChild(canno_block);
this.lattices[i].element = canno_block;
break;
default: default:
//其他标识按空元素记 //其他标识按空元素记
this.emptys.push(i); this.emptys.push(i);
break break
} }
} }
this.initCannoSvgas(this.cannoArr);
// console.log("关卡大炮配置",this.cannoArr);
} }
//重置基础元素及特效类型 //重置基础元素及特效类型
...@@ -887,6 +1061,7 @@ export default class MainScene extends Scene { ...@@ -887,6 +1061,7 @@ export default class MainScene extends Scene {
if (!Tool.judgeBaseEle(this.lattices[i]) && !isCandyEle && !isMonsterEle) continue; if (!Tool.judgeBaseEle(this.lattices[i]) && !isCandyEle && !isMonsterEle) continue;
//是0,跳过 //是0,跳过
if (!baseElement && !isCandyEle && !isMonsterEle) continue if (!baseElement && !isCandyEle && !isMonsterEle) continue
const ele: Element = this.lattices[i].element; const ele: Element = this.lattices[i].element;
if (isCandyEle) { //糖果元素 if (isCandyEle) { //糖果元素
if (baseElement == CandyBaseElementType.RANDOM) {//如果是随机糖果,目前只有随机糖果 if (baseElement == CandyBaseElementType.RANDOM) {//如果是随机糖果,目前只有随机糖果
...@@ -924,7 +1099,7 @@ export default class MainScene extends Scene { ...@@ -924,7 +1099,7 @@ export default class MainScene extends Scene {
//初始化引导,游戏和道具 //初始化引导,游戏和道具
initGuide() { initGuide() {
//游戏引导 //游戏引导
const gameGuideChapterNum = [1, 2, 3, 5, 8, 9, 10, 12, 17, 25, 41, 61, 101, 121, 226, 377] const gameGuideChapterNum = [1, 2, 3, 5, 8, 9, 10, 12, 17, 25, 41, 61, 101, 121, 226, 301,331, 377,406,426,453,501];
if (gameGuideChapterNum.indexOf(this.chapter >> 0) > -1) { if (gameGuideChapterNum.indexOf(this.chapter >> 0) > -1) {
if (!readCache(getCacheKey() + this.chapter)) { if (!readCache(getCacheKey() + this.chapter)) {
this.gameGuide = new GameGuide(this); this.gameGuide = new GameGuide(this);
...@@ -1019,8 +1194,6 @@ export default class MainScene extends Scene { ...@@ -1019,8 +1194,6 @@ export default class MainScene extends Scene {
this.soundBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTap_soundBtnn, this) this.soundBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTap_soundBtnn, this)
this.musicBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTap_musicBtn, this) this.musicBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTap_musicBtn, this)
this.quitBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTap_quitBtn, this) this.quitBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTap_quitBtn, this)
} }
removeEvents() { removeEvents() {
...@@ -1126,7 +1299,13 @@ export default class MainScene extends Scene { ...@@ -1126,7 +1299,13 @@ export default class MainScene extends Scene {
onTap_quitBtn() { onTap_quitBtn() {
PanelCtrl.instance.show("quit", { level: this.chapter }); PanelCtrl.instance.show("quit", { level: this.chapter });
} }
// testchangeShow(num:number){
// var cannoele = this.cannoArr[0].ele;
// var cur = cannoele.cannoMoveClip.currentFrame;
// cur += num*10;
// cannoele.cannoMoveClip.gotoAndStop(cur);
// console.log(cannoele.cannoMoveClip.currentFrame);
// }
onTap_boomBtn() { onTap_boomBtn() {
NetManager.ins.clickLog(getlogItem(7)); NetManager.ins.clickLog(getlogItem(7));
if (this.propBtnCon.boomBtn.propNumShow.count <= 0) { if (this.propBtnCon.boomBtn.propNumShow.count <= 0) {
...@@ -1188,6 +1367,8 @@ export default class MainScene extends Scene { ...@@ -1188,6 +1367,8 @@ export default class MainScene extends Scene {
var ele = e.target.parent var ele = e.target.parent
if (ele instanceof Element && if (ele instanceof Element &&
// ele.type != ElementType.ROCK && // ele.type != ElementType.ROCK &&
ele.type != ElementType.CANNO &&
ele.type != ElementType.CANNO_BLOCK &&
!ele.hasState(StateType.BLOCK_LOCK) && //石门无法消除 !ele.hasState(StateType.BLOCK_LOCK) && //石门无法消除
ele.type != ElementType.LOLLIPOP) { ele.type != ElementType.LOLLIPOP) {
this.elementContainer.removeEventListener(egret.TouchEvent.TOUCH_BEGIN, fun, this); this.elementContainer.removeEventListener(egret.TouchEvent.TOUCH_BEGIN, fun, this);
...@@ -1244,21 +1425,40 @@ export default class MainScene extends Scene { ...@@ -1244,21 +1425,40 @@ export default class MainScene extends Scene {
var rc = Tool.indexToRc(index); var rc = Tool.indexToRc(index);
var p = Tool.getPositionByIndex(index); var p = Tool.getPositionByIndex(index);
this.playAni(RecoverName.CROSS_ANI, p); this.playAni(RecoverName.CROSS_ANI, p);
for (var i = 0; i < this.lattices.length; i++) { // for (var i = 0; i < this.lattices.length; i++) {
var lat = this.lattices[i]; // var lat = this.lattices[i];
if (Tool.judgeEliminate(lat) && (lat.row == rc[0] || lat.column == rc[1])) { // if (Tool.judgeEliminate(lat) && (lat.row == rc[0] || lat.column == rc[1])) {
if (this.eliminatedElements.indexOf(i) == -1) { // if (this.eliminatedElements.indexOf(i) == -1) {
this.eliminatedElements.push(i); // this.eliminatedElements.push(i);
if (this.lattices[i].element.type == ElementType.FISH) { // if (this.lattices[i].element.type == ElementType.FISH) {
this.lattices[i].element.nextFishState(); // this.lattices[i].element.nextFishState();
} // }
if (Tool.judgeHasScore(lat.element)) { // if (Tool.judgeHasScore(lat.element)) {
// //算直线+直线LL
// this.pushScoreAni(baseScore * 1 * effectBaseTimes.LL, Tool.getPositionByIndex(i))
// }
// }
// }
// }
//新增石头阻挡
var elimitarr = this.getEliPassCannoStone(rc[0],rc[1]);
for(var j=0;j<elimitarr.length;j++){
var jelidx = elimitarr[j];
var jlat = this.lattices[jelidx];
if(this.eliminatedElements.indexOf(jelidx)==-1){
this.eliminatedElements.push(jelidx);
if(jlat.element.type == ElementType.FISH){
jlat.element.nextFishState();
}
if(Tool.judgeHasScore(jlat.element)){
//算直线+直线LL //算直线+直线LL
this.pushScoreAni(baseScore * 1 * effectBaseTimes.LL, Tool.getPositionByIndex(i)) this.pushScoreAni(baseScore * 1 * effectBaseTimes.LL, Tool.getPositionByIndex(jelidx))
}
} }
} }
} }
setTimeout(() => { setTimeout(() => {
this._converyorTag = true; this._converyorTag = true;
this.eliminate(); this.eliminate();
...@@ -1296,6 +1496,77 @@ export default class MainScene extends Scene { ...@@ -1296,6 +1496,77 @@ export default class MainScene extends Scene {
} }
}, prop) }, prop)
} }
//横向消除,不包括炮台石头
getEliHorPassCannoStone(row:number,col:number){
var elimitarr:number[] = new Array();
//向左
for(var i=col;i>=0;i--){
var iemitidx = Tool.rcToIndex(row,i);
var lat = this.lattices[iemitidx];
var caneliminate = Tool.judgeEliminate(lat);
var iscannoblock = Tool.judgeIscannoBlock(lat);
if(caneliminate){
elimitarr.push(iemitidx);
}
if(iscannoblock){
break;
}
}
//向右
for(var i=col;i<Tool.colNum;i++){
var iemitidx = Tool.rcToIndex(row,i);
var lat = this.lattices[iemitidx];
var caneliminate = Tool.judgeEliminate(lat);
var iscannoblock = Tool.judgeIscannoBlock(lat);
if(caneliminate){
elimitarr.push(iemitidx);
}
if(iscannoblock){
break;
}
}
return elimitarr;
}
//竖向消除,不包括炮台石头
getEliVerPassCannoStone(row:number,col:number){
var elimitarr:number[] = new Array();
//向上
for(var i=row;i>=0;i--){
var iemitidx = Tool.rcToIndex(i,col);
var lat = this.lattices[iemitidx];
var caneliminate = Tool.judgeEliminate(lat);
var iscannoblock = Tool.judgeIscannoBlock(lat);
if(caneliminate){
elimitarr.push(iemitidx);
}
if(iscannoblock){
break;
}
}
//向下
for(var i=row;i<Tool.rowNum;i++){
var iemitidx = Tool.rcToIndex(i,col);
var lat = this.lattices[iemitidx];
var caneliminate = Tool.judgeEliminate(lat);
var iscannoblock = Tool.judgeIscannoBlock(lat);
if(caneliminate){
elimitarr.push(iemitidx);
}
if(iscannoblock){
break;
}
}
return elimitarr;
}
//一般横向竖向消除,不过炮台石头
getEliPassCannoStone(row:number,col:number){
var elimitarr:number[] = new Array();
var elimitarrhor = this.getEliHorPassCannoStone(row,col);
var elimitarrver = this.getEliVerPassCannoStone(row,col);
elimitarr.push(...elimitarrhor);
elimitarr.push(...elimitarrver);
return elimitarr;
}
mouseDownE(e: egret.TextEvent) { mouseDownE(e: egret.TextEvent) {
// if (!this.enableTouch) return // if (!this.enableTouch) return
...@@ -2014,6 +2285,29 @@ export default class MainScene extends Scene { ...@@ -2014,6 +2285,29 @@ export default class MainScene extends Scene {
this.pushScoreAni(baseScore * this.commonContinuityTimes, Tool.getPositionByIndex(index)) this.pushScoreAni(baseScore * this.commonContinuityTimes, Tool.getPositionByIndex(index))
} }
} }
// if(this.eliminatedElements.length>0){
// for(var i=0;i<this.eliminatedElements.length;i++){
// var ielimidx = this.eliminatedElements[i];
// for(var p=0;p<this.cannoArr.length;p++){
// var pcannoidx = this.cannoArr[p].idx;
// var isnext = Tool.checkNebByidx(pcannoidx,ielimidx);
// if(isnext){
// var pcannoele = this.cannoArr[p].ele;
// pcannoele.addOneCannoStat();
// var pcannostat = pcannoele.checkCannoStat();
// if(pcannostat){
// if(this.readyCannoArr.indexOf(p)==-1){
// this.readyCannoArr.push(p);
// }
// }
// }
// }
// }
// }
return this.eliminatedElements.length > 0; return this.eliminatedElements.length > 0;
} }
...@@ -2044,7 +2338,6 @@ export default class MainScene extends Scene { ...@@ -2044,7 +2338,6 @@ export default class MainScene extends Scene {
this.score += scoreAll; this.score += scoreAll;
this.oneStepScore += scoreAll; this.oneStepScore += scoreAll;
// console.log(this.score) // console.log(this.score)
//this.eliminatedElements已为0;对有特效的特殊处理,又会添加进eliminatedElements, //this.eliminatedElements已为0;对有特效的特殊处理,又会添加进eliminatedElements,
//必须在上面得分动效后,因为下面这波重新出现的元素要在下一次出现 //必须在上面得分动效后,因为下面这波重新出现的元素要在下一次出现
this.effectEliminate(effectIndexs); this.effectEliminate(effectIndexs);
...@@ -2074,6 +2367,27 @@ export default class MainScene extends Scene { ...@@ -2074,6 +2367,27 @@ export default class MainScene extends Scene {
this.eliminate(); this.eliminate();
return return
} }
//炮台充能发射
var emitcanno:Element;
if(this.readyCannoArr.length>0){
var readyCannoIdx = this.readyCannoArr[0];
emitcanno = this.cannoArr[readyCannoIdx].ele;
}
// for(var p=0;p<this.cannoArr.length;p++){
// var pcanno = this.cannoArr[p].ele;
// var pcannostat = pcanno.checkCannoStat();
// if(pcannostat){
// emitcanno = pcanno;
// break;
// }
// }
if(emitcanno){
this.fireCanno(emitcanno);
return;
}
if (this._converyorTag) { if (this._converyorTag) {
await doConveyorAI(this); await doConveyorAI(this);
this._converyorTag = false; this._converyorTag = false;
...@@ -2209,6 +2523,80 @@ export default class MainScene extends Scene { ...@@ -2209,6 +2523,80 @@ export default class MainScene extends Scene {
}) })
} }
//大炮发射
fireCanno(canno:Element){
var cannodir = canno._cannoDir;
var cannorow = canno.row;
var cannocol = canno.column;
var cannoFireArr:number[] = new Array();
if(cannodir==forwardDirection.left){
for(var i=cannocol;i>=0;i--){
var iemitidx = Tool.rcToIndex(cannorow,i);
cannoFireArr.push(iemitidx);
}
}else if(cannodir==forwardDirection.up){
for(var i=cannorow;i>=0;i--){
var iemitidx = Tool.rcToIndex(i,cannocol);
cannoFireArr.push(iemitidx);
}
}else if(cannodir==forwardDirection.right){
for(var i=cannocol;i<Tool.colNum;i++){
var iemitidx = Tool.rcToIndex(cannorow,i);
cannoFireArr.push(iemitidx);
}
}else if(cannodir==forwardDirection.down){
for(var i=cannorow;i<Tool.rowNum;i++){
var iemitidx = Tool.rcToIndex(i,cannocol);
cannoFireArr.push(iemitidx);
}
}
for(var j=0;j<cannoFireArr.length;j++){
var jemitidx = cannoFireArr[j];
var lat = this.lattices[jemitidx];
var caneliminate = Tool.judgeEliminate(lat);
var iscannoblock = Tool.judgeIscannoBlock(lat);
if(lat&&(caneliminate||iscannoblock)){
if(this.eliminatedElements.indexOf(jemitidx)==-1){
this.eliminatedElements.push(jemitidx);
}
//加分
if(iscannoblock){
// console.log("炮台石头消除");
break;
}
}
}
canno.fireCanno();
var cannoidx = canno.index;
var cannoarridx = this.getCannoArrByIdx(cannoidx);
// this.selectPlayCannoEffect(cannoarridx,"cannoparticle");
// setTimeout(()=>{
// this.eliminate();
// this.readyCannoArr.shift();
// canno.resetCannoStat();
// },200);
}
getCannoArrByIdx(cannoidx:number){
var arridx:number = 0;
for(var i=0;i<this.cannoArr.length;i++){
var icannoidx = this.cannoArr[i].idx;
if(icannoidx==cannoidx){
arridx = i;
break;
}
}
return arridx;
}
/**
* 炮台发射完毕,开始炮台消除
*/
callBackFireCanno(canno:Element){
this.eliminate();
this.readyCannoArr.shift();
canno.resetCannoStat();
}
checkAllBlock() { checkAllBlock() {
// this.lattices.filter(item => item.block).forEach((item) => { // this.lattices.filter(item => item.block).forEach((item) => {
// item.block.nextState(); // item.block.nextState();
...@@ -2377,19 +2765,37 @@ export default class MainScene extends Scene { ...@@ -2377,19 +2765,37 @@ export default class MainScene extends Scene {
this.recoverEle(one) this.recoverEle(one)
this.recoverEle(two) this.recoverEle(two)
//添加消除元素two,同行或同列 //添加消除元素two,同行或同列
for (var i = 0; i < this.lattices.length; i++) { // for (var i = 0; i < this.lattices.length; i++) {
var lat = this.lattices[i]; // var lat = this.lattices[i];
if (Tool.judgeEliminate(lat) && (lat.row == lat1.row || lat.column == lat1.column)) { // if (Tool.judgeEliminate(lat) && (lat.row == lat1.row || lat.column == lat1.column)) {
if (this.eliminatedElements.indexOf(i) == -1) this.eliminatedElements.push(i); // if (this.eliminatedElements.indexOf(i) == -1) this.eliminatedElements.push(i);
if (this.lattices[i].element.type == ElementType.FISH) { // if (this.lattices[i].element.type == ElementType.FISH) {
this.lattices[i].element.nextFishState(); // this.lattices[i].element.nextFishState();
} // }
if (Tool.judgeHasScore(lat.element)) { // if (Tool.judgeHasScore(lat.element)) {
// //线与线
// this.pushScoreAni(baseScore * this.effectContinuityTimes * effectBaseTimes.LL, Tool.getPositionByIndex(i))
// }
// }
// }
//新增石头阻挡
var elimitarr = this.getEliPassCannoStone(lat1.row,lat1.column);
for(var j=0;j<elimitarr.length;j++){
var jelidx = elimitarr[j];
var jlat = this.lattices[jelidx];
if(this.eliminatedElements.indexOf(jelidx)==-1){
this.eliminatedElements.push(jelidx);
if(jlat.element.type == ElementType.FISH){
jlat.element.nextFishState();
}
if(Tool.judgeHasScore(jlat.element)){
//线与线 //线与线
this.pushScoreAni(baseScore * this.effectContinuityTimes * effectBaseTimes.LL, Tool.getPositionByIndex(i)) this.pushScoreAni(baseScore * this.effectContinuityTimes * effectBaseTimes.LL, Tool.getPositionByIndex(jelidx));
} }
} }
} }
} }
//一个方向,一个爆炸 //一个方向,一个爆炸
else if ((ele1.effectType < 2 || ele2.effectType < 2) && else if ((ele1.effectType < 2 || ele2.effectType < 2) &&
...@@ -2634,6 +3040,10 @@ export default class MainScene extends Scene { ...@@ -2634,6 +3040,10 @@ export default class MainScene extends Scene {
//统一逻辑,个数等,都进里面 //统一逻辑,个数等,都进里面
this.removeFestivalEleSmall(index); this.removeFestivalEleSmall(index);
} }
//炮台石头
else if (ele.type == ElementType.CANNO_BLOCK){
this.removeCannoBlock(index);
}
} }
} }
//从消除列表移除 //从消除列表移除
...@@ -2722,18 +3132,33 @@ export default class MainScene extends Scene { ...@@ -2722,18 +3132,33 @@ export default class MainScene extends Scene {
//动画移除自己 //动画移除自己
this.playAni(RecoverName.HORIZONTAL_ANI, p); this.playAni(RecoverName.HORIZONTAL_ANI, p);
this.recoverEle(index); this.recoverEle(index);
for (var i = 0; i < Tool.colNum; i++) { // for (var i = 0; i < Tool.colNum; i++) {
var ein = Tool.rcToIndex(row, i); // var ein = Tool.rcToIndex(row, i);
if (Tool.judgeEliminate(this.lattices[ein])) { // if (Tool.judgeEliminate(this.lattices[ein])) {
if (this.eliminatedElements.indexOf(ein) < 0 && effectIndexs.indexOf(ein) < 0) { // if (this.eliminatedElements.indexOf(ein) < 0 && effectIndexs.indexOf(ein) < 0) {
this.eliminatedElements.push(ein); // this.eliminatedElements.push(ein);
if (this.lattices[ein].element.type == ElementType.FISH) { // if (this.lattices[ein].element.type == ElementType.FISH) {
this.lattices[ein].element.nextFishState(); // this.lattices[ein].element.nextFishState();
} // }
//加分 // //加分
if (Tool.judgeHasScore(this.lattices[ein].element)) { // if (Tool.judgeHasScore(this.lattices[ein].element)) {
this.pushScoreAni(baseScore * this.effectContinuityTimes * effectBaseTimes["0"], Tool.getPositionByIndex(ein)) // this.pushScoreAni(baseScore * this.effectContinuityTimes * effectBaseTimes["0"], Tool.getPositionByIndex(ein))
// }
// }
// }
// }
//新增石头阻挡
var elimitarr = this.getEliHorPassCannoStone(row,lat.column);
for(var j1=0;j1<elimitarr.length;j1++){
var jelidx = elimitarr[j1];
var jlat = this.lattices[jelidx];
if(this.eliminatedElements.indexOf(jelidx)==-1&&effectIndexs.indexOf(jelidx)==-1){
this.eliminatedElements.push(jelidx);
if(jlat.element.type==ElementType.FISH){
jlat.element.nextFishState();
} }
if(Tool.judgeHasScore(jlat.element)){
this.pushScoreAni(baseScore * this.effectContinuityTimes * effectBaseTimes["0"], Tool.getPositionByIndex(jelidx));
} }
} }
} }
...@@ -2744,18 +3169,32 @@ export default class MainScene extends Scene { ...@@ -2744,18 +3169,32 @@ export default class MainScene extends Scene {
//动画移除自己 //动画移除自己
this.playAni(RecoverName.VERTICAL_ANI, p); this.playAni(RecoverName.VERTICAL_ANI, p);
this.recoverEle(index); this.recoverEle(index);
for (var i = 0; i < Tool.rowNum; i++) { // for (var i = 0; i < Tool.rowNum; i++) {
var ein = Tool.rcToIndex(i, col); // var ein = Tool.rcToIndex(i, col);
if (Tool.judgeEliminate(this.lattices[ein])) { // if (Tool.judgeEliminate(this.lattices[ein])) {
if (this.eliminatedElements.indexOf(ein) < 0 && effectIndexs.indexOf(ein) < 0) { // if (this.eliminatedElements.indexOf(ein) < 0 && effectIndexs.indexOf(ein) < 0) {
this.eliminatedElements.push(ein); // this.eliminatedElements.push(ein);
if (this.lattices[ein].element.type == ElementType.FISH) { // if (this.lattices[ein].element.type == ElementType.FISH) {
this.lattices[ein].element.nextFishState(); // this.lattices[ein].element.nextFishState();
} // }
//加分 // //加分
if (Tool.judgeHasScore(this.lattices[ein].element)) { // if (Tool.judgeHasScore(this.lattices[ein].element)) {
this.pushScoreAni(baseScore * this.effectContinuityTimes * effectBaseTimes["1"], Tool.getPositionByIndex(ein)) // this.pushScoreAni(baseScore * this.effectContinuityTimes * effectBaseTimes["1"], Tool.getPositionByIndex(ein))
// }
// }
// }
// }
var elimitarr = this.getEliVerPassCannoStone(lat.row,col);
for(var j1=0;j1<elimitarr.length;j1++){
var jelidx = elimitarr[j1];
var jlat = this.lattices[jelidx];
if(this.eliminatedElements.indexOf(jelidx)==-1&&effectIndexs.indexOf(jelidx)==-1){
this.eliminatedElements.push(jelidx);
if(jlat.element.type==ElementType.FISH){
jlat.element.nextFishState();
} }
if(Tool.judgeHasScore(jlat.element)){
this.pushScoreAni(baseScore * this.effectContinuityTimes * effectBaseTimes["1"], Tool.getPositionByIndex(jelidx));
} }
} }
} }
...@@ -3283,7 +3722,26 @@ export default class MainScene extends Scene { ...@@ -3283,7 +3722,26 @@ export default class MainScene extends Scene {
//播放动效 //播放动效
this.playAni(RecoverName.ROCK_ANI, Tool.getPositionByIndex(index)) this.playAni(RecoverName.ROCK_ANI, Tool.getPositionByIndex(index))
} }
/**
* 炮台石头的动效
*/
removeCannoBlock(index:number){
this.removeOperation(index);
//炮台石头的动效
var blockmv = movieClips["cannoblock"];
if(blockmv){
console.log("播放炮台石头的动效");
var blpos = Tool.getPositionByIndex(index);
var bwpos = this.elementContainer.localToGlobal(blpos[0],blpos[1]);
var blockwid = 112;
var blockhei = 97;
blockmv.x = bwpos.x-blockwid-5;
blockmv.y = bwpos.y-35;
this.addChild(blockmv);
// blockmv.gotoAndStop(1);
blockmv.gotoAndPlay(1,1);
}
}
/** /**
* 果冻的移除,包括动效 * 果冻的移除,包括动效
* @param index * @param index
...@@ -3360,6 +3818,7 @@ export default class MainScene extends Scene { ...@@ -3360,6 +3818,7 @@ export default class MainScene extends Scene {
if (!this.lattices[index] || !this.lattices[index].element) return null if (!this.lattices[index] || !this.lattices[index].element) return null
//先赋值指向 //先赋值指向
let ele = this.lattices[index].element; let ele = this.lattices[index].element;
//添加进emptys //添加进emptys
this.emptys.push(index) this.emptys.push(index)
//从容器移除 //从容器移除
...@@ -3369,6 +3828,29 @@ export default class MainScene extends Scene { ...@@ -3369,6 +3828,29 @@ export default class MainScene extends Scene {
//置空格子的element, //置空格子的element,
this.lattices[index].element = null; this.lattices[index].element = null;
//返回下,有地方要用 //返回下,有地方要用
//炮台充能
// console.log("消除元素类型",eletype,eleffectype);
for(let p=0;p<this.cannoArr.length;p++){
let pcannoidx = this.cannoArr[p].idx;
var isnext = Tool.checkNebByidx(pcannoidx,index);
if(isnext&&Tool.judgeChosen(ele)){
var pcannoele = this.cannoArr[p].ele;
var lastpcannostatnum:number = pcannoele._cannoStat
pcannoele.addOneCannoStat();
var newpcannostatnum:number = pcannoele._cannoStat
if(newpcannostatnum>lastpcannostatnum){
// console.log('炮台充能------'+p,lastpcannostatnum,newpcannostatnum);
this.selectPlayCannoEffect(p,"cannolight");
}
var pcannostat = pcannoele.checkCannoStat();
if(pcannostat){
if(this.readyCannoArr.indexOf(p)==-1){
this.readyCannoArr.push(p);
}
}
}
}
return ele return ele
} }
......
...@@ -16,7 +16,7 @@ export default async (thisObj: MainScene) => { ...@@ -16,7 +16,7 @@ export default async (thisObj: MainScene) => {
const sandLattices = thisObj.lattices.filter(lattice => { const sandLattices = thisObj.lattices.filter(lattice => {
return lattice.sand; return lattice.sand;
}); });
console.log(sandLattices); // console.log(sandLattices);
//map promise //map promise
//先判断是否能跳动,目前都能跳 //先判断是否能跳动,目前都能跳
const promiseList: Promise<any>[] = []; const promiseList: Promise<any>[] = [];
......
...@@ -2,13 +2,14 @@ import { Element } from "./class/Element"; ...@@ -2,13 +2,14 @@ import { Element } from "./class/Element";
import { Lattice } from "./class/Lattice"; import { Lattice } from "./class/Lattice";
import { RectMask } from "./class/RectMask"; import { RectMask } from "./class/RectMask";
import { EffectType } from "./enum/EffectType"; import { EffectType } from "./enum/EffectType";
import { ElementType, FiveBaseElementTypes } from "./enum/ElementType"; import { ElementType, FiveBaseElementTypes, forwardDirection } from "./enum/ElementType";
import { RecoverName } from "./enum/RecoverName"; import { RecoverName } from "./enum/RecoverName";
import { StateType } from "./enum/StateType"; import { StateType } from "./enum/StateType";
import { FallType } from "./interface/FallAniData"; import { FallType } from "./interface/FallAniData";
import { GenerateLatData } from "./interface/GenerateLatData"; import { GenerateLatData } from "./interface/GenerateLatData";
import { Pool } from "./Pool"; import { Pool } from "./Pool";
import HoneyPotElement from "./class/HoneyPotElement"; import HoneyPotElement from "./class/HoneyPotElement";
import { ElementConfigType } from "./enum/ElementConfigType";
//两种,0无棒棒糖,1有 //两种,0无棒棒糖,1有
const offsetYTwo: number[] = []; const offsetYTwo: number[] = [];
...@@ -230,6 +231,21 @@ export class Tool { ...@@ -230,6 +231,21 @@ export class Tool {
} }
return false return false
} }
/**
* 根据idx判断相邻
* @param a
* @param b
*/
public static checkNebByidx(a:number,b:number){
var arc = this.indexToRc(a);
var brc = this.indexToRc(b);
if (Math.abs(arc[0] - brc[0]) == 1 && Math.abs(arc[1] - brc[1]) == 0) {
return true
} else if (Math.abs(arc[0] - brc[0]) == 0 && Math.abs(arc[1] - brc[1]) == 1) {
return true
}
return false
}
/** /**
* 数组中插入一个数值,按顺序的 * 数组中插入一个数值,按顺序的
...@@ -281,8 +297,10 @@ export class Tool { ...@@ -281,8 +297,10 @@ export class Tool {
lat.element.type == ElementType.JELLY_MONSTER || lat.element.type == ElementType.JELLY_MONSTER ||
lat.element.type == ElementType.FIREWORKS_SHOOTER || lat.element.type == ElementType.FIREWORKS_SHOOTER ||
lat.element.type == ElementType.CHICKEN_EGG || lat.element.type == ElementType.CHICKEN_EGG ||
lat.element.type == ElementType.FESTIVALELE_BIG //|| lat.element.type == ElementType.FESTIVALELE_BIG ||
// lat.element.type == ElementType.FESTIVALELE_SMALL // lat.element.type == ElementType.FESTIVALELE_SMALL
lat.element.type == ElementType.CANNO ||
lat.element.type == ElementType.CANNO_BLOCK
) { ) {
return false return false
} }
...@@ -344,7 +362,9 @@ export class Tool { ...@@ -344,7 +362,9 @@ export class Tool {
//上方元素为冰淇淋 //上方元素为冰淇淋
else if (lat.element.type == ElementType.LOLLIPOP || else if (lat.element.type == ElementType.LOLLIPOP ||
lat.element.type == ElementType.JELLY_MONSTER || lat.element.type == ElementType.JELLY_MONSTER ||
lat.element.type == ElementType.FIREWORKS_SHOOTER lat.element.type == ElementType.FIREWORKS_SHOOTER ||
lat.element.type == ElementType.CANNO ||
lat.element.type == ElementType.CANNO_BLOCK
) { ) {
return false return false
} }
...@@ -353,6 +373,21 @@ export class Tool { ...@@ -353,6 +373,21 @@ export class Tool {
return true return true
} }
} }
/**
* 判断是否是炮台石头
* @param lat
*/
public static judgeIscannoBlock(lat:Lattice){
if(!lat||!lat.element){
return false;
}
else if(lat.element.type==ElementType.CANNO_BLOCK){
return true;
}
else{
return false;
}
}
/** /**
* 判断格子上是基础元素,包括各种状态的 * 判断格子上是基础元素,包括各种状态的
...@@ -428,7 +463,9 @@ export class Tool { ...@@ -428,7 +463,9 @@ export class Tool {
ele.type == ElementType.FIREWORKS_SHOOTER || ele.type == ElementType.FIREWORKS_SHOOTER ||
ele.type == ElementType.CHICKEN_EGG || ele.type == ElementType.CHICKEN_EGG ||
ele.type == ElementType.FESTIVALELE_BIG || ele.type == ElementType.FESTIVALELE_BIG ||
ele.type == ElementType.FESTIVALELE_SMALL ele.type == ElementType.FESTIVALELE_SMALL ||
ele.type == ElementType.CANNO ||
ele.type == ElementType.CANNO_BLOCK
) { ) {
return false; return false;
} }
...@@ -454,7 +491,9 @@ export class Tool { ...@@ -454,7 +491,9 @@ export class Tool {
ele.hasState(StateType.HAIRBALLGREY) || ele.hasState(StateType.HAIRBALLGREY) ||
ele.hasState(StateType.BLOCK_LOCK) || ele.hasState(StateType.BLOCK_LOCK) ||
ele.hasState(StateType.HAIRBALLBLACK) || ele.hasState(StateType.HAIRBALLBLACK) ||
ele.hasState(StateType.HAIRBALLBROWN) ele.hasState(StateType.HAIRBALLBROWN) ||
ele.type == ElementType.CANNO ||
ele.type == ElementType.CANNO_BLOCK
) { ) {
return false; return false;
} }
...@@ -474,7 +513,9 @@ export class Tool { ...@@ -474,7 +513,9 @@ export class Tool {
ele.hasState(StateType.BLOCK_LOCK) || ele.hasState(StateType.BLOCK_LOCK) ||
ele.monster || ele.monster ||
ele.hasState(StateType.HAIRBALLBLACK) || ele.hasState(StateType.HAIRBALLBLACK) ||
ele.hasState(StateType.HAIRBALLBROWN) ele.hasState(StateType.HAIRBALLBROWN) ||
ele.type == ElementType.CANNO ||
ele.type == ElementType.CANNO_BLOCK
) { ) {
return false; return false;
} }
...@@ -860,7 +901,6 @@ export class Tool { ...@@ -860,7 +901,6 @@ export class Tool {
} }
return Tool.randomT(arr); return Tool.randomT(arr);
} }
/** /**
* 根据关卡的地图数据generateLats * 根据关卡的地图数据generateLats
* *
...@@ -1177,4 +1217,51 @@ export class Tool { ...@@ -1177,4 +1217,51 @@ export class Tool {
} }
return outArr return outArr
} }
/**
* 判断是否是炮台
* @param type
*/
public static IsCanno(type:ElementConfigType){
if(type==ElementConfigType.CANNO_DIR_TOP||
type==ElementConfigType.CANNO_DIR_BOTTOM||
type==ElementConfigType.CANNO_DIR_LEFT||
type==ElementConfigType.CANNO_DIR_RIGHT
){
return true;
}
return false;
}
public static getCannoDir(type:ElementConfigType){
if(type==ElementConfigType.CANNO_DIR_TOP){
return forwardDirection.up;
}
else if(type==ElementConfigType.CANNO_DIR_BOTTOM){
return forwardDirection.down;
}
else if(type==ElementConfigType.CANNO_DIR_LEFT){
return forwardDirection.left;
}
else if(type==ElementConfigType.CANNO_DIR_RIGHT){
return forwardDirection.right;
}else{
console.error("未定义跑跳");
}
}
//炮台的旋转朝向
public static getCannoRoaByDir(cannodir:forwardDirection){
var roaidx:number;
if(cannodir==forwardDirection.left){
roaidx = 0;
}else if(cannodir==forwardDirection.up){
roaidx = 1;
}else if(cannodir==forwardDirection.right){
roaidx = 2;
}else if(cannodir==forwardDirection.down){
roaidx = 3;
}
var roanum = [-90,0,90,180][roaidx];
return roanum;
}
} }
\ No newline at end of file
...@@ -4,7 +4,17 @@ import { ElementType } from "../enum/ElementType"; ...@@ -4,7 +4,17 @@ import { ElementType } from "../enum/ElementType";
export const Chapters14: ChapterData[] = [ export const Chapters14: ChapterData[] = [
//301 //301
{ baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 15, passTarget: { type: 1, elements: [{ type: 0, count: 47 }, { type: 1, count: 55 }, { type: 5, count: 10 }] }, starScores: [15000, 20000, 25000], map: { lattices: [0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], connectedLats: [[18, 36], [26, 44], [54, 72], [62, 80]], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 12, 1, 1, 1, 1, 1, 1, 1, 12, 2, 2, 5, 5, 5, 5, 5, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 12, 1, 1, 1, 1, 1, 1, 1, 12, 2, 2, 11, 1, 1, 1, 11, 2, 2], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 18, type: null }, { index: 19, type: null }, { index: 25, type: null }, { index: 26, type: null }] } }, { baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 15, passTarget: { type: 1, elements: [{ type: 0, count: 47 }, { type: 1, count: 55 }, { type: 5, count: 10 }] }, starScores: [15000, 20000, 25000], map: { lattices: [0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 41, 1, 1, 1, 1, 1, 41, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 41, 1, 1, 1, 1, 1, 41, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], connectedLats: [[18, 36], [26, 44], [54, 72], [62, 80]], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 12, 1, 1, 1, 1, 1, 1, 1, 12, 2, 2, 5, 5, 5, 5, 5, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 12, 1, 1, 1, 1, 1, 1, 1, 12, 2, 2, 11, 1, 1, 1, 11, 2, 2], baseElements: [
0, 0, 50, 20, 30, 10, 40, 0, 0,
0, 0, 30, 30, 50, 50, 40, 0, 0,
0, 0, 20, 20, 30, 50, 10, 0, 0,
0, 20, 20, 40, 30, 10, 10, 20, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 50, 50, 30, 20, 40, 0, 0,
0, 0, 30, 30, 50, 40, 30, 0, 0,
0, 20, 20, 30, 10, 40, 20, 20, 0,
0, 0, 0, 20, 10, 20, 0, 0, 0 
], recycles: [], generateLats: [{ index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 18, type: null }, { index: 19, type: null }, { index: 25, type: null }, { index: 26, type: null }] } },
//302 //302
{ baseElementTypes: [0, 2, 4, 3], bubbleProbability: 10, stepCount: 25, passTarget: { type: 1, elements: [{ type: 2, count: 38 }, { type: 3, count: 38 }, { type: 9, count: 65 }] }, starScores: [15000, 20000, 25000], map: { lattices: [2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 13, type: null }, { index: 45, type: null }, { index: 53, type: null }] } }, { baseElementTypes: [0, 2, 4, 3], bubbleProbability: 10, stepCount: 25, passTarget: { type: 1, elements: [{ type: 2, count: 38 }, { type: 3, count: 38 }, { type: 9, count: 65 }] }, starScores: [15000, 20000, 25000], map: { lattices: [2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 13, type: null }, { index: 45, type: null }, { index: 53, type: null }] } },
//303 //303
...@@ -64,7 +74,8 @@ export const Chapters14: ChapterData[] = [ ...@@ -64,7 +74,8 @@ export const Chapters14: ChapterData[] = [
//330 //330
{ baseElementTypes: [0, 2, 3, 4], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [{ type: 1, count: 299 }] }, starScores: [15000, 20000, 25000], map: { lattices: [1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 21, type: null }, { index: 22, type: null }, { index: 23, type: null }, { index: 37, type: null }, { index: 43, type: null }, { index: 54, type: null }, { index: 55, type: null }, { index: 61, type: null }, { index: 62, type: null }] } }, { baseElementTypes: [0, 2, 3, 4], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [{ type: 1, count: 299 }] }, starScores: [15000, 20000, 25000], map: { lattices: [1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 21, type: null }, { index: 22, type: null }, { index: 23, type: null }, { index: 37, type: null }, { index: 43, type: null }, { index: 54, type: null }, { index: 55, type: null }, { index: 61, type: null }, { index: 62, type: null }] } },
//331 //331
{ baseElementTypes: [0, 2, 3, 4], bubbleProbability: 0, stepCount: 27, passTarget: { type: 1, elements: [{ type: 22, count: 30 }, { type: 24, count: 30 }, { type: 25, count: 30 }] }, starScores: [15000, 20000, 25000], map: { lattices: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 1, 1, 1, 1, 1, 1, 1, 13, 13, 1, 1, 1, 1, 1, 1, 1, 13, 13, 1, 1, 1, 1, 1, 1, 1, 13, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 1, 1, 1, 1, 1, 1, 1, 13, 13, 1, 1, 1, 1, 1, 1, 1, 13, 13, 1, 1, 1, 1, 1, 1, 1, 13], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }] } }, { baseElementTypes: [0, 2, 3, 4], bubbleProbability: 0, stepCount: 27, passTarget: { type: 1, elements: [{ type: 22, count: 30 }, { type: 24, count: 30 }, { type: 25, count: 30 }] }, starScores: [15000, 20000, 25000], map: { lattices: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 1, 1, 1, 1, 1, 1, 1, 13, 13, 1, 1, 1, 1, 1, 1, 1, 13, 13, 1, 1, 1, 1, 1, 1, 1, 13, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 1, 1, 1, 1, 1, 1, 1, 13, 13, 1, 1, 1, 1, 1, 1, 1, 13, 13, 1, 1, 1, 1, 1, 1, 1, 13], baseElements: [40, 40, 30, 50, 50, 30, 10, 50, 40, 0, 10, 10, 40, 50, 30, 10, 40, 0, 0, 30, 30, 40, 30, 10, 40, 40, 0, 0, 40, 50, 50, 30, 30, 10, 10, 0, 30, 30, 10, 30, 10, 50, 30, 30, 40, 30, 50, 50, 40, 10, 10, 40, 40, 10, 0, 40, 30, 10, 30, 40, 30, 50, 0, 0, 50, 50, 10, 40, 40, 10, 10, 0, 0, 10, 30, 50, 30, 50, 30, 10, 0
], recycles: [], generateLats: [{ index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }] } },
//332 //332
{ baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [{ type: 9, count: 81 }] }, starScores: [15000, 20000, 25000], map: { lattices: [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 61, 3, 3, 3, 3, 3, 3, 6, 61, 3, 61, 6, 3, 3, 3, 3, 3, 3, 61, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 4, 1, 2, 1, 2, 5, 2, 5, 1, 5, 2, 5, 2, 2, 4, 5, 4, 5, 4, 5, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }] } }, { baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [{ type: 9, count: 81 }] }, starScores: [15000, 20000, 25000], map: { lattices: [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 61, 3, 3, 3, 3, 3, 3, 6, 61, 3, 61, 6, 3, 3, 3, 3, 3, 3, 61, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 4, 1, 2, 1, 2, 5, 2, 5, 1, 5, 2, 5, 2, 2, 4, 5, 4, 5, 4, 5, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }] } },
//333 //333
......
...@@ -37,23 +37,23 @@ export const Chapters16: ChapterData[] = [ ...@@ -37,23 +37,23 @@ export const Chapters16: ChapterData[] = [
//406 //406
{ baseElementTypes: [ 0, 2, 3, 4 ], bubbleProbability: 0, stepCount: 26, passTarget: { type: 1, elements: [ { type: 9, count: 45 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ { baseElementTypes: [ 0, 2, 3, 4 ], bubbleProbability: 0, stepCount: 26, passTarget: { type: 1, elements: [ { type: 9, count: 45 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [
0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0,
0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, 3, 3, 3, 3, 0, 0,
0, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
0, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0,
0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, 3, 3, 3, 3, 0, 0,
0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0,
0, 1, 3, 3, 3, 3, 3, 1, 0 ], connectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 1, 1, 1, 15, 1, 1, 1, 15, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 15, 15, 15, 1, 1, 1, 1, 15, 15, 15, 15, 15, 15, 15, 1 ], baseElements: [ 0, 1, 3, 3, 3, 3, 3, 1, 0 ], connectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 1, 1, 1, 15, 1, 1, 1, 15, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 15, 15, 15, 1, 1, 1, 1, 15, 15, 15, 15, 15, 15, 15, 1 ], baseElements: [
0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
 0, 0, 0, 0, 30, 10, 50, 0, 0,  0, 0, 0, 0, 30, 10, 50, 0, 0,
0, 0, 0, 0, 40, 30, 10, 50, 0, 0, 0, 0, 0, 40, 30, 10, 50, 0,
0, 0, 0, 0, 50, 10, 30, 30, 0, 0, 0, 0, 0, 50, 10, 30, 30, 0,
 0, 0, 0, 0, 0, 11, 0, 0, 0,  0, 0, 0, 0, 0, 11, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 4, type: null }, { index: 12, type: null }, { index: 14, type: null }, { index: 20, type: null }, { index: 24, type: null }, { index: 28, type: null }, { index: 34, type: null }, { index: 36, type: null }, { index: 44, type: null } , { index: 73, type: null }, { index: 79, type: null }] } }, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 4, type: null }, { index: 12, type: null }, { index: 14, type: null }, { index: 20, type: null }, { index: 24, type: null }, { index: 28, type: null }, { index: 34, type: null }, { index: 36, type: null }, { index: 44, type: null } , { index: 73, type: null }, { index: 79, type: null }] } },
//407 //407
{ baseElementTypes: [ 0, 1, 3, 4 ], bubbleProbability: 0, stepCount: 21, passTarget: { type: 1, elements: [ { type: 0, count: 168 }, { type: 1, count: 188 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 4, 41, 4, 41, 4, 41, 4, 41, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], connectedLats: [ [ 20, 38 ], [ 38, 56 ], [ 24, 42 ], [ 40, 60 ] ], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 14, 1, 1, 1, 2, 12, 1, 1, 1, 1, 1, 1, 1, 12, 1, 1, 1, 1, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null } ] } }, { baseElementTypes: [ 0, 1, 3, 4 ], bubbleProbability: 0, stepCount: 21, passTarget: { type: 1, elements: [ { type: 0, count: 168 }, { type: 1, count: 188 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 4, 41, 4, 41, 4, 41, 4, 41, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], connectedLats: [ [ 20, 38 ], [ 38, 56 ], [ 24, 42 ], [ 40, 60 ] ], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 14, 1, 1, 1, 2, 12, 1, 1, 1, 1, 1, 1, 1, 12, 1, 1, 1, 1, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null } ] } },
//408 //408
......
...@@ -3,15 +3,24 @@ import { ChapterData } from "../interface/ChapterData"; ...@@ -3,15 +3,24 @@ import { ChapterData } from "../interface/ChapterData";
export const Chapters17: ChapterData[] = [ export const Chapters17: ChapterData[] = [
//426 //426
{ baseElementTypes: [ 0, 1, 3, 4 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 5, count: 22 }, { type: 34, count: 25 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 4, 0, 1, 1, 1, 0, 4, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], connectedLats: [ [ 19, 37 ], [ 25, 43 ] ], elements: [ { baseElementTypes: [ 0, 1, 3, 4 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 5, count: 22 }, { type: 34, count: 25 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 4, 0, 1, 1, 1, 0, 4, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], connectedLats: [ [ 19, 37 ], [ 25, 43 ] ], elements: [
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
16, 1, 1, 1, 1, 1, 1, 1, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1,
2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2,
2, 2, 1, 1, 16, 1, 1, 2, 2, 2, 2, 1, 1, 16, 1, 1, 2, 2,
16, 2, 2, 1, 1, 1, 2, 2, 16, 16, 2, 2, 1, 1, 1, 2, 2, 16,
2, 2, 2, 2, 1, 2, 2, 2, 2 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 9, type: null }, { index: 17, type: null }, { index: 19, type: null }, { index: 25, type: null }, { index: 29, type: null }, { index: 33, type: null }, { index: 45, type: null }, { index: 53, type: null } ] } }, 2, 2, 2, 2, 1, 2, 2, 2, 2 ], baseElements: [ 0, 0, 0, 10, 50, 50, 0, 0, 0,
0, 0, 0, 50, 50, 40, 0, 0, 0,
0, 0, 0, 20, 20, 10, 0, 0, 0,
0, 0, 50, 40, 50, 10, 10, 0, 0,
0, 0, 10, 10, 50, 40, 50, 0, 0,
0, 0, 20, 10, 40, 10, 50, 0, 0,
0, 0, 50, 50, 0, 10, 40, 0, 0,
0, 0, 0, 10, 10, 20, 0, 0, 0,
0, 0, 0, 0, 20, 0, 0, 0, 0
], recycles: [], generateLats: [ { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 9, type: null }, { index: 17, type: null }, { index: 19, type: null }, { index: 25, type: null }, { index: 29, type: null }, { index: 33, type: null }, { index: 45, type: null }, { index: 53, type: null } ] } },
//427 //427
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 24, passTarget: { type: 1, elements: [ { type: 5, count: 14 }, { type: 34, count: 10 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 ], connectedLats: [], elements: [ { baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 24, passTarget: { type: 1, elements: [ { type: 5, count: 14 }, { type: 34, count: 10 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 ], connectedLats: [], elements: [
 1, 1, 1, 1, 1, 1, 1, 1, 1,  1, 1, 1, 1, 1, 1, 1, 1, 1,
......
...@@ -9,7 +9,7 @@ export const Chapters18: ChapterData[] = [ ...@@ -9,7 +9,7 @@ export const Chapters18: ChapterData[] = [
{ baseElementTypes: [ 0, 1, 2, 3 ], bubbleProbability: 0, stepCount: 31, passTarget: { type: 1, elements: [ { type: 22, count: 20 }, { type: 23, count: 20 }, { type: 24, count: 20 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0 ], connectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 12, 1, 1, 13, 13, 13, 13, 13, 1, 1 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 22, type: null }, { index: 23, type: null }, { index: 24, type: null }, { index: 25, type: null } ] } }, { baseElementTypes: [ 0, 1, 2, 3 ], bubbleProbability: 0, stepCount: 31, passTarget: { type: 1, elements: [ { type: 22, count: 20 }, { type: 23, count: 20 }, { type: 24, count: 20 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0 ], connectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 12, 1, 1, 13, 13, 13, 13, 13, 1, 1 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 22, type: null }, { index: 23, type: null }, { index: 24, type: null }, { index: 25, type: null } ] } },
//453 //453
{ baseElementTypes: [ 0, 1, 2, 3 ], bubbleProbability: 10, stepCount: 22, passTarget: { type: 1, elements: [ { type: 36, count: 24 }, { type: 1, count: 188 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ { baseElementTypes: [ 0, 1, 2, 3 ], bubbleProbability: 10, stepCount: 22, passTarget: { type: 1, elements: [ { type: 36, count: 24 }, { type: 1, count: 188 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4, 1, 4, 1, 4, 1, 4, 1, 4, 4, 1, 4, 1, 4, 1, 4, 1, 4,
...@@ -17,7 +17,8 @@ export const Chapters18: ChapterData[] = [ ...@@ -17,7 +17,8 @@ export const Chapters18: ChapterData[] = [
1, 1, 7, 7, 1, 7, 7, 1, 1, 1, 1, 7, 7, 1, 7, 7, 1, 1,
1, 1, 7, 7, 7, 7, 7, 1, 1, 1, 1, 7, 7, 7, 7, 7, 1, 1,
1, 1, 7, 7, 7, 7, 7, 1, 1, 1, 1, 7, 7, 7, 7, 7, 1, 1,
0, 1, 7, 7, 7, 7, 7, 1, 0 ], connectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 12, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null } ] } }, 0, 1, 7, 7, 7, 7, 7, 1, 0 ], connectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 12, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1 ], baseElements: [ 20, 30, 20, 20, 10, 20, 30, 10, 10, 10, 20, 10, 10, 30, 10, 40, 30, 20, 40, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 20, 0, 40, 0, 0, 0, 30, 0, 30, 40, 40, 30, 40, 0, 20, 30, 0, 0, 40, 0, 40, 20, 0, 20, 20, 0, 40, 10, 30, 10, 30, 0, 40, 40, 0, 40, 10, 10, 20, 30, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0
], recycles: [], generateLats: [ { index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null } ] } },
//454 //454
{ baseElementTypes: [ 0, 1, 2, 3 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 6, count: 9 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0 ], connectedLats: [ [ 49, 67 ], [ 50, 68 ], [ 51, 69 ], [ 52, 70 ], [ 76, 18 ], [ 77, 19 ], [ 78, 20 ], [ 79, 21 ] ], elements: [ 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 12, 12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [ 72, 73, 74, 75 ], generateLats: [ { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null } ] } }, { baseElementTypes: [ 0, 1, 2, 3 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 6, count: 9 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0 ], connectedLats: [ [ 49, 67 ], [ 50, 68 ], [ 51, 69 ], [ 52, 70 ], [ 76, 18 ], [ 77, 19 ], [ 78, 20 ], [ 79, 21 ] ], elements: [ 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 12, 12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [ 72, 73, 74, 75 ], generateLats: [ { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null } ] } },
//455 //455
......
import { ChapterData } from "../interface/ChapterData";
//501-525
export const Chapters20: ChapterData[] = [
{
baseElementTypes: [0, 1, 2, 3], bubbleProbability: 0, stepCount: 27, passTarget: { type: 1, elements: [{ type: 3, count: 98 }] }, starScores: [15000, 20000, 25000], map: {
lattices: [1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1], connectedLats: [],
conveyor: [[2, 65]],
conveyorConnectedLats: [[65, 2]], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
, 1, 1, 1, 1, 1, 1, 12, 1, 12, 1, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 4
, 1, 2, 1, 2, 1, 4, 1, 1, 4,
12, 2, 12, 2, 12, 4, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 0, type: null }, { index: 2, type: null }, { index: 4, type: null }, { index: 6, type: null }, { index: 8, type: null }, { index: 10, type: null }, { index: 12, type: null }, { index: 14, type: null }, { index: 16, type: null }]
}
}
]
\ No newline at end of file
...@@ -4,7 +4,8 @@ import { ElementType } from "../enum/ElementType"; ...@@ -4,7 +4,8 @@ import { ElementType } from "../enum/ElementType";
//501-525 //501-525
export const Chapters20: ChapterData[] = [ export const Chapters20: ChapterData[] = [
//501 //501
{ baseElementTypes: [ 0, 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 9, count: 44 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, 3, 3, 3, 3, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, 3, 3, 3, 3, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, 3, 3, 3, 3, 3, 0 ], connectedLats: [], conveyor: [ [ 27, 35 ], [ 53,45 ] ], conveyorConnectedLats: [ [ 35, 27 ], [ 45,53 ] ], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 1, 1, 1, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null } ] } }, { baseElementTypes: [ 0, 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 9, count: 44 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, 3, 3, 3, 3, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, 3, 3, 3, 3, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, 3, 3, 3, 3, 3, 0 ], connectedLats: [], conveyor: [ [ 27, 35 ], [ 53,45 ] ], conveyorConnectedLats: [ [ 35, 27 ], [ 45,53 ] ], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 1, 1, 1, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], baseElements: [0, 30, 40, 30, 20, 20, 40, 10, 0, 0, 20, 50, 40, 30, 20, 30, 10, 0, 50, 50, 40, 10, 20, 10, 30, 50, 50, 50, 40, 50, 30, 50, 20, 10, 30, 40, 0, 40, 10, 50, 30, 20, 20, 10, 0, 0, 30, 30, 10, 0, 50, 10, 20, 20, 0, 30, 10, 40, 50, 30, 20, 30, 0, 0, 20, 50, 0, 10, 40, 0, 50, 20, 0, 30, 10, 30, 30, 40, 30, 30, 0
], recycles: [], generateLats: [ { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null } ] } },
//502 //502
{ baseElementTypes: [ 0, 1, 2, 3 ], bubbleProbability: 0, stepCount: 29, passTarget: { type: 1, elements: [ { type: 9, count: 55 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 0, 3, 0, 3, 0, 3, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ], connectedLats: [ [ 72, 0 ], [ 73, 1 ], [ 74, 2 ], [ 75, 3 ], [ 76, 4 ], [ 77, 5 ], [ 78, 6 ], [ 79, 7 ], [ 80, 8 ] ], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 14, 4, 1, 4, 14, 4, 1, 1, 1, 4, 1, 4, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 45, type: null }, { index: 46, type: null }, { index: 47, type: null }, { index: 48, type: null }, { index: 49, type: null }, { index: 50, type: null }, { index: 51, type: null }, { index: 52, type: null }, { index: 53, type: null } ] } }, { baseElementTypes: [ 0, 1, 2, 3 ], bubbleProbability: 0, stepCount: 29, passTarget: { type: 1, elements: [ { type: 9, count: 55 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 0, 3, 0, 3, 0, 3, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ], connectedLats: [ [ 72, 0 ], [ 73, 1 ], [ 74, 2 ], [ 75, 3 ], [ 76, 4 ], [ 77, 5 ], [ 78, 6 ], [ 79, 7 ], [ 80, 8 ] ], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 14, 4, 1, 4, 14, 4, 1, 1, 1, 4, 1, 4, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], baseElements: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], recycles: [], generateLats: [ { index: 45, type: null }, { index: 46, type: null }, { index: 47, type: null }, { index: 48, type: null }, { index: 49, type: null }, { index: 50, type: null }, { index: 51, type: null }, { index: 52, type: null }, { index: 53, type: null } ] } },
//503 //503
......
import { ChapterData } from "../interface/ChapterData"; import { ChapterData } from "../interface/ChapterData";
import { PassType } from "../enum/PassType";
import { ElementType } from "../enum/ElementType";
//551-575 //551-575
export const Chapters22: ChapterData[] = [ export const Chapters22: ChapterData[] = [
//551
{
baseElementTypes: [0, 2, 3, 4, 1],
bubbleProbability: 0,
stepCount: 35,
passTarget: {
type: 1,
elements: [{
type: 22,
count: 20
}, {
type: 24,
count: 20
}, {
type: 26,
count: 20
}]
},
starScores: [15000, 20000, 25000],
map: {
lattices: [
1, 1, 0, 0, 0, 0, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1
],
connectedLats: [],
conveyor: [],
conveyorConnectedLats: [],
elements: [
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 13, 22, 1, 22, 13, 1, 1,
1, 1, 22, 13, 1, 13, 22, 1, 1,
1, 1, 22, 22, 22, 22, 22, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 18, 18, 18, 18, 18, 1, 1
],
baseElements: [
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 14, 11, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0
],
recycles: [],
generateLats: [{
index: 0,
type: null
}, {
index: 1,
type: null
}, {
index: 7,
type: null
}, {
index: 8,
type: null
}, {
index: 11,
type: null
}, {
index: 12,
type: null
}, {
index: 13,
type: null
}, {
index: 14,
type: null
}, {
index: 15,
type: null
}, {
index: 46,
type: null
}, {
index: 47,
type: null
}, {
index: 48,
type: null
}, {
index: 49,
type: null
}, {
index: 50,
type: null
}, {
index: 51,
type: null
}, {
index: 52,
type: null
}]
}
}
] ]
...@@ -69,7 +69,7 @@ chapters.forEach((chapter,index) => { ...@@ -69,7 +69,7 @@ chapters.forEach((chapter,index) => {
*/ */
export function getChapterData(index: number): ChapterData { export function getChapterData(index: number): ChapterData {
//没有数据就返回第一关数据 //没有数据就返回第一关数据
return chapters[index] || chapters[1]; return chapters[index] || chapters[551];
} }
var a = { var a = {
......
...@@ -13,7 +13,7 @@ import { createCandyDis3Ani } from "../anis/candy/createCandyDis3Ani"; ...@@ -13,7 +13,7 @@ import { createCandyDis3Ani } from "../anis/candy/createCandyDis3Ani";
import { createCandyDis4Ani } from "../anis/candy/createCandyDis4Ani"; import { createCandyDis4Ani } from "../anis/candy/createCandyDis4Ani";
import { createCandySubAni } from "../anis/candy/createCandySubAni"; import { createCandySubAni } from "../anis/candy/createCandySubAni";
import { EffectType } from "../enum/EffectType"; import { EffectType } from "../enum/EffectType";
import { CandyBaseElementType, ElementType, FiveBaseElementTypes, transElementRes } from "../enum/ElementType"; import { CandyBaseElementType, ElementType, FiveBaseElementTypes, transElementRes, forwardDirection } from "../enum/ElementType";
import { RecoverName } from "../enum/RecoverName"; import { RecoverName } from "../enum/RecoverName";
import { stateDatas, StateType } from "../enum/StateType"; import { stateDatas, StateType } from "../enum/StateType";
import { ExplosiveBgAni } from "../periodAni/ExplosiveBgAni"; import { ExplosiveBgAni } from "../periodAni/ExplosiveBgAni";
...@@ -30,16 +30,33 @@ import { Monster } from "./Monster"; ...@@ -30,16 +30,33 @@ import { Monster } from "./Monster";
import { State } from "./State"; import { State } from "./State";
import wait from "../../../libs/new_tc/wait"; import wait from "../../../libs/new_tc/wait";
import { Fish } from "./Fish"; import { Fish } from "./Fish";
import MainScene from "../../mainScene/MainScene";
/** /**
* 考虑到底继承白鹭的啥Component还是Container * 考虑到底继承白鹭的啥Component还是Container
* 坐标原点需要坐落在格子的中心点 * 坐标原点需要坐落在格子的中心点
* 最好到时按,底图,动效,气泡,笼子,毛球,进行分层,如果多个状态要共存时,必须分层,到时气泡的动画,要写再自己的层里 * 最好到时按,底图,动效,气泡,笼子,毛球,进行分层,如果多个状态要共存时,必须分层,到时气泡的动画,要写再自己的层里
*/ */
//加载器
let svgaParser;
export class Element extends eui.Component { export class Element extends eui.Component {
private _fishState = 0; private _fishState = 0;
private _isNeb: boolean;//是否 private _isNeb: boolean;//是否
get isNeb() { return this._isNeb } get isNeb() { return this._isNeb }
fishCanEliFlag: boolean; fishCanEliFlag: boolean;
cannoMoveClip:any;
// cannoCnClip:any;
// cannoStat:number[] = [1,71,131,191,241,361];
/**
* 1--初始
* 71--一格能量
* 131--两格
* 191--三格
* 351--开始蓄力
* 441--开始发射,
* 481--结束
*/
//尝试设置碰撞状态,如果之前被特效集中,那么可以设置碰撞状态。碰撞状态之后可以准备消除。 //尝试设置碰撞状态,如果之前被特效集中,那么可以设置碰撞状态。碰撞状态之后可以准备消除。
setFishNebFlag() { setFishNebFlag() {
if (this._fishState > 0) { if (this._fishState > 0) {
...@@ -188,6 +205,83 @@ export class Element extends eui.Component { ...@@ -188,6 +205,83 @@ export class Element extends eui.Component {
this.addCandyStandbyAni(); this.addCandyStandbyAni();
} }
_cannoDir:forwardDirection;
_cannoStat:number = 0;
cannoAmnStat:number = 0;
mainScene:MainScene;
resetToCannoView(cannodir:forwardDirection,mainscene:MainScene){
this._cannoDir = cannodir;
this.resetCannoStat();
this.mainScene = mainscene;
var roanum = Tool.getCannoRoaByDir(cannodir);
this.cannobox.rotation = roanum;
}
changeShowCannoStat(){
this.cannolab.text = this._cannoStat+"";
// this.changeMvPlay(this._cannoStat);
}
changeMvPlay(_stat:number){
if(this.cannoMoveClip){
var endframe:number;
var curframe:number = this.cannoMoveClip.currentFrame;
if(curframe>=351){
if(_stat==3||_stat==2){
return;
}
}
if(_stat==0){
curframe = 0;
endframe = 1;
}else if(_stat==1){
curframe = 61;
endframe = 71;
}else if(_stat==2){
curframe = 121
endframe = 131;
}else if(_stat==3){
curframe = 181;
endframe = 191;
}else if(_stat==4){
curframe = 351;
endframe = 481;
}
// console.log("ele播放大炮动画",curframe,endframe,_stat);
// this.cannoMoveClip.gotoAndPlay(curframe,true);
this.stopFrame = endframe;
this.cannoMoveClip.gotoAndPlay(curframe,1);
}
}
/**
* 炮台能否发射
*/
checkCannoStat(){
if(this._cannoStat==3){
return true;
}
return false;
}
/**
* 炮台发射
*/
fireCanno(){
// console.error("ele播放蓄力动画-----",this.index,this.cannoMoveClip.currentFrame);
this.changeMvPlay(4);
}
resetCannoStat(){
this._cannoStat = 0;
this.changeShowCannoStat();
this.changeMvPlay(this._cannoStat);
}
addOneCannoStat(){
this._cannoStat += 1;
if(this._cannoStat>3){
this._cannoStat = 3;
}else{//充能动画
// this.cannoCnClip.gotoAndPlay(1,true);
}
this.changeShowCannoStat();
}
playCandyDieAni() { playCandyDieAni() {
var p = Tool.getPositionByIndex(this.index); var p = Tool.getPositionByIndex(this.index);
createCandyDieBgAni(p[0], p[1], this.stage); createCandyDieBgAni(p[0], p[1], this.stage);
...@@ -255,6 +349,9 @@ export class Element extends eui.Component { ...@@ -255,6 +349,9 @@ export class Element extends eui.Component {
* 显示的图片,直接改source,"ele"+type * 显示的图片,直接改source,"ele"+type
*/ */
protected showImage: eui.Image; protected showImage: eui.Image;
protected cannobox:eui.Group;
cannoboxwid:number = 116;
cannoboxhei:number = 116;
temEffectType: EffectType = null; temEffectType: EffectType = null;
/** /**
...@@ -358,6 +455,8 @@ export class Element extends eui.Component { ...@@ -358,6 +455,8 @@ export class Element extends eui.Component {
*/ */
private states: State[] = [] private states: State[] = []
//模拟炮台发射情况
protected cannolab: eui.Label;
/** /**
* *
* @param type 只应该是基础元素和特殊元素 * @param type 只应该是基础元素和特殊元素
...@@ -366,8 +465,29 @@ export class Element extends eui.Component { ...@@ -366,8 +465,29 @@ export class Element extends eui.Component {
super(); super();
this._type = type; this._type = type;
this.showImage = new eui.Image(); this.showImage = new eui.Image();
this.changeSource("ele" + this.type + "_png"); this.changeSource("ele" + this.type + "_png");
this.addChild(this.showImage); this.addChild(this.showImage);
this.cannobox = new eui.Group();
this.cannobox.width = this.cannoboxwid;
this.cannobox.height = this.cannoboxhei;
this.cannobox.anchorOffsetX = this.cannoboxwid/2;
this.cannobox.anchorOffsetY = this.cannoboxhei/2;
this.addChild(this.cannobox);
this.cannolab = new eui.Label();
this.cannolab.size = 30;
this.cannolab.textColor = 0xff0000;
this.cannolab.x = 0;
this.cannolab.y = 0;
this.addChild(this.cannolab);
this.cannobox.visible = this.cannolab.visible = type == ElementType.CANNO;
this.touchEnabled = this.showImage.visible = type != ElementType.CANNO;
this.cannolab.visible = false;
//鸡蛋 //鸡蛋
if (type == ElementType.CHICKEN_EGG) { if (type == ElementType.CHICKEN_EGG) {
this.chickenEgg = Pool.takeOut(RecoverName.CHICKEN_EGG) this.chickenEgg = Pool.takeOut(RecoverName.CHICKEN_EGG)
...@@ -389,8 +509,63 @@ export class Element extends eui.Component { ...@@ -389,8 +509,63 @@ export class Element extends eui.Component {
} }
this.addChild(this.festivalEle) this.addChild(this.festivalEle)
} }
this.createCanno();
} }
//添加炮台
createCanno(){
if(this.type==ElementType.CANNO){
if(this.cannoMoveClip){
return;
}
if (!svgaParser) svgaParser = new window["SVGA"].Parser();
var svgas = ["canno1"]//,"cannofire","cannoparticle","cannolight"];
for(let i=0;i<svgas.length;i++){
let mvname = svgas[i];
svgaParser.load(resPath + 'resource/assets/svgas/'+mvname+'.svga',(videoItem)=>{
if(mvname=="canno1"){
this.cannoMoveClip = new window["SVGA"].EgretMovieClip(videoItem);
// this.cannoMoveClip.lockStep = true;
var mvwidth = 82;
var mvheight = 132;
this.cannoMoveClip.x = (this.cannoboxwid-mvwidth)/2;
this.cannoMoveClip.y = -mvheight/4;
this.cannobox.addChild(this.cannoMoveClip);
this.cannoMoveClip.gotoAndStop(1);
this.cannoMoveClip.addEventListener(egret.Event.ENTER_FRAME,this.toFrameAni,this);
}
});
}
}
}
stopFrame:number;
/**
* 炮台动画停止
*/
toFrameAni(){
var curframe = this.cannoMoveClip.currentFrame;
if(curframe==441){//发射光柱
this.mainScene.selectPlayCannoFire(this.index);
}
if(curframe>=this.stopFrame){
if(this.stopFrame==481){
this.cannoMoveClip.gotoAndStop(1);
return;
// console.log("炮台发射完毕");
}
this.cannoMoveClip.gotoAndStop(this.stopFrame-1);
}
}
// /**
// * 光圈充能动画,现放在mainscene
// */
// addOnePower(){
// console.log("一次光圈充能");
// this.cannoCnClip.gotoAndStop(1);
// }
/** /**
* 替换资源时,同时修改 * 替换资源时,同时修改
* @param source * @param source
...@@ -398,7 +573,7 @@ export class Element extends eui.Component { ...@@ -398,7 +573,7 @@ export class Element extends eui.Component {
changeSource(source: string) { changeSource(source: string) {
// this.showImage.source = source; // this.showImage.source = source;
var texture: egret.Texture = RES.getRes(source); var texture: egret.Texture = RES.getRes(source);
if (!texture) { return; } if (!texture) { return console.error("未找到纹理",source,this.type); }
this.showImage.texture = texture this.showImage.texture = texture
this.showImage.x = -texture.textureWidth / 2; this.showImage.x = -texture.textureWidth / 2;
...@@ -429,6 +604,10 @@ export class Element extends eui.Component { ...@@ -429,6 +604,10 @@ export class Element extends eui.Component {
egret.Tween.removeTweens(this.showImage); egret.Tween.removeTweens(this.showImage);
//类型重置,showImage修改 //类型重置,showImage修改
this._type = type; this._type = type;
this.cannobox.visible = this.cannolab.visible = type == ElementType.CANNO;
this.showImage.visible = type != ElementType.CANNO;
this.cannolab.visible = false;
this.changeSource("ele" + type + "_png"); this.changeSource("ele" + type + "_png");
//特效重置 //特效重置
this.effectType = null; this.effectType = null;
......
...@@ -67,4 +67,11 @@ export enum ElementConfigType { ...@@ -67,4 +67,11 @@ export enum ElementConfigType {
FISH = 15, FISH = 15,
HONEY_POT = 16, HONEY_POT = 16,
FLOWER = 17, FLOWER = 17,
/** 大炮 */
CANNO_DIR_TOP = 18,
CANNO_DIR_BOTTOM = 19,
CANNO_DIR_LEFT = 20,
CANNO_DIR_RIGHT = 21,
/** 大炮石头 */
CANNO_BLOCK = 22,
} }
\ No newline at end of file
...@@ -30,34 +30,36 @@ export enum ElementType { ...@@ -30,34 +30,36 @@ export enum ElementType {
FESTIVALELE_BIG, //节日元素大中间一个13 FESTIVALELE_BIG, //节日元素大中间一个13
FESTIVALELE_SMALL, //节日元素飞溅的小元素14 FESTIVALELE_SMALL, //节日元素飞溅的小元素14
CANDY_RABBIT,//兔子 CANDY_RABBIT,//兔子15
CANDY_CHICKEN,//鸟 CANDY_CHICKEN,//鸟16
CANDY_CATTLE,//牛 CANDY_CATTLE,//牛17
CANDY_LION,//狮子 CANDY_LION,//狮子18
CANDY_PIG,//猪 CANDY_PIG,//猪19
MONSTER_JELLY1, MONSTER_JELLY1,//20
JELLY_MONSTER, JELLY_MONSTER,//21
FIREWORKS_RABBIT,//烟花目标元素,下同 FIREWORKS_RABBIT,//烟花目标元素,下同22
FIREWORKS_CHICKEN, FIREWORKS_CHICKEN,//23
FIREWORKS_CATTLE, FIREWORKS_CATTLE,//24
FIREWORKS_LION, FIREWORKS_LION,//25
FIREWORKS_PIG, FIREWORKS_PIG,//26
FIREWORKS_SHOOTER,//烟花 FIREWORKS_SHOOTER,//烟花27
MONSTER_RABBIT,//独眼怪 MONSTER_RABBIT,//独眼怪28
MONSTER_CHICKEN, MONSTER_CHICKEN,//29
MONSTER_CATTLE, MONSTER_CATTLE,//30
MONSTER_LION, MONSTER_LION,//31
MONSTER_PIG, MONSTER_PIG,//32
FISH,//气鼓鱼 FISH,//气鼓鱼33
HONEY,// 蜂蜜 HONEY,// 蜂蜜34
HONEY_POT,//蜂蜜罐 HONEY_POT,//蜂蜜罐35
SAND, SAND,//36
FLOWER, FLOWER,//37
CANNO,//38
CANNO_BLOCK,//39
} }
export const isMonsterEle = (t: ElementType) => { export const isMonsterEle = (t: ElementType) => {
...@@ -88,6 +90,12 @@ export enum MonsterBaseElementType { ...@@ -88,6 +90,12 @@ export enum MonsterBaseElementType {
} }
export enum forwardDirection{
left="left",
up="up",
right="right",
down="down",
}
export const fireworksTypeMap: any = {} export const fireworksTypeMap: any = {}
fireworksTypeMap[ElementType.RABBIT] = ElementType.FIREWORKS_RABBIT; fireworksTypeMap[ElementType.RABBIT] = ElementType.FIREWORKS_RABBIT;
fireworksTypeMap[ElementType.CHICKEN] = ElementType.FIREWORKS_CHICKEN; fireworksTypeMap[ElementType.CHICKEN] = ElementType.FIREWORKS_CHICKEN;
...@@ -151,6 +159,13 @@ export const monsterElementMap = { ...@@ -151,6 +159,13 @@ export const monsterElementMap = {
"5": ElementType.PIG, "5": ElementType.PIG,
} }
export const connoDirection = {
"1":forwardDirection.left,
"2":forwardDirection.up,
"3":forwardDirection.right,
"4":forwardDirection.down,
}
export const elementMonsterResMap = { export const elementMonsterResMap = {
"0": ElementType.MONSTER_RABBIT, "0": ElementType.MONSTER_RABBIT,
"1": ElementType.MONSTER_CHICKEN, "1": ElementType.MONSTER_CHICKEN,
......
import { GenerateLatData } from "./GenerateLatData"; import { GenerateLatData } from "./GenerateLatData";
import { LatticeType } from "../enum/LatticeType"; import { LatticeType } from "../enum/LatticeType";
import { ElementConfigType } from "../enum/ElementConfigType";
/** /**
* 地图数据接口 * 地图数据接口
* 包括地图格子,和地图上的特殊元素,生成口,联通口 * 包括地图格子,和地图上的特殊元素,生成口,联通口
*/ */
export interface MapData { export interface MapData {
/**
* 传送带
*/
conveyor?:number[][]; conveyor?:number[][];
conveyorConnectedLats?:number[][]; conveyorConnectedLats?:number[][];
/** /**
...@@ -42,7 +46,7 @@ export interface MapData { ...@@ -42,7 +46,7 @@ export interface MapData {
* 9褐色毛球 特效消除,分裂 * 9褐色毛球 特效消除,分裂
* 10黑色毛球 两次消除,一次眩晕, * 10黑色毛球 两次消除,一次眩晕,
*/ */
elements?: number[]; elements?: ElementConfigType[];
/** /**
* 9*9的格子,不修改写null或[] * 9*9的格子,不修改写null或[]
* 十位是基础元素类型,对应数字减1就是基础元素类型 * 十位是基础元素类型,对应数字减1就是基础元素类型
......
...@@ -68,6 +68,9 @@ export class GameGuide extends egret.DisplayObjectContainer { ...@@ -68,6 +68,9 @@ export class GameGuide extends egret.DisplayObjectContainer {
if (this.thisObj.chapter == 101 && step == 0) { if (this.thisObj.chapter == 101 && step == 0) {
this.msg.y += 80; this.msg.y += 80;
} }
if (this.thisObj.chapter == 406 ) {
this.msg.y += 80;
}
this.stepCount--; this.stepCount--;
} }
...@@ -383,6 +386,36 @@ const chapterFuns = { ...@@ -383,6 +386,36 @@ const chapterFuns = {
"每走三步都会翻转的石门!\n在石门开启的时候赶快消除吧~" "每走三步都会翻转的石门!\n在石门开启的时候赶快消除吧~"
] ]
}, },
301:{
stepCount: 1,
showIndexs: [
[64,65,66,75],
],
hideIndexs: [
[ 64,65],
],
handIndexs: [
[66,75],
],
msg: [
"每操作一步,怪兽都会吐毒液\n消除毒液的回合不会再产生毒液"
]
},
331:{
stepCount: 1,
showIndexs: [
[64,65,66,75],
],
hideIndexs: [
[ 64,65],
],
handIndexs: [
[66,75],
],
msg: [
"在烟花附近消除,就会释放美丽的烟花哦~"
]
},
377:{ 377:{
stepCount: 1, stepCount: 1,
showIndexs: [ showIndexs: [
...@@ -397,6 +430,66 @@ const chapterFuns = { ...@@ -397,6 +430,66 @@ const chapterFuns = {
msg: [ msg: [
"独眼仔被相同颜色的元素消除4次\n就能激活哦~" "独眼仔被相同颜色的元素消除4次\n就能激活哦~"
] ]
},
406:{
stepCount: 1,
showIndexs: [
[23,24,32,41],
],
hideIndexs: [
[ 32,41],
],
handIndexs: [
[23,24],
],
msg: [
"使用特效击中气鼓鱼,膨胀起来在周围消除一次即可引爆气鼓鱼"
],
},
426:{
stepCount: 1,
showIndexs: [
[59,68,67,66],
],
hideIndexs: [
[ 67,66],
],
handIndexs: [
[59,68],
],
msg: [
"在蜜罐旁消除三次即可打开并释放蜂蜜\n然后消除被蜂蜜黏住的小动物吧~"
],
},
453:{
stepCount: 1,
showIndexs: [
[59,68,67,66],
],
hideIndexs: [
[ 67,66],
],
handIndexs: [
[59,68],
],
msg: [
"流沙每回合都会向四方随机移动,消除流沙上的小动物可以收集流沙"
],
},
501:{
stepCount: 1,
showIndexs: [
[42,51,52,53],
],
hideIndexs: [
[ 52,53],
],
handIndexs: [
[42,51],
],
msg: [
"每回合,传送带会带着它上面的动物向指定方向移动一格"
]
} }
} }
......
...@@ -2763,8 +2763,132 @@ ...@@ -2763,8 +2763,132 @@
"levelNum": 550, "levelNum": 550,
"maxScore": 47440, "maxScore": 47440,
"stars": 1 "stars": 1
},
{
"levelNum": 551,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 552,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 553,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 554,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 555,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 556,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 557,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 558,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 559,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 560,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 561,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 562,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 563,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 564,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 565,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 566,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 567,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 568,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 569,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 570,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 571,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 572,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 573,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 574,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 575,
"maxScore": 47440,
"stars": 1
} }
], ],
"remainProp": [ "remainProp": [
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment