Commit 741d00ef authored by zjz1994's avatar zjz1994

Merge branch '猩猩' of http://gitlab2.dui88.com/wanghongyuan/xiaoxiaole into dev

parents be58e00b fb03a06e
...@@ -127,8 +127,8 @@ ...@@ -127,8 +127,8 @@
// localStorage.clear(); // localStorage.clear();
window['imgver'] = '11112'; window['imgver'] = '11112';
//top 8 ,repeat 22 , bottom 3 //top 8 ,repeat 22 , bottom 3
window['total_level'] = 8 + 3 + 22 * 27; window['total_level'] = 8 + 3 + 22 * 28;
window['last_level'] = 600; window['last_level'] = 625;
var sharePic = document.getElementById('pic'); var sharePic = document.getElementById('pic');
sharePic.onclick = function () { sharePic.onclick = function () {
......
...@@ -311,6 +311,8 @@ export default class MainBase extends eui.UILayer { ...@@ -311,6 +311,8 @@ export default class MainBase extends eui.UILayer {
RES.getResAsync("ele36_png"); RES.getResAsync("ele36_png");
RES.getResAsync("ele38_png"); RES.getResAsync("ele38_png");
RES.getResAsync("ele39_png"); RES.getResAsync("ele39_png");
RES.getResAsync("ele40_png");
RES.getResAsync("kuang_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")
} }
......
...@@ -5386,6 +5386,16 @@ ...@@ -5386,6 +5386,16 @@
"url": "assets/hbPrize/hbp_bg.png", "url": "assets/hbPrize/hbp_bg.png",
"type": "image", "type": "image",
"name": "hbp_bg_png" "name": "hbp_bg_png"
},
{
"url": "assets/mainScene/ele40.png",
"type": "image",
"name": "ele40_png"
},
{
"url": "assets/mainScene/kuang.png",
"type": "image",
"name": "kuang_png"
} }
] ]
} }
\ No newline at end of file
...@@ -72,7 +72,7 @@ import { ...@@ -72,7 +72,7 @@ import {
MonsterBaseElementType, MonsterBaseElementType,
monsterElementMap, monsterElementMap,
submitTran, submitTran,
forwardDirection forwardDirection,
} from '../something/enum/ElementType'; } 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';
...@@ -162,6 +162,16 @@ let svgaParser; ...@@ -162,6 +162,16 @@ let svgaParser;
const movieClips: any = {}; const movieClips: any = {};
let cannomvdata:any = null; let cannomvdata:any = null;
let cannofire1mvdata:any = null;
let cannolightmvdata:any = null;
let cannoparticlemvdata:any = null;
let pongomvdata:any = null;
let pongolfootdata:any = null;
let pongorfootdata:any = null;
let pongojiodata:any = null;
let pongojioArr:Array<any> = [];
//红包炸弹弹框名字 //红包炸弹弹框名字
const redBombPanelName = "RedBombAlert"; const redBombPanelName = "RedBombAlert";
...@@ -289,6 +299,8 @@ export default class MainScene extends Scene { ...@@ -289,6 +299,8 @@ export default class MainScene extends Scene {
cannoEffect:Array<any> = []; cannoEffect:Array<any> = [];
//准备发射的炮台 //准备发射的炮台
readyCannoArr:number[] = []; readyCannoArr:number[] = [];
//发射队列炮台
fireteamCannoArr:number[] = [];
get steps(): number { get steps(): number {
return this._steps return this._steps
} }
...@@ -439,7 +451,6 @@ export default class MainScene extends Scene { ...@@ -439,7 +451,6 @@ export default class MainScene extends Scene {
var mv = new window["SVGA"].EgretMovieClip(videoItem); var mv = new window["SVGA"].EgretMovieClip(videoItem);
mv.lockStep = true; mv.lockStep = true;
if(svgas[i]=="cannoblock"){ 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;
...@@ -507,9 +518,55 @@ export default class MainScene extends Scene { ...@@ -507,9 +518,55 @@ export default class MainScene extends Scene {
icannobox.rotation = roanum; icannobox.rotation = roanum;
for(let j=0;j<svgas.length;j++){ for(let j=0;j<svgas.length;j++){
let jsvgname = svgas[j]; let jsvgname = svgas[j];
let mvdata:any;
if(jsvgname=="cannofire1"){
mvdata = cannofire1mvdata;
}else if(jsvgname=="cannolight"){
mvdata = cannolightmvdata;
}else if(jsvgname=="cannoparticle"){
mvdata = cannoparticlemvdata;
}
if(mvdata){
// console.log("复用mvdata,免加载");
let mv = new window["SVGA"].EgretMovieClip(mvdata);
this.initCannoMv(mv,jsvgname,i);
}else{
svgaParser.load(resPath + 'resource/assets/svgas/' + jsvgname + ".svga", (videoItem) => { svgaParser.load(resPath + 'resource/assets/svgas/' + jsvgname + ".svga", (videoItem) => {
let mv = new window["SVGA"].EgretMovieClip(videoItem); let mv = new window["SVGA"].EgretMovieClip(videoItem);
// mv.lockStep = true; // mv.lockStep = true;
if(jsvgname=="cannofire1"&&!cannofire1mvdata){
cannofire1mvdata = videoItem;
}else if(jsvgname=="cannolight"&&!cannolightmvdata){
cannolightmvdata = videoItem;
}else if(jsvgname=="cannoparticle"&&!cannoparticlemvdata){
cannoparticlemvdata = videoItem;
}
this.initCannoMv(mv,jsvgname,i);
},function(error){
console.log("炮台svg加载失败",jsvgname);
})
}
}
}
}
/**
* 加载猩猩脚印
*/
initPongoJioSvgas(call:any=null){
if(pongojiodata){
}else{
if (!svgaParser) svgaParser = new window["SVGA"].Parser();
svgaParser.load(resPath + 'resource/assets/svgas/xingxingjio.svga', (videoItem) => {
pongojiodata = videoItem;
call&&call();
})
}
}
initCannoMv(mv:any,jsvgname:string,i:number){
let icannoboxwid:number=116;
let icannoboxhei:number=116;
mv.gotoAndStop(1); mv.gotoAndStop(1);
mv["cannoidx"] = i; mv["cannoidx"] = i;
if(jsvgname=="cannofire1"){ if(jsvgname=="cannofire1"){
...@@ -518,36 +575,27 @@ export default class MainScene extends Scene { ...@@ -518,36 +575,27 @@ export default class MainScene extends Scene {
mv.x = icannoboxwid-8; mv.x = icannoboxwid-8;
mv.y = (icannoboxhei-mvwidth)+180; mv.y = (icannoboxhei-mvwidth)+180;
mv.rotation = 90; mv.rotation = 90;
// console.log("cannofireTotal-------",mv,mv.totalFrames);
mv.addEventListener(egret.Event.ENTER_FRAME,this.listenCnfire,this); mv.addEventListener(egret.Event.ENTER_FRAME,this.listenCnfire,this);
}else if(jsvgname=="cannolight"){ }else if(jsvgname=="cannolight"){
var mvwidth = 400; var mvwidth = 400;
var mvheight = 400; var mvheight = 400;
mv.x = (icannoboxwid-mvwidth)/2; mv.x = (icannoboxwid-mvwidth)/2;
mv.y = (icannoboxhei-mvheight)/2; mv.y = (icannoboxhei-mvheight)/2;
// console.log("cannolight-------",mv. totalFrames);
mv.addEventListener(egret.Event.ENTER_FRAME,this.listenCnlight,this); mv.addEventListener(egret.Event.ENTER_FRAME,this.listenCnlight,this);
}else if(jsvgname=="cannoparticle"){ }else if(jsvgname=="cannoparticle"){
mv.x = icannoboxwid; mv.x = icannoboxwid;
mv.y = -icannoboxhei/2; mv.y = -icannoboxhei/2;
mv.rotation = 90; mv.rotation = 90;
// console.log("cannoparticle-------",mv. totalFrames);
mv.addEventListener(egret.Event.ENTER_FRAME,this.listenCnparticle,this); mv.addEventListener(egret.Event.ENTER_FRAME,this.listenCnparticle,this);
} }
this.cannoEffect[i][jsvgname] = mv; this.cannoEffect[i][jsvgname] = mv;
},function(error){
console.log("炮台svg加载失败",jsvgname);
})
}
}
} }
listenCnfire(e){ listenCnfire(e){
var target = e.target; var target = e.target;
var curframe = target.currentFrame; var curframe = target.currentFrame;
if(curframe>=30){ if(curframe>=30){
// console.log("fire播放完成",target["cannoidx"]);
target.gotoAndStop(1); target.gotoAndStop(1);
if(target.parent){ if(target.parent){
target.parent.removeChild(target); target.parent.removeChild(target);
...@@ -562,7 +610,6 @@ export default class MainScene extends Scene { ...@@ -562,7 +610,6 @@ export default class MainScene extends Scene {
var target = e.target; var target = e.target;
var curframe = target.currentFrame; var curframe = target.currentFrame;
if(curframe>=28){ if(curframe>=28){
// console.log("light播放完成",target["cannoidx"]);
target.gotoAndStop(1); target.gotoAndStop(1);
if(target.parent){ if(target.parent){
target.parent.removeChild(target); target.parent.removeChild(target);
...@@ -577,7 +624,6 @@ export default class MainScene extends Scene { ...@@ -577,7 +624,6 @@ export default class MainScene extends Scene {
var target = e.target; var target = e.target;
var curframe = target.currentFrame; var curframe = target.currentFrame;
if(curframe>=98){ if(curframe>=98){
// console.log("particle播放完成",target["cannoidx"]);
target.gotoAndStop(1); target.gotoAndStop(1);
if(target.parent){ if(target.parent){
target.parent.removeChild(target); target.parent.removeChild(target);
...@@ -814,7 +860,6 @@ export default class MainScene extends Scene { ...@@ -814,7 +860,6 @@ export default class MainScene extends Scene {
arrow.y = p[1]; arrow.y = p[1];
}); });
} }
} }
//初始化地图格子数据,包括生成口,联通口 //初始化地图格子数据,包括生成口,联通口
...@@ -911,6 +956,9 @@ export default class MainScene extends Scene { ...@@ -911,6 +956,9 @@ export default class MainScene extends Scene {
this.cannoArr = new Array(); 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());
//猩猩初始时加入
var pongoArr:Array<{tl:number,tr:number,bl:number,br:number}> = new Array();
for(var i = 0; i < elements.length; i++) { for(var i = 0; i < elements.length; i++) {
//如果对应格子为空,直接跳过, //如果对应格子为空,直接跳过,
if(!this.lattices[i]) continue; if(!this.lattices[i]) continue;
...@@ -1062,7 +1110,9 @@ export default class MainScene extends Scene { ...@@ -1062,7 +1110,9 @@ export default class MainScene extends Scene {
}else{ }else{
if (!svgaParser) svgaParser = new window["SVGA"].Parser(); if (!svgaParser) svgaParser = new window["SVGA"].Parser();
svgaParser.load(resPath + 'resource/assets/svgas/canno1.svga',(videoItem)=>{ svgaParser.load(resPath + 'resource/assets/svgas/canno1.svga',(videoItem)=>{
if(!cannomvdata){
cannomvdata = videoItem; cannomvdata = videoItem;
}
canno.createCanno(cannomvdata); canno.createCanno(cannomvdata);
}) })
} }
...@@ -1074,6 +1124,91 @@ export default class MainScene extends Scene { ...@@ -1074,6 +1124,91 @@ export default class MainScene extends Scene {
this.elementContainer.addChild(canno_block); this.elementContainer.addChild(canno_block);
this.lattices[i].element = canno_block; this.lattices[i].element = canno_block;
break; break;
case ElementConfigType.Pongo:
let inpart = this.checkEleInAcreatePongo(i,pongoArr);
if(inpart=="tl"){//创建新猩猩
var onepongodata = this.createOnePongoByTl(i);
pongoArr.push(onepongodata);
}else{
// console.log("是已经创建的猩猩的一部分")
}
//猩猩每部分默认被锁住
let pongo:Element = Tool.getElement(ElementType.Pongo);
pongo.x = p[0];
pongo.y = p[1];
this.elementContainer.addChild(pongo);
pongo.setPongoPart(inpart);
this.lattices[i].element = pongo;
if(inpart=="tl"){
if(pongomvdata&&pongolfootdata&&pongorfootdata){
this.waitDataCreatePongo(pongo);
}else{
if (!svgaParser) svgaParser = new window["SVGA"].Parser();
var svgas = ["xingxing","leftxingxing","rightxingxing"];
for(let pg=0;pg<svgas.length;pg++){
let pgname = svgas[pg];
if(pgname=="xingxing"){
if(pongomvdata){
var iscreate = this.waitDataCreatePongo(pongo);
if(iscreate){
break;
}else{
continue;
}
}
}else if(pgname=="leftxingxing"){
if(pongolfootdata){
var iscreate = this.waitDataCreatePongo(pongo);
if(iscreate){
break;
}else{
continue;
}
}
}else if(pgname=="rightxingxing"){
if(pongorfootdata){
var iscreate = this.waitDataCreatePongo(pongo);
if(iscreate){
break;
}else{
continue;
}
}
}
svgaParser.load(resPath + 'resource/assets/svgas/'+pgname+'.svga',(videoItem)=>{
if(pgname=="xingxing"){
if(!pongomvdata){
pongomvdata = videoItem;
}
}else if(pgname=="leftxingxing"){
if(!pongolfootdata){
pongolfootdata = videoItem;
}
}else if(pgname=="rightxingxing"){
if(!pongorfootdata){
pongorfootdata = videoItem;
}
}
var pongoidx = pongo.index;
var createidx = this.havecreate.indexOf(pongoidx);
if(createidx==-1){
var iscreate = this.waitDataCreatePongo(pongo);
if(iscreate){
this.havecreate.push(pongoidx);
}
}
})
}
}
}
//加载猩猩的脚印
this.initPongoJioSvgas();
break;
default: default:
//其他标识按空元素记 //其他标识按空元素记
this.emptys.push(i); this.emptys.push(i);
...@@ -1081,7 +1216,16 @@ export default class MainScene extends Scene { ...@@ -1081,7 +1216,16 @@ export default class MainScene extends Scene {
} }
} }
this.initCannoSvgas(this.cannoArr); this.initCannoSvgas(this.cannoArr);
// console.log("关卡大炮配置",this.cannoArr); }
havecreate:Array<number> = [];
//创建猩猩
waitDataCreatePongo(pongo:Element){
if(pongomvdata&&pongolfootdata&&pongorfootdata){
pongo.createPongo(pongomvdata,pongolfootdata,pongorfootdata);
return true;
}else{
return false;
}
} }
//重置基础元素及特效类型 //重置基础元素及特效类型
...@@ -1343,6 +1487,16 @@ export default class MainScene extends Scene { ...@@ -1343,6 +1487,16 @@ export default class MainScene extends Scene {
// console.log(cannoele.cannoMoveClip.currentFrame); // console.log(cannoele.cannoMoveClip.currentFrame);
// } // }
onTap_boomBtn() { onTap_boomBtn() {
// this.pongoPaiKuang(38);
// return;
// for(var i=0;i<this.lattices.length;i++){
// var lat = this.lattices[i];
// if(lat&&lat.element&&lat.element.inPongoPart&&lat.element.inPongoPart=="tl"){
// var pongoele:Element = lat.element;
// pongoele.changePongoStop("add");
// }
// }
// return;
NetManager.ins.clickLog(getlogItem(7)); NetManager.ins.clickLog(getlogItem(7));
if(this.propBtnCon.boomBtn.propNumShow.count <= 0) { if(this.propBtnCon.boomBtn.propNumShow.count <= 0) {
//购买弹框 //购买弹框
...@@ -1353,6 +1507,14 @@ export default class MainScene extends Scene { ...@@ -1353,6 +1507,14 @@ export default class MainScene extends Scene {
} }
onTap_hammerBtn() { onTap_hammerBtn() {
// for(var i=0;i<this.lattices.length;i++){
// var lat = this.lattices[i];
// if(lat&&lat.element&&lat.element.inPongoPart&&lat.element.inPongoPart=="tl"){
// var pongoele:Element = lat.element;
// pongoele.changePongoStop("cut");
// }
// }
// return;
NetManager.ins.clickLog(getlogItem(10)); NetManager.ins.clickLog(getlogItem(10));
if(this.propBtnCon.hammerBtn.propNumShow.count <= 0) { if(this.propBtnCon.hammerBtn.propNumShow.count <= 0) {
//购买弹框 //购买弹框
...@@ -1405,6 +1567,7 @@ export default class MainScene extends Scene { ...@@ -1405,6 +1567,7 @@ export default class MainScene extends Scene {
// ele.type != ElementType.ROCK && // ele.type != ElementType.ROCK &&
ele.type != ElementType.CANNO && ele.type != ElementType.CANNO &&
ele.type != ElementType.CANNO_BLOCK && ele.type != ElementType.CANNO_BLOCK &&
ele.type != ElementType.Pongo &&
!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);
...@@ -1514,6 +1677,9 @@ export default class MainScene extends Scene { ...@@ -1514,6 +1677,9 @@ export default class MainScene extends Scene {
} }
} }
} }
//特效消除猩猩
this.checkPongoHVEle(rc[0],rc[1],"hor");
this.checkPongoHVEle(rc[0],rc[1],"vir");
setTimeout(() => { setTimeout(() => {
this._converyorTag = true; this._converyorTag = true;
...@@ -1634,7 +1800,6 @@ export default class MainScene extends Scene { ...@@ -1634,7 +1800,6 @@ export default class MainScene extends Scene {
this.noActionCount = 0; this.noActionCount = 0;
this.resetWarning(); this.resetWarning();
if(!Tool.judgeChosen(e.target.parent)) return if(!Tool.judgeChosen(e.target.parent)) return
// console.log(e.target.parent)
if(self.SELECTED && Tool.checkNeb(e.target.parent, self.SELECTED)) { if(self.SELECTED && Tool.checkNeb(e.target.parent, self.SELECTED)) {
self.exchangeElementAni(self.SELECTED, e.target.parent, self.callbackEx); self.exchangeElementAni(self.SELECTED, e.target.parent, self.callbackEx);
self.SELECTED.removeChild(self.choosed); self.SELECTED.removeChild(self.choosed);
...@@ -2342,28 +2507,6 @@ export default class MainScene extends Scene { ...@@ -2342,28 +2507,6 @@ export default class MainScene extends Scene {
} }
} }
// 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;
} }
...@@ -2419,8 +2562,8 @@ export default class MainScene extends Scene { ...@@ -2419,8 +2562,8 @@ export default class MainScene extends Scene {
}, 200) }, 200)
} else { } else {
//新大炮充能 //新大炮充能
// console.log("新炮台充能",JSON.parse(JSON.stringify(pcannostatArr)));
for(var np=0;np<pcannostatArr.length;np++){ for(var np=0;np<pcannostatArr.length;np++){
if(this.readyCannoArr.indexOf(np)==-1&&this.fireteamCannoArr.indexOf(np)==-1){
var npdata = pcannostatArr[np]; var npdata = pcannostatArr[np];
var npineffect = npdata.ineffect; var npineffect = npdata.ineffect;
var npaddnum = npdata.addnum; var npaddnum = npdata.addnum;
...@@ -2435,13 +2578,11 @@ export default class MainScene extends Scene { ...@@ -2435,13 +2578,11 @@ export default class MainScene extends Scene {
} }
} }
var npcanno = this.cannoArr[np].ele; var npcanno = this.cannoArr[np].ele;
// console.log("新炮台充能",np,npadd)
for(var ap=0;ap<npadd;ap++){ for(var ap=0;ap<npadd;ap++){
var lastpcannostatnum:number = npcanno._cannoStat var lastpcannostatnum:number = npcanno._cannoStat
npcanno.addOneCannoStat(); npcanno.addOneCannoStat();
var newpcannostatnum:number = npcanno._cannoStat var newpcannostatnum:number = npcanno._cannoStat
if(newpcannostatnum>lastpcannostatnum){ if(newpcannostatnum>lastpcannostatnum){
// console.log('炮台充能------'+np,lastpcannostatnum,newpcannostatnum);
this.selectPlayCannoEffect(np,"cannolight"); this.selectPlayCannoEffect(np,"cannolight");
} }
var pcannostat = npcanno.checkCannoStat(); var pcannostat = npcanno.checkCannoStat();
...@@ -2452,6 +2593,7 @@ export default class MainScene extends Scene { ...@@ -2452,6 +2593,7 @@ export default class MainScene extends Scene {
} }
} }
} }
}
//没有可消除元素,执行掉落, //没有可消除元素,执行掉落,
setTimeout(() => { setTimeout(() => {
...@@ -2467,6 +2609,91 @@ export default class MainScene extends Scene { ...@@ -2467,6 +2609,91 @@ export default class MainScene extends Scene {
* 掉落完后的操作 * 掉落完后的操作
*/ */
async fallCallback() { async fallCallback() {
// //掉落后先走猩猩的消除
// if(this.gopongoArr.length>0){//消除猩猩,先播放猩猩消失的动画,后消除
// for(var cp=0;cp<this.gopongoArr.length;cp++){
// var cptl = this.gopongoArr[cp];
// var cptr = cptl+1;
// var cpbl = cptl+Tool.colNum;
// var cpbr = cpbl+1;
// var cpidxarr = [cptl,cptr,cpbl,cpbr];
// for(var a1=0;a1<cpidxarr.length;a1++){
// if(this.eliminatedElements.indexOf(cpidxarr[a1])==-1){
// this.eliminatedElements.push(cpidxarr[a1]);
// }
// }
// }
// this.gopongoArr = new Array();
// this.eliminate();
// return;
// }
if(this.freepongoArr.length==1){//拍块
console.log("一只猩猩拍块");
// this.pongoPaiKuang(this.freepongoArr[0]);
// var pongotl = this.freepongoArr.shift();
// if(this.gopongoArr.indexOf(pongotl)==-1){
// this.gopongoArr.push(pongotl);
// }
for(var cp=0;cp<this.freepongoArr.length;cp++){
var cptl = this.freepongoArr[cp];
if(this.lattices[cptl]&&this.lattices[cptl].element&&this.lattices[cptl].element.inPongoPart=="tl"){
var pongoele = this.lattices[cptl].element;
pongoele.mainScene = this;
pongoele.changePongoStat("body");
}
var cptr = cptl+1;
var cpbl = cptl+Tool.colNum;
var cpbr = cpbl+1;
var cpidxarr = [cptl,cptr,cpbl,cpbr];
for(var a1=0;a1<cpidxarr.length;a1++){
if(this.eliminatedElements.indexOf(cpidxarr[a1])==-1){
this.eliminatedElements.push(cpidxarr[a1]);
}
}
}
// this.freepongoArr = new Array();
// this.eliminate();
return;
}
if(this.freepongoArr.length>1){//清场
// console.log("多只猩猩清场",this.freepongoArr.length,JSON.stringify(this.freepongoArr));
// this.pongoClearScene();
// for(var fp=this.freepongoArr.length-1;fp>=0;fp--){
// var fptl = this.freepongoArr.splice(fp,1)[0];
// if(this.gopongoArr.indexOf(fptl)==-1){
// this.gopongoArr.push(fptl);
// }
// }
for(var cp=0;cp<this.freepongoArr.length;cp++){
var cptl = this.freepongoArr[cp];
if(this.lattices[cptl]&&this.lattices[cptl].element&&this.lattices[cptl].element.inPongoPart=="tl"){
var pongoele = this.lattices[cptl].element;
pongoele.mainScene = this;
pongoele.changePongoStat("body");
}
var cptr = cptl+1;
var cpbl = cptl+Tool.colNum;
var cpbr = cpbl+1;
var cpidxarr = [cptl,cptr,cpbl,cpbr];
for(var a1=0;a1<cpidxarr.length;a1++){
if(this.eliminatedElements.indexOf(cpidxarr[a1])==-1){
this.eliminatedElements.push(cpidxarr[a1]);
}
}
}
// this.freepongoArr = new Array();
// this.eliminate();
return;
}
//掉落后有消除,执行消除 //掉落后有消除,执行消除
if(this.threeMatch()) { if(this.threeMatch()) {
this.eliminate(); this.eliminate();
...@@ -2476,27 +2703,55 @@ export default class MainScene extends Scene { ...@@ -2476,27 +2703,55 @@ export default class MainScene extends Scene {
//炮台充能发射 //炮台充能发射
var emitcanno:Element; var emitcanno:Element;
if(this.readyCannoArr.length>0){ if(this.readyCannoArr.length>0){
var readyCannoIdx = this.readyCannoArr[0]; // var readyCannoIdx = this.readyCannoArr[0];
emitcanno = this.cannoArr[readyCannoIdx].ele; // emitcanno = this.cannoArr[readyCannoIdx].ele;
this.fireteamCannoArr = new Array();
// for(var p=0;p<this.readyCannoArr.length;p++){ for(var p=0;p<this.readyCannoArr.length;p++){
// var preadyCannoIdx = this.readyCannoArr[p]; var preadyCannoIdx = this.readyCannoArr[p];
// var pemitcanno = this.cannoArr[preadyCannoIdx].ele; var pemitcanno = this.cannoArr[preadyCannoIdx].ele;
// this.fireCanno(pemitcanno); this.fireCanno(pemitcanno);
// }
// return;
} }
if(emitcanno){
this.fireCanno(emitcanno);
return; return;
} }
// if(emitcanno){
// this.fireCanno(emitcanno);
// return;
// }
if (this._converyorTag) { if (this._converyorTag) {
await doConveyorAI(this); await doConveyorAI(this);
this._converyorTag = false; this._converyorTag = false;
} }
//棒棒糖消除
var recoverlp:number = 0;
for(var lp=0;lp<this.recycleIndexs.length;lp++){
var lpidx = this.recycleIndexs[lp];
var lplat = this.lattices[lpidx];
if(lplat&&lplat.element&&lplat.element.type==ElementType.LOLLIPOP){
recoverlp += 1;
this.recoverEle(lpidx);
this.lollipopCount--;
//通关目标还有棒棒糖,并且,图中不足,下次需要生成
if(this.passElements &&
this.passElements[ElementType.LOLLIPOP] &&
this.lollipopCount < this.passElements[ElementType.LOLLIPOP]) {
this.lollipopMark = true
}
}
}
if(recoverlp>0){
console.log("传送带棒棒糖消除");
this.fall(()=>{
this.fallCallback();
})
return;
}
await doSandAI(this); await doSandAI(this);
const doHoneyPotAIResult = await doHoneyPotAI(this); const doHoneyPotAIResult = await doHoneyPotAI(this);
if(doHoneyPotAIResult.length > 0) {//如果有激活的罐子被消除,那么表示可以自动消除,则不需要进行下一步 if(doHoneyPotAIResult.length > 0) {//如果有激活的罐子被消除,那么表示可以自动消除,则不需要进行下一步
...@@ -2574,7 +2829,6 @@ export default class MainScene extends Scene { ...@@ -2574,7 +2829,6 @@ export default class MainScene extends Scene {
} }
//判断是否已达目标 //判断是否已达目标
this.hasPassed = this.judgePass(); this.hasPassed = this.judgePass();
// console.log(this.hasPassed)
//如果已达目标 //如果已达目标
if(this.hasPassed) { if(this.hasPassed) {
//连消基数为1 //连消基数为1
...@@ -2639,6 +2893,86 @@ export default class MainScene extends Scene { ...@@ -2639,6 +2893,86 @@ export default class MainScene extends Scene {
//大炮发射 //大炮发射
fireCanno(canno:Element){ 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);
// }
// }
// //特效消除猩猩--炮弹
// var lockPongoArr:Array<{idx:number,part:string}> = new Array();
// 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;
// }
// }
// //提前消除了,需要修改成炮台的消除时消除
// if(lat&&lat.element){
// var isbreak = this.solveOneTxPgEle(lat.element.row,lat.element.column,lockPongoArr);
// }
// }
canno.fireCanno();
// var cannoidx = canno.index;
// var cannoarridx = this.getCannoArrByIdx(cannoidx);
// this.selectPlayCannoEffect(cannoarridx,"cannoparticle");
// setTimeout(()=>{
// this.eliminate();
// this.readyCannoArr.shift();
// canno.resetCannoStat();
// },200);
// this.solvePongoEle(lockPongoArr);
}
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){
//炮台消除猩猩状态
var cannodir = canno._cannoDir; var cannodir = canno._cannoDir;
var cannorow = canno.row; var cannorow = canno.row;
var cannocol = canno.column; var cannocol = canno.column;
...@@ -2664,6 +2998,9 @@ export default class MainScene extends Scene { ...@@ -2664,6 +2998,9 @@ export default class MainScene extends Scene {
cannoFireArr.push(iemitidx); cannoFireArr.push(iemitidx);
} }
} }
//特效消除猩猩--炮弹
var lockPongoArr:Array<{idx:number,part:string}> = new Array();
for(var j=0;j<cannoFireArr.length;j++){ for(var j=0;j<cannoFireArr.length;j++){
var jemitidx = cannoFireArr[j]; var jemitidx = cannoFireArr[j];
var lat = this.lattices[jemitidx]; var lat = this.lattices[jemitidx];
...@@ -2679,37 +3016,31 @@ export default class MainScene extends Scene { ...@@ -2679,37 +3016,31 @@ export default class MainScene extends Scene {
break; break;
} }
} }
}
canno.fireCanno(); //提前消除了,需要修改成炮台的消除时消除
var cannoidx = canno.index; if(lat&&lat.element){
var cannoarridx = this.getCannoArrByIdx(cannoidx); var isbreak = this.solveOneTxPgEle(lat.element.row,lat.element.column,lockPongoArr);
// 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;
} }
this.solvePongoEle(lockPongoArr);
var firecannoidx = canno.index;
if(this.fireteamCannoArr.indexOf(firecannoidx)==-1){
this.fireteamCannoArr.push(firecannoidx);
} }
return arridx;
} if(this.fireteamCannoArr.length==this.readyCannoArr.length){
/**
* 炮台发射完毕,开始炮台消除
*/
callBackFireCanno(canno:Element){
this.eliminate(); this.eliminate();
this.readyCannoArr.shift(); for(var i=0;i<this.readyCannoArr.length;i++){
canno.resetCannoStat(); var preadyCannoIdx = this.readyCannoArr[i];
var pemitcanno = this.cannoArr[preadyCannoIdx].ele;
pemitcanno.resetCannoStat();
}
this.readyCannoArr = new Array();
this.fireteamCannoArr = new Array();
}
// this.readyCannoArr.shift();
// canno.resetCannoStat();
// if(this.readyCannoArr.length==1){ // if(this.readyCannoArr.length==1){
// this.eliminate(); // this.eliminate();
// } // }
...@@ -2969,6 +3300,12 @@ export default class MainScene extends Scene { ...@@ -2969,6 +3300,12 @@ export default class MainScene extends Scene {
} }
} }
} }
//特效消除猩猩
this.checkPongoHVEle(lat1.row,lat1.column,"hor");
this.checkPongoHVEle(lat1.row,lat1.column,"vir");
} }
//一个方向,一个爆炸 //一个方向,一个爆炸
else if((ele1.effectType < 2 || ele2.effectType < 2) && else if((ele1.effectType < 2 || ele2.effectType < 2) &&
...@@ -2987,6 +3324,69 @@ export default class MainScene extends Scene { ...@@ -2987,6 +3324,69 @@ export default class MainScene extends Scene {
npdata.addnum = 1; npdata.addnum = 1;
} }
} }
//特效消除猩猩
var pongor = [
{
row:lat1.row-1,
col:lat1.column
},
{
row:lat1.row,
col:lat1.column
},
{
row:lat1.row+1,
col:lat1.column
}
];
var pongoc = [
{
row:lat1.row,
col:lat1.column-1
},
{
row:lat1.row,
col:lat1.column
},
{
row:lat1.row,
col:lat1.column+1
}
];
for(var pr1=0;pr1<pongor.length;pr1++){
var prcdata = pongor[pr1];
var prcrow = prcdata.row;
var prccol = prcdata.col;
if(prcrow>=0&&prcrow<Tool.rowNum&&prccol>=0&&prccol<Tool.colNum){
this.checkPongoHVEle(prcrow,prccol,"hor");
for(var np=0;np<pcannostatArr.length;np++){
var npdata = pcannostatArr[np];
var canaddhor = this.addCannoStatByHor(np,prcrow,prccol);
if(canaddhor){
npdata.ineffect = true;
}
}
}
}
for(var pc1=0;pc1<pongoc.length;pc1++){
var prcdata = pongoc[pc1];
var prcrow = prcdata.row;
var prccol = prcdata.col;
if(prcrow>=0&&prcrow<Tool.rowNum&&prccol>=0&&prccol<Tool.colNum){
this.checkPongoHVEle(prcrow,prccol,"vir");
for(var np=0;np<pcannostatArr.length;np++){
var npdata = pcannostatArr[np];
var canaddver = this.addCannoStatByVer(np,prcrow,prccol);
if(canaddver){
npdata.ineffect = true;
}
}
}
}
//回收 //回收
this.recoverEle(one) this.recoverEle(one)
this.recoverEle(two) this.recoverEle(two)
...@@ -3005,6 +3405,8 @@ export default class MainScene extends Scene { ...@@ -3005,6 +3405,8 @@ export default class MainScene extends Scene {
} }
} }
} }
} }
//如果两个爆炸 //如果两个爆炸
else if(ele1.effectType == EffectType.EXPLOSIVE && ele2.effectType == EffectType.EXPLOSIVE) { else if(ele1.effectType == EffectType.EXPLOSIVE && ele2.effectType == EffectType.EXPLOSIVE) {
...@@ -3248,6 +3650,10 @@ export default class MainScene extends Scene { ...@@ -3248,6 +3650,10 @@ export default class MainScene extends Scene {
else if (ele.type == ElementType.CANNO_BLOCK){ else if (ele.type == ElementType.CANNO_BLOCK){
this.removeCannoBlock(index); this.removeCannoBlock(index);
} }
//猩猩
else if(ele.type == ElementType.Pongo){
this.removePongo(index);;
}
} }
} }
//从消除列表移除 //从消除列表移除
...@@ -3398,6 +3804,10 @@ export default class MainScene extends Scene { ...@@ -3398,6 +3804,10 @@ export default class MainScene extends Scene {
npdata.ineffect = true; npdata.ineffect = true;
} }
} }
//特效消除猩猩
this.checkPongoHVEle(row,lat.column,"hor");
break; break;
case EffectType.VERTICAL: case EffectType.VERTICAL:
if(sounds.indexOf(SoundType.line) == -1) sounds.push(SoundType.line) if(sounds.indexOf(SoundType.line) == -1) sounds.push(SoundType.line)
...@@ -3450,6 +3860,10 @@ export default class MainScene extends Scene { ...@@ -3450,6 +3860,10 @@ export default class MainScene extends Scene {
npdata.ineffect = true; npdata.ineffect = true;
} }
} }
//特效消除猩猩
this.checkPongoHVEle(lat.row,col,"vir");
break; break;
} }
} }
...@@ -3926,6 +4340,397 @@ export default class MainScene extends Scene { ...@@ -3926,6 +4340,397 @@ export default class MainScene extends Scene {
} }
} }
} }
//自由的猩猩
freepongoArr:Array<number> = [];
//准备离开的猩猩
gopongoArr:Array<number> = [];
//相邻消除解救猩猩
checkPongoNebEle(lat0: Lattice, ele?: Element) {
if(!lat0 || !ele) return;
var indexs = this.getNextIndexs(lat0);
var lockPongoArr:Array<{idx:number,part:string}> = new Array();
for(let i = 0; i < indexs.length; i++) {
let index = indexs[i];
let lat = this.lattices[index];
if(lat && lat.element && lat.element.type == ElementType.Pongo) {
const type = ele.type;
// if(this.passElements && this.passElements[type] != 0) {//不清楚是干啥的
if(lat.element.hasState(StateType.PongoLockState)){
var ilockpongo = {
idx:lat.element.index,
part:lat.element.inPongoPart
}
// lockPongoArr.push(ilockpongo);
//解锁猩猩被锁状态
var istrue = this.changePongoStat(lat.element);
if(!istrue){
return;
}
lockPongoArr.push(ilockpongo);
}
// }
}
}
//本次全地图解锁的猩猩部分处理
this.solvePongoEle(lockPongoArr);
}
//消除动画中的猩猩解锁状态
changePongoStat(ele:Element){
var pongopart = ele.inPongoPart;
var eleidx = ele.index;
var tlidx:number;
switch(pongopart){
case "tl":
tlidx = eleidx;
break;
case "tr":
tlidx = eleidx - 1;
break;
case "bl":
tlidx = eleidx - Tool.colNum;
break;
case "br":
tlidx = eleidx - Tool.colNum - 1;
break;
default:
console.error("未定义猩猩解锁");
break;
}
if(this.lattices[tlidx]&&this.lattices[tlidx].element){
var tlele:Element = this.lattices[tlidx].element;
if(!tlele.pongoMoveClip){
return false;
}
tlele.changePongoStat(pongopart);
}
ele.removePongoLockStat();
return true;
}
//横纵特效穿过解救猩猩
checkPongoHVEle(row:number,col:number,dir:string){
var lockPongoArr:Array<{idx:number,part:string}> = new Array();
if(dir=="hor"){
//向左穿透猩猩
for(var i=col-1;i>=0;i--){
var isbreak = this.solveOneTxPgEle(row,i,lockPongoArr);
if(isbreak==2){
break;
}
}
//向右穿透猩猩
for(var i=col+1;i<Tool.colNum;i++){
var isbreak = this.solveOneTxPgEle(row,i,lockPongoArr);
if(isbreak==2){
break;
}
}
}else if(dir=="vir"){
//向上
for(var i=row-1;i>=0;i--){
var isbreak = this.solveOneTxPgEle(i,col,lockPongoArr);
if(isbreak==2){
break;
}
}
//向下
for(var i=row+1;i<Tool.rowNum;i++){
var isbreak = this.solveOneTxPgEle(i,col,lockPongoArr);
if(isbreak==2){
break;
}
}
}
//本次特效消除的猩猩
this.solvePongoEle(lockPongoArr);
}
solveOneTxPgEle(row:number,col:number,lockPongoArr:Array<{idx:number,part:string}>){
var eleidx = Tool.rcToIndex(row,col);
if (!this.lattices[eleidx] || !this.lattices[eleidx].element) return 1;
var lat = this.lattices[eleidx];
var iscannoblock = Tool.judgeIscannoBlock(lat);
if(iscannoblock){
return 2;
}
if(lat && lat.element && lat.element.type == ElementType.Pongo) {//是猩猩
if(lat.element.hasState(StateType.PongoLockState)){
var ilockpongo = {
idx:lat.element.index,
part:lat.element.inPongoPart
}
var istrue = this.changePongoStat(lat.element);
if(istrue){
lockPongoArr.push(ilockpongo);
}else{
}
}
}
return 3;
}
solvePongoEle(lockPongoArr:Array<{idx:number,part:string}>){
//对本次解锁的猩猩部分,分成对应的几个猩猩
var alockPongo:Array<number> = [];//只存左上
for(var j=0;j<lockPongoArr.length;j++){
var jpongodata = lockPongoArr[j];
var jpongoidx = jpongodata.idx;
var jpongopart = jpongodata.part;
var tlidx:number;
if(jpongopart=="tl"){
tlidx = jpongoidx;
}
else if(jpongopart=="tr"){
tlidx = jpongoidx - 1;
}
else if(jpongopart=="bl"){
tlidx = jpongoidx -Tool.colNum;
}
else if(jpongopart=="br"){
tlidx = jpongoidx - Tool.colNum-1;
}
if(alockPongo.indexOf(tlidx)==-1){
alockPongo.push(tlidx);
}
}
var pglockstat = StateType.PongoLockState;
//本次参与的消除的猩猩
//有几只猩猩自由了
for(var p=0;p<alockPongo.length;p++){
var tlpongoidx = alockPongo[p];
var trpongoidx = tlpongoidx+1;
var blpongoidx = tlpongoidx+Tool.colNum;
var brpongoidx = blpongoidx+1;
var tlpartstat = this.lattices[tlpongoidx].element.hasState(pglockstat);
var trpartstat = this.lattices[trpongoidx].element.hasState(pglockstat);
var blpartstat = this.lattices[blpongoidx].element.hasState(pglockstat);
var brpartstat = this.lattices[brpongoidx].element.hasState(pglockstat);
//猩猩自由了
if(!tlpartstat&&!trpartstat&&!blpartstat&&!brpartstat){
if(this.freepongoArr.indexOf(tlpongoidx)==-1){
this.freepongoArr.push(tlpongoidx);
}
}
}
}
/**
* 猩猩拍框,
* @param tlidx 拍框猩猩的左上
*/
pongoPaiKuang(tlidx:number){
//随机发框
var kuangarr:Array<number> = new Array();
var canusearr:Array<number> = new Array();//可以作为左上角的
var allusearr:Array<number> = new Array();//所有的位置
var tridx = tlidx+1;
var blidx = tlidx+Tool.colNum;
var bridx = blidx+1;
var pongoarr1 = [tlidx,tridx,blidx,bridx];
for(var k1row=0;k1row<Tool.rowNum;k1row++){
for(var k1col=0;k1col<Tool.colNum;k1col++){
var k1index = Tool.rcToIndex(k1row,k1col);
var isinpongo = pongoarr1.indexOf(k1index);
if(isinpongo==-1){//粗略的去除拍的猩猩
if(k1row<=6&&k1col<=7){//全部可用左上
//需要去除会占到该猩猩的
canusearr.push(k1index);
}
allusearr.push(k1index);
}
}
}
// console.log("所有可作为左上角的",canusearr,"\n所有位置",allusearr);
//原来9*9
while(kuangarr.length<4){
var randkidx = Math.floor(Math.random()*canusearr.length);
var randk = canusearr[randkidx];
var randkrc = Tool.indexToRc(randk);
var klatrow = randkrc[0];
var klatcol = randkrc[1];
//把框占位的都加进去
var k1idx = randk;
var k2idx = randk+1;
var k3idx = randk+Tool.colNum;
var k4idx = randk+Tool.colNum+1;
var k5idx = randk+Tool.colNum*2;
var k6idx = randk+Tool.colNum*2+1;
var kuangidxarr = [k1idx,k2idx,k3idx,k4idx,k5idx,k6idx];
var allhave:boolean = true;
var haveele:boolean = false;
for(var k2=0;k2<kuangidxarr.length;k2++){
var k2kuangidx = kuangidxarr[k2];
var lat = this.lattices[k2kuangidx];
if(lat){
haveele = true;
}
var k2kuanginuse = allusearr.indexOf(k2kuangidx);
if(k2kuanginuse==-1){
allhave = false;
break;
}
var incanuseidx = canusearr.indexOf(k2kuangidx);
if(incanuseidx==-1){
}
}
if(allhave&&haveele){//所占框都可用
for(var k3=0;k3<kuangidxarr.length;k3++){
var k3kuangidx = kuangidxarr[k3];
var ellat = this.lattices[k3kuangidx];
if(ellat&&Tool.judgeEliminate(ellat)){
if(this.eliminatedElements.indexOf(k3kuangidx)==-1){
this.eliminatedElements.push(k3kuangidx);
}
if(this.lattices[k3kuangidx].element.type == ElementType.FISH) {
this.lattices[k3kuangidx].element.nextFishState();
}
}
var k3allinuse = allusearr.indexOf(k3kuangidx);
if(k3allinuse==-1){
console.error("出现了问题,检查");
}else{
allusearr.splice(k3allinuse,1);
}
var k3caninuse = canusearr.indexOf(k3kuangidx);
if(k3caninuse!=-1){
}else{
canusearr.splice(k3caninuse,1);
}
}
kuangarr.push(k1idx);
}
}
for(var i=0;i<kuangarr.length;i++){
var ikuang = kuangarr[i];
var pos = Tool.getPositionByIndex(ikuang);
var kuangpos = this.elementContainer.localToGlobal(pos[0],pos[1]);
// let ikuangimg;
// if(this.pongoKarr.length>0){
// ikuangimg = this.pongoKarr.shift();
// }else{
// ikuangimg = new eui.Image("kuang_png");
// }
// this.addChild(ikuangimg);
// ikuangimg.x = kuangpos.x-40;
// ikuangimg.y = kuangpos.y-40;
// this.tweenKuangDis(ikuangimg);
if(pongojiodata){
let ikuangmv;
if(pongojioArr.length>0){
ikuangmv = pongojioArr.shift();
}else{
ikuangmv = new window["SVGA"].EgretMovieClip(pongojiodata);
}
ikuangmv.addEventListener(egret.Event.COMPLETE,this.playCompleteJio,this);
this.addChild(ikuangmv);
ikuangmv.x = kuangpos.x-160;
ikuangmv.y = kuangpos.y - 120;
ikuangmv.gotoAndPlay(1,1);
}else{
console.error("无猩猩脚印data,一般不用处理");
this.initPongoJioSvgas(function(){
let ikuangmv;
if(pongojioArr.length>0){
ikuangmv = pongojioArr.shift();
}else{
ikuangmv = new window["SVGA"].EgretMovieClip(pongojiodata);
}
ikuangmv.addEventListener(egret.Event.COMPLETE,this.playCompleteJio,this);
this.addChild(ikuangmv);
ikuangmv.x = kuangpos.x-160;
ikuangmv.y = kuangpos.y - 120;
ikuangmv.gotoAndPlay(1,1);
}.bind(this));
}
}
}
playCompleteJio(e){
// console.log("猩猩脚印播放完毕");
var target = e.target;
target.stop();
target.removeEventListener(egret.Event.COMPLETE,this.playCompleteJio,this);
if(target.parent){
target.parent.removeChild(target);
pongojioArr.push(target);
}
}
//猩猩框的对象池
pongoKarr:Array<eui.Image> = [];
tweenKuangDis(img:eui.Image){
egret.Tween.get(img)
.set({
alpha:1
})
.to({
alpha:0
},6000)
.call(()=>{
if(img&&img.parent){
img.parent.removeChild(img);
this.pongoKarr.push(img);
}
})
}
/**
* 多猩猩清场
*/
pongoClearScene(){
for(var i = 0; i < this.lattices.length; i++) {
var lat = this.lattices[i];
if(Tool.judgeEliminate(lat)) {
//本来没必要判断特效组合时是否有重复的消除元素,但是recoverEle里会有判断石头或果冻的加入,造成重复
if(this.eliminatedElements.indexOf(i) == -1) this.eliminatedElements.push(i);
if(this.lattices[i].element.type == ElementType.FISH) {
this.lattices[i].element.nextFishState();
}
//两个魔力鸟分数MM
if(Tool.judgeHasScore(lat.element)) {
this.pushScoreAni(baseScore * this.effectContinuityTimes * effectBaseTimes.MM, Tool.getPositionByIndex(i))
}
}
}
}
getNextIndexs(lat0:Lattice){
var indexMy = lat0.index;
var indexs = [
indexMy - Tool.colNum,
indexMy + Tool.colNum,
];
if(lat0.column > 0) {
indexs.push(indexMy - 1)
}
if(lat0.column < Tool.colNum - 1) {
indexs.push(indexMy + 1)
}
return indexs;
}
//检查附近所有元素 //检查附近所有元素
checkNebAll(latttice: Lattice, ele?: Element) { checkNebAll(latttice: Lattice, ele?: Element) {
...@@ -3933,6 +4738,7 @@ export default class MainScene extends Scene { ...@@ -3933,6 +4738,7 @@ export default class MainScene extends Scene {
this.checkLatticeBroken(latttice); this.checkLatticeBroken(latttice);
this.checkFireworksNebEle(latttice, ele); this.checkFireworksNebEle(latttice, ele);
this.checkFishNebEle(latttice); this.checkFishNebEle(latttice);
this.checkPongoNebEle(latttice,ele);
//如果附近有石头 //如果附近有石头
this.checkNebEle(latttice, (lat) => { this.checkNebEle(latttice, (lat) => {
return lat && lat.element && lat.element.type == ElementType.ROCK return lat && lat.element && lat.element.type == ElementType.ROCK
...@@ -3994,6 +4800,12 @@ export default class MainScene extends Scene { ...@@ -3994,6 +4800,12 @@ export default class MainScene extends Scene {
blockmv.gotoAndPlay(1,1); blockmv.gotoAndPlay(1,1);
} }
} }
/**
* 猩猩的移除
*/
removePongo(index:number){
this.removeOperation(index);
}
/** /**
* 果冻的移除,包括动效 * 果冻的移除,包括动效
* @param index * @param index
...@@ -4071,6 +4883,9 @@ export default class MainScene extends Scene { ...@@ -4071,6 +4883,9 @@ export default class MainScene extends Scene {
//先赋值指向 //先赋值指向
let ele = this.lattices[index].element; let ele = this.lattices[index].element;
//猩猩新增,去除ticker
ele.addDisable();
//添加进emptys //添加进emptys
this.emptys.push(index) this.emptys.push(index)
//从容器移除 //从容器移除
...@@ -4103,6 +4918,10 @@ export default class MainScene extends Scene { ...@@ -4103,6 +4918,10 @@ export default class MainScene extends Scene {
// } // }
// } // }
// } // }
//消除
return ele return ele
} }
...@@ -4268,4 +5087,83 @@ export default class MainScene extends Scene { ...@@ -4268,4 +5087,83 @@ export default class MainScene extends Scene {
} }
return addver; return addver;
} }
//新增大猩猩,猩猩有4部分组成
/**
* 判断当前idx是否是已经创建的大猩猩的一部分
* @param idx
* @param arr
*/
checkEleInAcreatePongo(idx:number,arr:Array<{tl:number,tr:number,bl:number,br:number}>){
var inacreate:boolean = false;
var kpart:string = "tl";
for(var i=0;i<arr.length;i++){
var ipongo = arr[i];
for(var k in ipongo){
var kpar = ipongo[k];
if(kpar==idx){
kpart = k;
inacreate = true;
break;
}
}
}
return kpart;
}
/**
* 创建一个大猩猩
* @param idx
*/
createOnePongoByTl(idx:number){
var tlpongorc = Tool.indexToRc(idx);
var tlpongorow = tlpongorc[0];
var tlpongocol = tlpongorc[1];
var trpongorow = tlpongorow;
var trpongocol = tlpongocol+1;
var blpongorow = tlpongorow+1;
var blpongocol = tlpongocol;
var brpongorow = blpongorow;
var brpongocol = blpongocol+1;
var pongodata = {
tl:idx,
tr:Tool.rcToIndex(trpongorow,trpongocol),
bl:Tool.rcToIndex(blpongorow,blpongocol),
br:Tool.rcToIndex(brpongorow,brpongocol)
}
return pongodata;
}
/**
* 猩猩的相关消除
*/
clearPongoEle(pongoidx:number){
if(this.freepongoArr.length==1){
this.pongoPaiKuang(this.freepongoArr[0]);
}else if(this.freepongoArr.length>1){
this.pongoClearScene();
}
// if(this.gopongoArr.indexOf(pongoidx)==-1){
// this.gopongoArr.push(pongoidx);
// }
// if(this.gopongoArr.length==this.freepongoArr.length){
// console.log("猩猩开始消除",JSON.stringify(this.gopongoArr),JSON.stringify(this.freepongoArr))
// this.gopongoArr = new Array();
// this.freepongoArr = new Array();
// }
}
checkEliminatePongo(pongoidx:number){
if(this.gopongoArr.indexOf(pongoidx)==-1){
this.gopongoArr.push(pongoidx);
}
if(this.gopongoArr.length==this.freepongoArr.length){
// console.log("猩猩开始消除",JSON.stringify(this.gopongoArr),JSON.stringify(this.freepongoArr))
this.gopongoArr = new Array();
this.freepongoArr = new Array();
this.eliminate();
}
}
} }
\ No newline at end of file
...@@ -63,13 +63,14 @@ const judgeActionIndex = (index: number, lattices: Lattice[]): number => { ...@@ -63,13 +63,14 @@ const judgeActionIndex = (index: number, lattices: Lattice[]): number => {
while (arr.length) { while (arr.length) {
var rand = Math.floor(Math.random() * arr.length); var rand = Math.floor(Math.random() * arr.length);
var i = arr.splice(rand, 1)[0]; var i = arr.splice(rand, 1)[0];
if (Tool.judgeBaseEle(lattices[i]) && if ((Tool.judgeBaseEle(lattices[i]) &&
!lattices[i].element.hasAnyState() && !lattices[i].element.hasAnyState() &&
!lattices[i].element.candy && !lattices[i].element.candy &&
!lattices[i].sand && !lattices[i].sand &&
!lattices[i].block && !lattices[i].block &&
!lattices[i].ice && !lattices[i].ice &&
!lattices[i].element.monster !lattices[i].element.monster)||
(lattices[i]&&lattices[i].element&&lattices[i].element.inPongoPart)//猩猩支持流沙
) { ) {
return i return i
} }
......
...@@ -302,7 +302,8 @@ export class Tool { ...@@ -302,7 +302,8 @@ export class Tool {
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 ||
lat.element.type == ElementType.CANNO_BLOCK lat.element.type == ElementType.CANNO_BLOCK ||
lat.element.type == ElementType.Pongo
) { ) {
return false return false
} }
...@@ -366,7 +367,8 @@ export class Tool { ...@@ -366,7 +367,8 @@ 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.CANNO || lat.element.type == ElementType.CANNO ||
lat.element.type == ElementType.CANNO_BLOCK lat.element.type == ElementType.CANNO_BLOCK ||
lat.element.type == ElementType.Pongo
) { ) {
return false return false
} }
...@@ -467,7 +469,8 @@ export class Tool { ...@@ -467,7 +469,8 @@ export class Tool {
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 ||
ele.type == ElementType.CANNO_BLOCK ele.type == ElementType.CANNO_BLOCK ||
ele.type == ElementType.Pongo
) { ) {
return false; return false;
} }
...@@ -495,7 +498,8 @@ export class Tool { ...@@ -495,7 +498,8 @@ export class Tool {
ele.hasState(StateType.HAIRBALLBLACK) || ele.hasState(StateType.HAIRBALLBLACK) ||
ele.hasState(StateType.HAIRBALLBROWN) || ele.hasState(StateType.HAIRBALLBROWN) ||
ele.type == ElementType.CANNO || ele.type == ElementType.CANNO ||
ele.type == ElementType.CANNO_BLOCK ele.type == ElementType.CANNO_BLOCK ||
ele.type == ElementType.Pongo
) { ) {
return false; return false;
} }
...@@ -517,7 +521,8 @@ export class Tool { ...@@ -517,7 +521,8 @@ export class Tool {
ele.hasState(StateType.HAIRBALLBLACK) || ele.hasState(StateType.HAIRBALLBLACK) ||
ele.hasState(StateType.HAIRBALLBROWN) || ele.hasState(StateType.HAIRBALLBROWN) ||
ele.type == ElementType.CANNO || ele.type == ElementType.CANNO ||
ele.type == ElementType.CANNO_BLOCK ele.type == ElementType.CANNO_BLOCK ||
ele.type == ElementType.Pongo
) { ) {
return false; return false;
} }
......
import { ChapterData } from "../interface/ChapterData";
//601-625
export const Chapters24: ChapterData[] = [
//601
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 9, count: 78 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 3, 3, 0, 3, 3, 3, 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, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 61, 6, 61, 6, 61, 6, 61, 6, 61, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 2, 1, 2, 2, 2, 1, 2, 1,
1, 2, 2, 2, 2, 2, 2, 2, 1,
1, 1, 1, 1, 1, 2, 2, 2, 1,
1, 23, 23, 1, 1, 1, 23, 23, 1,
1, 23, 23, 1, 1, 1, 23, 23, 1,
1, 1, 1, 2, 2, 2, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2,
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,
30, 20, 20, 30, 20, 0, 0, 0, 0,
50, 0, 0, 40, 40, 50, 0, 0, 0,
50, 0, 0, 40, 30, 0, 0, 0, 0,
40, 20, 20, 50, 0, 0, 0, 0, 0,
0, 0, 0, 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: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 11, type: null }, { index: 15, type: null } ] } },
//602
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 5, stepCount: 28, passTarget: { type: 1, elements: [ { type: 9, count: 71 }, { type: 1, count: 128 } ] }, 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, 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, 1, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3 ], connectedLats: [ [ 40, 58 ], [ 18, 54 ], [ 26, 62 ] ], conveyor: [], conveyorConnectedLats: [], 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, 23, 23, 1, 23, 23, 1, 1, 1, 1, 23, 23, 1, 23, 23, 1, 1, 1, 1, 2, 2, 6, 2, 2, 1, 1, 4, 4, 2, 2, 2, 2, 2, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 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: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null } ] } },
//603
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 27, passTarget: { type: 1, elements: [ { type: 10, count: 4 }, { type: 4, count: 66 }, { type: 2, count: 88 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0 ], connectedLats: [ [ 12, 30 ], [ 13, 31 ] ], conveyor: [], conveyorConnectedLats: [], 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, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 8, 2, 8, 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, 31, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 41, 0, 41, 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: 72, type: null }, { index: 73, type: null }, { index: 74, type: null }, { index: 75, type: null }, { index: 76, type: null }, { index: 77, type: null }, { index: 78, type: null }, { index: 48, type: null }, { index: 49, type: null } ] } },
//604
{ baseElementTypes: [ 0, 1, 3, 4 ], bubbleProbability: 0,
stepCount: 30, passTarget: { type: 1, elements: [ { type: 0, count: 88 }, { type: 4, count: 98 } ] }, starScores: [ 15000, 20000, 25000 ], map: {
lattices: [
1, 1, 1, 1, 0, 3, 3, 3, 3,
1, 1, 1, 1, 0, 3, 3, 3, 3,
1, 1, 1, 1, 0, 3, 3, 3, 3,
1, 1, 1, 1, 0, 3, 3, 3, 3,
1, 1, 1, 1, 0, 3, 3, 3, 3,
1, 1, 1, 1, 0, 3, 3, 3, 3,
1, 1, 1, 1, 0, 3, 3, 3, 3,
1, 1, 1, 1, 0, 3, 3, 3, 3,
1, 1, 1, 1, 0, 3, 3, 3, 3
], connectedLats: [], conveyor: [], conveyorConnectedLats: [],
elements: [
1, 1, 1, 1, 1, 2, 2, 2, 1,
1, 1, 1, 1, 1, 2, 2, 1, 1,
1, 1, 1, 1, 1, 2, 2, 2, 1,
1, 1, 1, 1, 1, 2, 2, 2, 2,
1, 1, 1, 1, 1, 2, 2, 2, 1,
1, 1, 1, 1, 1, 2, 2, 1, 1,
1, 4, 4, 1, 1, 2, 1, 2, 1,
23, 23, 23, 23, 1, 1, 1, 23, 23,
23, 23, 23, 23, 1, 1, 1, 23, 23
], 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, 13, 11, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12, 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 } ] } },
//605
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 24, passTarget: { type: 1, elements: [ { type: 36, count: 53 }, { type: 34, count: 25 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7 ], connectedLats: [ [ 2, 20 ] ], conveyor: [ [ 11, 15 ], [ 24, 20 ] ], conveyorConnectedLats: [ [ 15, 11 ], [ 20, 24 ] ], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 1, 16, 1, 16, 1, 1, 1, 1, 1, 16, 1, 16, 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, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 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: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 27, type: null }, { index: 28, type: null }, { index: 34, type: null }, { index: 35, type: null } ] } },
//606
{ baseElementTypes: [ 0, 1, 2, 4 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 9, count: 71 }, { type: 2, count: 68 } ] }, 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, 6, 6, 6, 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, 3, 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 0, 0, 0, 3, 0, 3, 0, 0, 0 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], 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, 23, 23, 1, 1, 1, 23, 23, 1, 1, 23, 23, 1, 1, 1, 23, 23, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 2, 2, 2, 1, 1, 1, 2, 2, 2, 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: 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 } ] } },
//607
{ baseElementTypes: [ 0, 1, 3, 4 ], bubbleProbability: 0, stepCount: 27, passTarget: { type: 1, elements: [ { type: 34, count: 30 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 1, 1, 1, 0, 0, 0, 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, 0, 1, 4, 1, 1, 1, 1, 1, 4, 1, 1, 1, 41, 1, 41, 1, 41, 1, 1, 1, 4, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], elements: [ 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, 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, 16, 2, 16, 2, 16, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 16, 2, 16, 2, 16, 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: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 12, type: null }, { index: 13, type: null }, { index: 14, type: null } ] } },
//608
{ baseElementTypes: [ 1, 2, 0, 4 ], bubbleProbability: 0, stepCount: 33, passTarget: { type: 1, elements: [ { type: 0, count: 98 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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: [], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 23, 23, 1, 6, 1, 1, 1, 1, 6, 23, 23, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 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: 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 } ] } },
//609
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 28, passTarget: { type: 1, elements: [ { type: 1, count: 128 }, { type: 3, count: 63 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 41, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 41, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], connectedLats: [], conveyor: [ [ 79, 72 ], [ 16, 70 ], [ 10, 15 ] ], conveyorConnectedLats: [ [ 72, 10 ], [ 15, 16 ], [ 70, 72 ] ], elements: [ 1, 2, 1, 1, 1, 1, 1, 1, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6 ], 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 }, { index: 9, type: null } ] } },
//610
{ baseElementTypes: [ 1, 0, 2, 3 ], bubbleProbability: 0, stepCount: 31, passTarget: { type: 1, elements: [ { type: 9, count: 51 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 3, 0, 3, 3, 3, 0, 3, 0, 3, 0, 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 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 ], connectedLats: [ [ 19, 55 ], [ 25, 61 ] ], conveyor: [], conveyorConnectedLats: [], 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 23, 23, 1, 23, 23, 1, 1, 1, 1, 23, 23, 1, 23, 23, 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: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 19, type: null }, { index: 25, type: null }, { index: 27, type: null }, { index: 35, type: null } ] } },
//611
{ baseElementTypes: [ 3, 4, 0, 2 ], bubbleProbability: 0, stepCount: 23, passTarget: { type: 1, elements: [ { type: 9, count: 65 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 0, 0, 0, 3, 3, 3, 3, 3, 0, 3, 3, 3, 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, 0, 3, 3, 3, 3, 0, 3, 3, 3, 3, 0, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 14, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 1, 2, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 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: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 10, type: null }, { index: 11, type: null }, { index: 12, type: null }, { index: 18, type: null } ] } },
//612
{
baseElementTypes: [ 1, 2, 0, 3 ],
bubbleProbability: 0, stepCount: 25,
passTarget: {
type: 1,
elements: [ { type: 6, count: 8 } ] },
starScores: [ 15000, 20000, 25000 ],
map: {
lattices: [
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,
0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0
],
connectedLats: [
[ 27, 45 ],
[ 28, 46 ],
[ 29, 47 ],
[ 30, 48 ],
[ 32, 50 ],
[ 33, 51 ],
[ 34, 52 ],
[ 35, 53 ]
],
conveyor: [
[ 71, 66 ],
[ 65, 74 ],
[ 62, 56 ],
[ 55, 73 ],
[ 53, 46 ],
[ 45, 72 ]
],
conveyorConnectedLats: [
[ 66, 65 ],
[ 74, 71 ],
[ 56, 55 ],
[ 73, 62 ],
[ 46, 45 ],
[ 72, 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,
1, 1, 1, 1, 1, 1, 3, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 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: [],
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: 49, type: null }
] } },
//613
{ baseElementTypes: [ 1, 0, 3, 4 ], bubbleProbability: 0, stepCount: 27, passTarget: { type: 1, elements: [ { type: 9, count: 61 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 3, 0, 0, 0, 0, 0, 0, 0, 3, 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, 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, 3, 0, 0, 0, 0, 0, 0, 0, 3 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], 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, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 1, 1, 1, 1, 1, 4, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 23, 23, 4, 23, 23, 1, 1, 1, 1, 23, 23, 4, 23, 23, 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: 8, type: null }, { index: 10, type: null }, { index: 11, type: null }, { index: 12, type: null }, { index: 13, type: null }, { index: 14, type: null }, { index: 15, type: null }, { index: 16, type: null }, { index: 72, type: null }, { index: 80, type: null } ] } },
//614
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 18, passTarget: { type: 1, elements: [ { type: 36, count: 55 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 8, 9, 1, 9, 1, 1, 1, 1, 8, 8, 8, 1, 1, 1, 1, 1, 8, 8, 8, 1, 1, 1, 1, 1, 8, 8, 8, 1, 1, 1, 1, 1, 8, 9, 8, 1, 1, 1, 1, 1, 8, 9, 8, 1, 1, 1, 1, 1, 8, 8, 8, 1, 1, 1, 1, 1, 1, 8, 1, 1, 1, 1, 1, 9, 1, 9, 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: 7, type: null }, { index: 8, type: null }, { index: 10, type: null }, { index: 11, type: null }, { index: 12, type: null }, { index: 13, type: null }, { index: 14, type: null }, { index: 15, type: null }, { index: 63, type: null } ] } },
//615
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 26, passTarget: { type: 1, elements: [ { type: 10, count: 16 }, { type: 3, count: 89 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 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, 0, 0, 0, 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: [ [ 23, 50 ], [ 33, 51 ], [ 34, 52 ], [ 35, 53 ] ], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 12, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 8, 8, 8, 9, 2, 23, 23, 2, 1, 8, 8, 8, 9, 2, 23, 23, 2, 1, 8, 8, 8, 9, 2, 2, 2, 2, 1, 8, 8, 8, 9 ], 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 } ] } },
//616
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 23, passTarget: { type: 1, elements: [ { type: 34, count: 25 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 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, 1, 1, 1, 1, 1, 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: [ [ 1, 19 ], [ 3, 21 ], [ 4, 22 ], [ 5, 23 ] ], conveyor: [ [ 26, 19 ], [ 18, 36 ], [ 37, 43 ], [ 44, 62 ], [ 61, 55 ], [ 54, 72 ], [ 73, 80 ] ], conveyorConnectedLats: [ [ 19, 18 ], [ 36, 37 ], [ 43, 44 ], [ 62, 61 ], [ 55, 54 ], [ 72, 73 ], [ 80, 26 ] ], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 1, 16, 16, 16, 1, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 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: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 20, type: null }, { index: 24, type: null } ] } },
//617
{ baseElementTypes: [ 0, 2, 3, 4 ], bubbleProbability: 0, stepCount: 29, passTarget: { type: 1, elements: [ { type: 6, count: 9 } ] }, 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: [], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 1, 23, 23, 1, 23, 23, 1, 23, 23, 1, 23, 23, 1, 23, 23, 5, 2, 2, 5, 2, 2, 5, 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 } ] } },
//618
{ baseElementTypes: [ 0, 2, 3, 4 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 9, count: 74 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 61, 3, 3, 3, 3, 3, 3, 3, 6, 3, 61, 3, 3, 3, 3, 3, 6, 3, 3, 3, 61, 3, 3, 3, 6, 3, 3, 3, 3, 3, 61, 3, 6, 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, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 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, 8, 8, 8, 4, 1, 2, 2, 2, 1, 4, 8, 4, 1, 2, 2, 2, 2, 2, 1, 4, 1, 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: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 12, type: null }, { index: 13, type: null }, { index: 14, type: null }, { index: 18, type: null }, { index: 26, type: null } ] } },
//619
{ baseElementTypes: [ 0, 1, 3, 4 ], bubbleProbability: 0, stepCount: 31, passTarget: { type: 1, elements: [ { type: 6, count: 9 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 1, 1, 1, 0, 0, 1, 1, 1, 0, 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, 0, 0, 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 ], connectedLats: [ [ 45, 63 ], [ 46, 64 ] ], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 1, 1, 1, 1, 3, 3, 3, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 4, 1, 4, 1, 0, 0, 0, 0, 0, 1, 1, 1, 12, 2, 2, 2, 2, 2, 23, 23, 1, 12, 2, 2, 2, 2, 2, 23, 23, 1, 12, 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, 21, 21, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 13, type: null }, { index: 17, type: null } ] } },
//620
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 28, passTarget: { type: 1, elements: [ { type: 9, count: 64 } ] }, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, 0, 3, 0, 3, 3, 0, 0, 3, 3, 0, 3, 0, 3, 3, 0 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], elements: [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 12, 12, 12, 12, 12, 12, 12, 12, 12, 1, 23, 23, 1, 1, 1, 23, 23, 1, 1, 23, 23, 1, 1, 1, 23, 23, 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, 23, 0, 0, 0, 0, 0, 0, 0, 0, 21, 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 }, { index: 64, type: null }, { index: 65, type: null }, { index: 67, type: null }, { index: 69, type: null }, { index: 70, type: null } ] } },
//621
{ baseElementTypes: [ 0, 1, 2, 4 ], bubbleProbability: 0, stepCount: 34, passTarget: { type: 1, elements: [ { type: 9, count: 72 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3 ], connectedLats: [ [ 3, 21 ], [ 13, 31 ], [ 23, 41 ], [ 33, 51 ], [ 43, 61 ], [ 53, 71 ] ], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 1, 1, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 5, 1, 2, 2, 2, 1, 1, 1, 1, 1, 23, 23, 2, 2, 1, 1, 1, 1, 1, 23, 23, 1, 2, 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: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 11, type: null } ] } },
//622
{ baseElementTypes: [ 0, 1, 3, 4 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 9, count: 72 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 3, 3, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 0, 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, 3, 3, 3, 3, 3, 3, 3, 61, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 61, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], 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, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 5, 5, 5, 2, 2, 2, 2, 14, 2, 1, 5, 1, 2, 14, 2, 2, 2, 2, 5, 5, 5, 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: 7, type: null }, { index: 8, type: null }, { index: 11, type: null }, { index: 15, type: null }, { index: 21, type: null }, { index: 23, type: null }, { index: 31, type: null } ] } },
//623
{ baseElementTypes: [ 1, 2, 3, 4 ], bubbleProbability: 0, stepCount: 23, passTarget: { type: 1, elements: [ { type: 1, count: 56 }, { type: 4, count: 76 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 41, 3, 3, 3, 3, 3, 41, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 0, 3, 4, 3, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 2, 1, 0, 0, 1, 1, 1, 1, 2, 1, 1, 0, 0, 1, 1, 1, 2, 1, 0, 1, 0, 0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 1, 2, 1, 1, 0, 0, 12, 0, 1, 2, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 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: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 17, type: null }, { index: 25, type: null }, { index: 41, type: null }, { index: 49, type: null } ] } },
//624
{ baseElementTypes: [ 1, 0, 2, 4 ], bubbleProbability: 0, stepCount: 24, passTarget: { type: 1, elements: [ { type: 36, count: 69 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 41, 41, 0, 7, 7, 7, 0, 4, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 ], connectedLats: [], conveyor: [], conveyorConnectedLats: [], elements: [ 1, 16, 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, 4, 4, 4, 1, 1, 1, 5, 5, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 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: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 18, type: null }, { index: 26, type: null } ] } },
//625
{ baseElementTypes: [ 0, 2, 3, 4 ], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [ { type: 24, count: 20 }, { type: 26, count: 20 }, { type: 24, count: 20 } ] }, starScores: [ 15000, 20000, 25000 ], map: { lattices: [ 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, 0, 0, 0, 0, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 13, 13, 13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 1, 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, 51, 11, 33, 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 }, { index: 18, type: null }, { index: 26, type: null }, { index: 47, type: null }, { index: 48, type: null }, { index: 49, type: null }, { index: 50, type: null }, { index: 51, type: null } ] } }
]
...@@ -25,6 +25,7 @@ import { Chapters20 } from "./Chapter20"; ...@@ -25,6 +25,7 @@ import { Chapters20 } from "./Chapter20";
import { Chapters21 } from "./Chapter21"; import { Chapters21 } from "./Chapter21";
import { Chapters22 } from "./Chapter22"; import { Chapters22 } from "./Chapter22";
import { Chapters23 } from "./Chapter23"; import { Chapters23 } from "./Chapter23";
import { Chapters24 } from "./Chapter24";
//所有的关卡 //所有的关卡
const chapters: ChapterData[] = [].concat( const chapters: ChapterData[] = [].concat(
...@@ -51,6 +52,7 @@ const chapters: ChapterData[] = [].concat( ...@@ -51,6 +52,7 @@ const chapters: ChapterData[] = [].concat(
Chapters21, Chapters21,
Chapters22, Chapters22,
Chapters23, Chapters23,
Chapters24,
) )
// console.log(chapters) // console.log(chapters)
chapters.forEach((chapter,index) => { chapters.forEach((chapter,index) => {
...@@ -71,6 +73,7 @@ chapters.forEach((chapter,index) => { ...@@ -71,6 +73,7 @@ chapters.forEach((chapter,index) => {
*/ */
export function getChapterData(index: number): ChapterData { export function getChapterData(index: number): ChapterData {
//没有数据就返回第一关数据 //没有数据就返回第一关数据
// return chapters[612];
return chapters[index] || chapters[1]; return chapters[index] || chapters[1];
} }
......
...@@ -31,6 +31,7 @@ import { State } from "./State"; ...@@ -31,6 +31,7 @@ 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"; import MainScene from "../../mainScene/MainScene";
import MovieClip from "../../movieclip/MovieClip";
/** /**
* 考虑到底继承白鹭的啥Component还是Container * 考虑到底继承白鹭的啥Component还是Container
* 坐标原点需要坐落在格子的中心点 * 坐标原点需要坐落在格子的中心点
...@@ -39,6 +40,13 @@ import MainScene from "../../mainScene/MainScene"; ...@@ -39,6 +40,13 @@ import MainScene from "../../mainScene/MainScene";
//加载器 //加载器
let svgaParser; let svgaParser;
//猩猩新增草idx
enum grassPongo{
tl = "7,9",
tr = "4,6",
bl = "2",
br = "3"
}
export class Element extends eui.Component { export class Element extends eui.Component {
private _fishState = 0; private _fishState = 0;
private _isNeb: boolean;//是否 private _isNeb: boolean;//是否
...@@ -216,6 +224,349 @@ export class Element extends eui.Component { ...@@ -216,6 +224,349 @@ export class Element extends eui.Component {
var roanum = Tool.getCannoRoaByDir(cannodir); var roanum = Tool.getCannoRoaByDir(cannodir);
this.cannobox.rotation = roanum; this.cannobox.rotation = roanum;
} }
//猩猩的哪个部分
inPongoPart:string;
pongoMoveClip:any;
pongoMvLeftJio:any;
pongoMvRightJio:any;
/**
* 猩猩草的位置
* 2--左脚
* 3--右脚
* 4,6--右手
* 7,9--左手
*/
noseeimgs:Array<number> = [];
// 剩余显示部分
lessPart:Array<string> = [];
goFree:boolean = false;
//暂给猩猩两种状态,normal正常,readyelm准备消除
/**
* 设置为猩猩的一部分
* @param part
*/
setPongoPart(part:string){
this.inPongoPart = part;
// console.log("我是猩猩的"+part);
if(part=="tl"){
}
this.showImage.alpha = 0.5;
var state = StateType.PongoLockState;
if(this.hasState(state)){
}
else{
var stateData = stateDatas[state];
var recoverName:RecoverName = stateData.recoverName;
var className = stateData.className;
let stateEx = Pool.takeOut(recoverName);
if(!stateEx){
stateEx = new className();
}
this.states[state] = stateEx;
}
this.states[state].reset(part);
//视图添加
this.addChild(this.states[state]);
}
createPongo(pongomvdata:any,pongolfootdata:any,pongorfootdata:any,){
if(this.pongoMoveClip){
if(this.pongoMoveClip.parent){
this.pongoMoveClip.parent.removeChild(this.pongoMoveClip);
}
this.initPongoMoveClip();
}else{
this.pongoMoveClip = new window["SVGA"].EgretMovieClip(pongomvdata);
this.initPongoMoveClip();
}
if(this.pongoMvLeftJio){
if(this.pongoMvLeftJio.parent){
this.pongoMvLeftJio.parent.removeChild(this.pongoMvLeftJio);
}
this.initPongoMvLeftJio();
}else{
this.pongoMvLeftJio = new window["SVGA"].EgretMovieClip(pongolfootdata);
this.initPongoMvLeftJio();
}
if(this.pongoMvRightJio){
if(this.pongoMvRightJio.parent){
this.pongoMvRightJio.parent.removeChild(this.pongoMvRightJio);
}
this.initPongoMvRightJio();
}else{
this.pongoMvRightJio = new window["SVGA"].EgretMovieClip(pongorfootdata);
this.initPongoMvRightJio();
}
}
initPongoMoveClip(){
var boxwidth = 80;
var boxheight = 80;
var mvwidth = 161;
var mvheight = 161;
this.pongoMoveClip.x = (boxwidth-mvwidth)/2;
this.pongoMoveClip.y = (boxheight-mvheight)/2;
this.addChild(this.pongoMoveClip);
// this.pongoMoveClip.gotoAndPlay(1);
this.pongoMoveClip.gotoAndStop(1);
this.noseeimgs = new Array();
this.lessPart = ["tl","tr","bl","br"];
this.ispongoMvloop = true;
this.goFree = false;
this.pongoMvstart = 1;
this.pongoMvend = 101;
this.pongoMoveClip.addEventListener(egret.Event.ENTER_FRAME,this.pongoFrameAni,this);
// egret.ticker.$startTick(this.update,this);
}
initPongoMvLeftJio(){
var boxwidth = 80;
var boxheight = 80;
var mvwidth = 80;
var mvheight = 80;
this.pongoMvLeftJio.x = -boxwidth/2;
this.pongoMvLeftJio.y = boxheight/2;
this.addChild(this.pongoMvLeftJio);
this.pongoMvLeftJio.gotoAndStop(1);
this.pongoMvLeftJio.addEventListener(egret.Event.COMPLETE,this.pongoRmLeftJio,this);
}
initPongoMvRightJio(){
var boxwidth = 80;
var boxheight = 80;
var mvwidth = 80;
var mvheight = 80;
this.pongoMvRightJio.x = boxwidth/2;
this.pongoMvRightJio.y = boxheight/2;
this.addChild(this.pongoMvRightJio);
this.pongoMvRightJio.gotoAndStop(1);
this.pongoMvRightJio.addEventListener(egret.Event.COMPLETE,this.pongoRmRightJio,this);
}
//调整猩猩显示
changePongoStop(type:string){
var curframe = this.pongoMoveClip.currentFrame;
// console.log("当前猩猩cur"+curframe);
if(type=="add"){
curframe += 10;
}else if(type=="cut"){
curframe -= 10;
}
if(curframe>=481){
curframe = 481;
}else if(curframe<=1){
curframe = 1;
}
this.pongoMoveClip.gotoAndStop(curframe);
}
/**
* 脚草的动画单独
*
* 上部俩手都在 tl,tr-------1-101;
*
* 俩手都在,放左手tr------121-171
* 放左手后,放右手 ------171-231
*
* 俩手都在,放右手tl-----241-291
* 放右手后,放左手 ------301-351
*
* 准备蹦 -------351-401
*/
//猩猩当前应处于的播放状态
//控制猩猩的播放
ispongoMvloop:boolean = false;
pongoMvstart:number = 1;
pongoMvend:number = 101;
pongoFrameAni(){
var curframe = this.pongoMoveClip.currentFrame;
//检测当前
// if(this.lessPart.indexOf("tl")!=-1&&this.lessPart.indexOf("tr")!=-1){
// this.ispongoMvloop = true;
// this.pongoMvstart = 1;
// this.pongoMvend = 101;
// }
// if(curframe<this.pongoMvend&&!this.pongoMoveClip.isPlaying){
// console.log("检测到动画暂停,继续播放");
// this.pongoMoveClip.gotoAndPlay(curframe,1);
// }
if(curframe==(this.pongoMvend-1)){
if(this.ispongoMvloop){
// console.log("重播猩猩");
this.pongoMoveClip.gotoAndPlay(this.pongoMvstart,1);
}else{
if((curframe==230||curframe==350)&&this.goFree){
this.pongoMvstart = 351;
this.pongoMvend = 401;
this.ispongoMvloop = false;
this.pongoMoveClip.gotoAndPlay(this.pongoMvstart,1);
}else{
this.pongoMoveClip.gotoAndStop(this.pongoMvend);
if(curframe==400){
this.mainScene.clearPongoEle(this.index);
egret.Tween.get(this.pongoMoveClip)
.set({
alpha:1
})
.to({
alpha:0.2
},600)
.call(()=>{
// this.mainScene.eliminate();
this.mainScene.checkEliminatePongo(this.index);
})
}
}
}
}
}
//猩猩脚的动画
pongoRmLeftJio(){
this.pongoMvLeftJio.stop();
if(this.pongoMvLeftJio.parent){
this.pongoMvLeftJio.parent.removeChild(this.pongoMvLeftJio);
}
}
pongoRmRightJio(){
this.pongoMvRightJio.stop();
if(this.pongoMvRightJio.parent){
this.pongoMvRightJio.parent.removeChild(this.pongoMvRightJio);
}
}
changePongoStat(part:string,lock:string="free"){
var partIarr:Array<number> = [];
switch(part){
case "tl":
partIarr = grassPongo.tl.split(",").map(Number);
break;
case "tr":
partIarr = grassPongo.tr.split(",").map(Number);
break;
case "bl":
partIarr = grassPongo.bl.split(",").map(Number);
break;
case "br":
partIarr = grassPongo.br.split(",").map(Number);
break;
case "body":
break;
default:
console.error("未定义猩猩解锁");
break;
}
if(!this.pongoMoveClip){
return;
}
if(lock=="free"){
// for(var i=0;i<partIarr.length;i++){
// var ipart = partIarr[i];
// var ipartidx = this.noseeimgs.indexOf(ipart);
// if(ipartidx==-1){
// this.noseeimgs.push(ipart);
// }
// }
if(part=="body"){
this.goFree = true;
var curframe = this.pongoMoveClip.currentFrame;
if(this.pongoMoveClip.isPlaying){
}else{
if(curframe==231||curframe==351){
this.pongoMvstart = 351;
this.pongoMvend = 401;
this.ispongoMvloop = false;
this.pongoMoveClip.gotoAndPlay(this.pongoMvstart,1);
}
}
return;
}
//检测切换动画
var curframe = this.pongoMoveClip.currentFrame;
if(part=="tl"){
this.ispongoMvloop = false;
if(this.lessPart.indexOf("tr")==-1){
this.pongoMvstart = 301;
this.pongoMvend = 351;
}else{
this.pongoMvstart = 121;
this.pongoMvend = 171;
}
this.pongoMoveClip.gotoAndPlay(curframe,1);
}else if(part=="tr"){
this.ispongoMvloop = false;
if(this.lessPart.indexOf("tl")==-1){
this.pongoMvstart = 171;
this.pongoMvend = 231;
this.pongoMoveClip.gotoAndPlay(curframe,1);
}else{
this.pongoMvstart = 241;
this.pongoMvend = 291;
this.pongoMoveClip.gotoAndPlay(this.pongoMvstart,1);
}
}else if(part=="bl"){
this.pongoMvLeftJio.gotoAndPlay(1,1);
}else if(part=="br"){
this.pongoMvRightJio.gotoAndPlay(1,1);
}
var inpart = this.lessPart.indexOf(part);
if(inpart!=-1){
this.lessPart.splice(inpart,1);
}
}else{//暂无猩猩被上枷锁功能
for(var i=0;i<partIarr.length;i++){
var ipart = partIarr[i];
var ipartidx = this.noseeimgs.indexOf(ipart);
if(ipartidx!=-1){
this.noseeimgs.splice(ipartidx,1);
}
}
var inpart = this.lessPart.indexOf(part);
if(inpart==-1){
this.lessPart.push(part);
}
}
}
update(t:number){
// if(this.pongoMoveClip&&this.pongoMoveClip.numChildren>10){
// for(let i=0;i<this.noseeimgs.length;i++){
// var noseeidx = this.noseeimgs[i];
// let noseeimg = this.pongoMoveClip.getChildAt(noseeidx) as egret.Bitmap;
// noseeimg.visible = false;
// }
// }
return true;
}
addDisable(){
if(this.inPongoPart&&this.inPongoPart=="tl"){
if(this.pongoMoveClip&&this.pongoMoveClip.parent){
this.pongoMoveClip.parent.removeChild(this.pongoMoveClip);
}
if(this.pongoMvLeftJio&&this.pongoMvLeftJio.parent){
this.pongoMvLeftJio.parent.removeChild(this.pongoMvLeftJio);
}
if(this.pongoMvRightJio&&this.pongoMvRightJio.parent){
this.pongoMvRightJio.parent.removeChild(this.pongoMvRightJio);
}
egret.ticker.$stopTick(this.update,this);
}
}
removePongoLockStat(){
var state = StateType.PongoLockState;
this.states[state].recover();
this.states[state] = null;
}
changeShowCannoStat(){ changeShowCannoStat(){
this.cannolab.text = this._cannoStat+""; this.cannolab.text = this._cannoStat+"";
// this.changeMvPlay(this._cannoStat); // this.changeMvPlay(this._cannoStat);
...@@ -466,7 +817,12 @@ export class Element extends eui.Component { ...@@ -466,7 +817,12 @@ export class Element extends eui.Component {
this._type = type; this._type = type;
this.showImage = new eui.Image(); this.showImage = new eui.Image();
if(type==ElementType.Pongo){//猩猩不设默认图
}else{
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 = new eui.Group();
......
...@@ -74,5 +74,5 @@ export enum ElementConfigType { ...@@ -74,5 +74,5 @@ export enum ElementConfigType {
CANNO_DIR_RIGHT = 21, CANNO_DIR_RIGHT = 21,
/** 大炮石头 */ /** 大炮石头 */
CANNO_BLOCK = 22, CANNO_BLOCK = 22,
xingxing = 23, Pongo = 23,
} }
\ No newline at end of file
...@@ -60,6 +60,7 @@ export enum ElementType { ...@@ -60,6 +60,7 @@ export enum ElementType {
FLOWER,//37 FLOWER,//37
CANNO,//38 CANNO,//38
CANNO_BLOCK,//39 CANNO_BLOCK,//39
Pongo,//40
} }
export const isMonsterEle = (t: ElementType) => { export const isMonsterEle = (t: ElementType) => {
......
...@@ -74,6 +74,7 @@ export enum RecoverName { ...@@ -74,6 +74,7 @@ export enum RecoverName {
HAIRBALLGREY_STATE = "HairballGreyState", HAIRBALLGREY_STATE = "HairballGreyState",
HAIRBALLBLACK_STATE = "HairballBlackState", HAIRBALLBLACK_STATE = "HairballBlackState",
HAIRBALLBROWN_STATE = "HairballBrownState", HAIRBALLBROWN_STATE = "HairballBrownState",
PongoLock_State = "PongoLock_State",
BLOCK_STATE = "BLOCK_STATE", BLOCK_STATE = "BLOCK_STATE",
......
...@@ -6,6 +6,7 @@ import { HairballBrownState } from "../states/HairballBrownState"; ...@@ -6,6 +6,7 @@ import { HairballBrownState } from "../states/HairballBrownState";
import { HairballBlackState } from "../states/HairballBlackState"; import { HairballBlackState } from "../states/HairballBlackState";
import { BlockLockState } from "../states/BlockLockState"; import { BlockLockState } from "../states/BlockLockState";
import { HoneyState } from "../states/HoneyState"; import { HoneyState } from "../states/HoneyState";
import { PongoLockState } from "../states/PongoLockState";
/** /**
* 状态类型 * 状态类型
...@@ -18,6 +19,7 @@ export enum StateType { ...@@ -18,6 +19,7 @@ export enum StateType {
HAIRBALLBLACK,//黑色毛球 ,两次消除,一次闭眼 HAIRBALLBLACK,//黑色毛球 ,两次消除,一次闭眼
BLOCK_LOCK,//石门盖住状态 BLOCK_LOCK,//石门盖住状态
HONEY,//蜂蜜 HONEY,//蜂蜜
PongoLockState,//猩猩部位被封住
} }
...@@ -30,4 +32,5 @@ export const stateDatas: { recoverName: RecoverName, className: any }[] = [ ...@@ -30,4 +32,5 @@ export const stateDatas: { recoverName: RecoverName, className: any }[] = [
{ recoverName: RecoverName.HAIRBALLBLACK_STATE, className: HairballBlackState }, { recoverName: RecoverName.HAIRBALLBLACK_STATE, className: HairballBlackState },
{ recoverName: RecoverName.BLOCK_STATE, className: BlockLockState }, { recoverName: RecoverName.BLOCK_STATE, className: BlockLockState },
{ recoverName: RecoverName.HONEY_STATE, className: HoneyState }, { recoverName: RecoverName.HONEY_STATE, className: HoneyState },
{ recoverName: RecoverName.PongoLock_State, className: PongoLockState },
] ]
\ No newline at end of file
import { State } from "../class/State";
import { Pool } from "../Pool";
import { RecoverName } from "../enum/RecoverName";
export class PongoLockState extends State{
private showImage:egret.Bitmap;
constructor() {
super();
this.showImage = new egret.Bitmap();
this.addChild(this.showImage);
}
/**
* 需要根据猩猩部分来区分显示
* @param inPongoPart
*/
reset(inPongoPart:string) {
this.once(egret.Event.ADDED,this.initShow,this);
}
initShow(){
this.alpha = 0;
var texture: egret.Texture = RES.getRes("lockVine_png");
this.showImage.texture = texture;
this.showImage.x = -texture.textureWidth / 2;
this.showImage.y = -texture.textureHeight / 2
}
recover() {
egret.Tween.get(this)
.to({ alpha: 0 }, 300)
.call(() => {
if (this.parent) this.parent.removeChild(this);
Pool.recover(RecoverName.PongoLock_State, this);
})
}
}
\ No newline at end of file
...@@ -3013,6 +3013,131 @@ ...@@ -3013,6 +3013,131 @@
"levelNum": 600, "levelNum": 600,
"maxScore": 47440, "maxScore": 47440,
"stars": 1 "stars": 1
},
{
"levelNum": 601,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 602,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 603,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 604,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 605,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 606,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 607,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 608,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 609,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 610,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 611,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 612,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 613,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 614,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 615,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 616,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 617,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 618,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 619,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 620,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 621,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 622,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 623,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 624,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 625,
"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