Commit 54102687 authored by wildfirecode's avatar wildfirecode

1

parents b18f63e5 4e4f00de
......@@ -132,11 +132,13 @@
{nums: '0.36元', type: 'quan36'}
];
// localStorage.clear();
window['imgver'] = '11112';
window['total_level'] = 14 + 13 * 17; /// TODO 14 不能变 总数必须大于总的关卡数
window['last_level'] = 225;//必须大于等于total_level ///TODO 标记最后一关,等于最后一关即可
// window['imgver'] = '11112';
// window['total_level'] = 14 + 13 * 17; /// TODO 14 不能变 总数必须大于总的关卡数
// window['last_level'] = 225;//必须大于等于total_level ///TODO 标记最后一关,等于最后一关即可
window['imgver'] = '11112'
window['total_level'] = 18 + 13 * 18;
window['last_level'] = 250;//必须大于等于total_level
// localStorage.clear();
var sharePic = document.getElementById('pic');
sharePic.onclick = function () {
......
......@@ -250,6 +250,12 @@ export default class MainBase extends eui.UILayer {
RES.getResAsync(`inviterulepanel_json`);
}
else {
RES.getResAsync('common_block_bg_yellow_png');
RES.getResAsync('common_block_bg_blue_png');
RES.getResAsync('common_block_bg_red_png');
RES.getResAsync('common_block_png');
RES.getResAsync('common_block_front_png');
RES.getResAsync('mapredbagicom_png');
RES.getResAsync('mapredbagicom2_png');
RES.getResAsync('maplight2_png');
......
......@@ -81,7 +81,7 @@
"name": "signprize"
},
{
"keys": "turnnoprize再来一次2_png,toast_png,sharenums_png,sharenums_fnt,share_btn2_png,share_btn1_png,prizePanelbg_png,nums3_png,nums3_fnt,nums2_png,nums2_fnt,nums_png,nums_fnt,lightani_png,exchangebtn_png,cutTimeFont_png,cutTimeFont_fnt,common_yuanbao_png,common_prop3_png,common_prop2_png,common_prop1_png,common_prizelight_png,common_money_png,common_blood_png,common_adbg_png,commmon_okbtn1_png,closeCommonBtn_png,btn_png,alertbg_png,朋友圈中间分享蒙层1_jpg,按钮 副本 4_png,按钮 副本 3_png",
"keys": "turnnoprize再来一次2_png,toast_png,sharenums_png,sharenums_fnt,share_btn2_png,share_btn1_png,prizePanelbg_png,nums3_png,nums3_fnt,nums2_png,nums2_fnt,nums_png,nums_fnt,lightani_png,exchangebtn_png,cutTimeFont_png,cutTimeFont_fnt,common_yuanbao_png,common_prop3_png,common_prop2_png,common_prop1_png,common_prizelight_png,common_money_png,common_blood_png,common_adbg_png,commmon_okbtn1_png,closeCommonBtn_png,btn_png,alertbg_png,朋友圈中间分享蒙层1_jpg,按钮 副本 4_png,按钮 副本 3_png,common_block_png,common_block_front_png,common_block_bg_yellow_png,common_block_bg_red_png,common_block_bg_blue_png",
"name": "common"
},
{
......@@ -3946,6 +3946,31 @@
"url": "assets/redrainbg.jpg",
"type": "image",
"name": "redrainbg_jpg"
},
{
"url": "assets/common/common_block_front.png",
"type": "image",
"name": "common_block_front_png"
},
{
"url": "assets/common/common_block_bg_yellow.png",
"type": "image",
"name": "common_block_bg_yellow_png"
},
{
"url": "assets/common/common_block_bg_red.png",
"type": "image",
"name": "common_block_bg_red_png"
},
{
"url": "assets/common/common_block_bg_blue.png",
"type": "image",
"name": "common_block_bg_blue_png"
},
{
"url": "assets/common/common_block.png",
"type": "image",
"name": "common_block_png"
}
]
}
\ No newline at end of file
import getResPath from '../../libs/new_tc/getResPath';
import wait from '../../libs/new_tc/wait';
import Scene from '../../libs/new_wx/components/Scene';
import PanelCtrl from '../../libs/new_wx/ctrls/panelCtrl';
import SceneCtrl from '../../libs/new_wx/ctrls/sceneCtrl';
import { showToast } from '../../libs/new_wx/ctrls/toastCtrl';
import { updateMainTimerAfterGetData } from '../../libs/new_wx/MainBase';
import { ModuleTypes } from '../../libs/new_wx/types/sceneTypes';
import { getPropNums } from '../getHomeData';
import { getRedBombTimes } from '../getRedBombAward';
import { getlogItem } from '../Main';
import { getCacheKey, readCache } from '../mapScene/GuideCon';
import PropType from '../PropType';
import { BonusShootAni, stepPosition } from '../something/anis/BonusShootAni';
import { BoomAni } from '../something/anis/BoomAni';
import { CrossAni } from '../something/anis/CrossAni';
import { EggBrokenAni } from '../something/anis/EggBrokenAni';
import { EleDisAni } from '../something/anis/EleDisAni';
import { EleDownAni } from '../something/anis/EleDownAni';
import { EleMaskAni } from '../something/anis/EleMaskAni';
import { FlyTargetAni } from '../something/anis/FlyTargetAni';
import { HairballGreyDisAni } from '../something/anis/HairballGreyDisAni';
import { HorizontalAni } from '../something/anis/HorizontalAni';
import { IceAni } from '../something/anis/IceAni';
import { JellyDisAni } from '../something/anis/JellyDisAni';
import { MagicLionAni } from '../something/anis/MagicLionAni';
import { MagicRotateAni } from '../something/anis/MagicRotateAni';
import { RockAni } from '../something/anis/RockAni';
import { ScoreAni } from '../something/anis/ScoreAni';
import { StepAni } from '../something/anis/StepAni';
import { ThreeCrossAni } from '../something/anis/ThreeCrossAni';
import { VerticalAni } from '../something/anis/VerticalAni';
import { FesRedBombShowAni } from '../something/anisCall/FesRedBombShowAni';
import { RectsWaveAni } from '../something/anisCall/RectsWaveAni';
import BaseBlock from '../something/block/BaseBlock';
import genBlockDisplay from '../something/block/genBlockDisplay';
import { getChapterData } from '../something/chapters/getChapter';
import { Element } from '../something/class/Element';
import { Ice } from '../something/class/Ice';
import { Lattice } from '../something/class/Lattice';
import { EffectType } from '../something/enum/EffectType';
import { codeMsgs, ElementType, submitTran, FiveBaseElementTypes } from '../something/enum/ElementType';
import { ElementConfigType } from '../something/enum/ElementConfigType';
import { codeMsgs, ElementType, FiveBaseElementTypes, submitTran } from '../something/enum/ElementType';
import { isIce, isSpecialLattice } from '../something/enum/LatticeType';
import { PassType } from '../something/enum/PassType';
import { RecoverName } from '../something/enum/RecoverName';
import { StateType } from '../something/enum/StateType';
import { ChapterData } from '../something/interface/ChapterData';
import { ElementTargetData } from '../something/interface/ElementTargetData';
import { FallAniData, FallType } from '../something/interface/FallAniData';
import { GenerateLatData } from '../something/interface/GenerateLatData';
import { MagicRotateData } from '../something/interface/MagicRotateData';
import { drawBg, drawShape, generateMapBg } from '../something/logic/aaa';
import { AiControl, fesELeSmallNum } from '../something/logic/AiControl';
import { Pool } from '../something/Pool';
import { HairballBlackState } from '../something/states/HairballBlackState';
import { HairballBrownState } from '../something/states/HairballBrownState';
import { Tool } from '../something/Tool';
import { BonusTime } from '../something/uis/BonusTime';
import { ChapterNum } from '../something/uis/ChapterNum';
import { CurScoreNum } from '../something/uis/CurScoreNum';
import { ElementTargets } from '../something/uis/ElementTargets';
import { FestivalTarget } from '../something/uis/FestivalTarget';
import { GameGuide } from '../something/uis/GameGuide';
import { PropBtnCon } from '../something/uis/PropBtnCon';
import { PropGuide } from '../something/uis/PropGuide';
import { ScoreProgress } from '../something/uis/ScoreProgress';
import { StepNumber } from '../something/uis/StepNumber';
import { getBgOn, getSoundOn, playSound, SoundType, stopBg, toggleSound } from '../soundCtrl';
import { playGameBg, toggleGameBg } from '../soundCtrl2';
import { createData } from '../startScene/StartScene';
import { DataManager } from '../../libs/tw/manager/DataManager';
import { NetManager } from '../../libs/tw/manager/NetManager';
import { readCache, getCacheKey } from '../mapScene/GuideCon';
import { StepAni } from '../something/anis/StepAni';
import { updateMainTimerAfterGetData } from '../../libs/new_wx/MainBase';
import wait from '../../libs/new_tc/wait';
import { AiControl, fesELeSmallNum } from '../something/logic/AiControl';
import { JellyDisAni } from '../something/anis/JellyDisAni';
import { EggBrokenAni } from '../something/anis/EggBrokenAni';
import { FallAniData, FallType } from '../something/interface/FallAniData';
import { EleMaskAni } from '../something/anis/EleMaskAni';
import { getChapterData } from '../something/chapters/getChapter';
import { GenerateLatData } from '../something/interface/GenerateLatData';
import { StateType } from '../something/enum/StateType';
import { HairballBlackState } from '../something/states/HairballBlackState';
import { HairballGreyDisAni } from '../something/anis/HairballGreyDisAni';
import { HairballBrownState } from '../something/states/HairballBrownState';
import { EleDownAni } from '../something/anis/EleDownAni';
import { GameGuide } from '../something/uis/GameGuide';
import { PropBtnCon } from '../something/uis/PropBtnCon';
import { ChapterNum } from '../something/uis/ChapterNum';
import { CurScoreNum } from '../something/uis/CurScoreNum';
import { FestivalTarget } from '../something/uis/FestivalTarget';
import getRedBombAward, { getRedBombTimes } from '../getRedBombAward';
import { FesRedBombShowAni } from '../something/anisCall/FesRedBombShowAni';
import { RectsWaveAni } from '../something/anisCall/RectsWaveAni';
import Utils from '../Utils';
import { DataManager } from './../../libs/tw/manager/DataManager';
import { NetManager } from './../../libs/tw/manager/NetManager';
import { loadSvga } from '../loadSvga';
import Utils from '../Utils';
const aniClass = {
"BoomAni": BoomAni,
......@@ -544,19 +548,26 @@ export default class MainScene extends Scene {
} else {
this.lattices[i].reset(i);
}
//冰块
if(latticesD[i] == 2 || latticesD[i] == 3) {
if (isSpecialLattice(latticesD[i])) {//冰块,石门等特殊地图格子配置
let latticeDisplay: egret.DisplayObject;//冰块,石门等的显示对象
var p = Tool.getPositionByIndex(i);
if (isIce(latticesD[i])) {
let ice = Pool.takeOut(RecoverName.ICE);
if(!ice) {
if (!ice) {
ice = new Ice(latticesD[i] - 1);
} else {
ice.reset(latticesD[i] - 1);
}
this.map.addChild(ice);
latticeDisplay = ice;
this.lattices[i].ice = ice;
ice.x = p[0];
ice.y = p[1];
} else {
latticeDisplay = genBlockDisplay(latticesD[i]);
this.lattices[i].block = latticeDisplay as BaseBlock;
}
this.map.addChild(latticeDisplay);
latticeDisplay.x = p[0];
latticeDisplay.y = p[1];
}
}
//生成口数据
......@@ -612,16 +623,16 @@ export default class MainScene extends Scene {
var p = Tool.getPositionByIndex(i);
switch(elements[i]) {
//如果为0记录空格
case 0:
case ElementConfigType.EMPTY:
this.emptys.push(i);
break;
//基础元素,枷锁,气泡,灰色毛球,褐色毛球,黑色毛球
case 1:
case 4:
case 7:
case 8:
case 9:
case 10:
//基础元素,枷锁,气泡,灰色毛球,褐色毛球,黑色毛球 && 石门锁,有条件的锁
case ElementConfigType.BASE:
case ElementConfigType.LOCK:
case ElementConfigType.BUBBLE:
case ElementConfigType.HAIRBALLGREY:
case ElementConfigType.HAIRBALLBROWN:
case ElementConfigType.HAIRBALLBLACK:
var type = Tool.returnType(i, this.lattices, this.chapterData.baseElementTypes);
let ele: Element = Pool.takeOut(RecoverName.ELEMENT);
if(!ele) {
......@@ -633,30 +644,30 @@ export default class MainScene extends Scene {
ele.y = p[1];
this.elementContainer.addChild(ele);
this.lattices[i].element = ele;
if(elements[i] == 4) {
if (elements[i] == ElementConfigType.LOCK) {
ele.setState(StateType.LOCK, true)
}
//气泡
else if(elements[i] == 7) {
else if (elements[i] == ElementConfigType.BUBBLE) {
//气泡要设定type
ele.setState(StateType.BUBBLE, true, type)
}
//灰色毛球
else if(elements[i] == 8) {
else if (elements[i] == ElementConfigType.HAIRBALLGREY) {
ele.setState(StateType.HAIRBALLGREY, true)
}
//褐色毛球
else if(elements[i] == 9) {
else if (elements[i] == ElementConfigType.HAIRBALLBROWN) {
ele.setState(StateType.HAIRBALLBROWN, true)
}
//黑色毛球
else if(elements[i] == 10) {
else if (elements[i] == ElementConfigType.HAIRBALLBLACK) {
ele.setState(StateType.HAIRBALLBLACK, true)
}
break;
//棒棒糖
case 3:
case ElementConfigType.LOLLIPOP:
this.lollipopCount++;
let lol: Element = Pool.takeOut(RecoverName.ELEMENT);
if(!lol) {
......@@ -670,7 +681,7 @@ export default class MainScene extends Scene {
this.lattices[i].element = lol;
break;
//石头
case 2:
case ElementConfigType.ROCK:
let rock: Element = Pool.takeOut(RecoverName.ELEMENT);
if(!rock) {
rock = new Element(ElementType.ROCK)
......@@ -683,7 +694,7 @@ export default class MainScene extends Scene {
this.lattices[i].element = rock;
break;
//果冻
case 5:
case ElementConfigType.JELLY:
let jelly: Element = Tool.getElement(ElementType.JELLY)
jelly.x = p[0];
jelly.y = p[1];
......@@ -691,7 +702,7 @@ export default class MainScene extends Scene {
this.lattices[i].element = jelly;
break;
//鸡蛋
case 6:
case ElementConfigType.CHICKEN_EGG:
let egg: Element = Tool.getElement(ElementType.CHICKEN_EGG)
egg.x = p[0];
egg.y = p[1];
......@@ -703,7 +714,6 @@ export default class MainScene extends Scene {
this.emptys.push(i);
break
}
}
}
......@@ -1000,6 +1010,7 @@ export default class MainScene extends Scene {
var ele = e.target.parent
if(ele instanceof Element &&
// ele.type != ElementType.ROCK &&
!ele.hasState(StateType.BLOCK_LOCK) && //石门无法消除
ele.type != ElementType.LOLLIPOP) {
this.elementContainer.removeEventListener(egret.TouchEvent.TOUCH_BEGIN, fun, this);
var index = ele.index;
......@@ -1871,12 +1882,14 @@ export default class MainScene extends Scene {
/**
* 掉落完后的操作
*/
fallCallback() {
async fallCallback() {
//掉落后有消除,执行消除
if(this.threeMatch()) {
this.eliminate()
return
}
//消除结束之后检查石门
await this.checkAllBlock();
//鸡蛋的ai操作,存在判断三消,毛球的ai,也一样,所以放前面,存在三消时都直接执行eliminate了。不执行后续的回调
AiControl.ins.eggMotion(this, () => {
//后执行毛球跳动
......@@ -1956,6 +1969,16 @@ export default class MainScene extends Scene {
})
}
checkAllBlock() {
// this.lattices.filter(item => item.block).forEach((item) => {
// item.block.nextState();
// });
return Promise.all(
this.lattices.filter(item => item.block).map((item) => {
return item.block.nextState();
})
)
}
/**
* 果冻蔓延和气泡变色需要重新检查死图
*/
......@@ -2202,6 +2225,9 @@ export default class MainScene extends Scene {
ele.setState(StateType.LOCK, false);
//暂时笼子不算个数,算的话,改图片名称,列入ElementType的状态下
}
else if (ele.hasState(StateType.BLOCK_LOCK)) {
//这里不需要消除石门上的元素的状态,石门上的元素状态只由石门来修改
}
//有褐色毛球的,记录分裂激活
else if(ele.hasState(StateType.HAIRBALLBROWN)) {
var hairballBrownState: HairballBrownState = ele.getState(StateType.HAIRBALLBROWN);
......@@ -2756,8 +2782,9 @@ export default class MainScene extends Scene {
* @param lat
*/
iceBroken(lat: Lattice) {
if(lat && lat.ice) {
var ice = lat.ice;
if (!lat) return;
if (lat.ice) {//带冰的lattice
const ice = lat.ice;
ice.countNum--;
if(ice.countNum == 0) {
this.map.removeChild(ice);
......@@ -2768,7 +2795,20 @@ export default class MainScene extends Scene {
} else {
ice.alpha = 0.6;
}
var p = Tool.getPositionByIndex(lat.index);
const p = Tool.getPositionByIndex(lat.index);
//动画
this.playAni(RecoverName.ICE_ANI, p);
} else if (lat.block && lat.block.ice && lat.block.canIceBroken) {//石门(可能带冰) && 石门反转了可以消除了
const block = lat.block;
block.iceCountNum--;
if (block.iceCountNum == 0) {
block.ice && block.ice.parent && block.ice.parent.removeChild(block.ice);
this.goElementTarget(ElementType.ICE, [block.x, block.y]);
block.ice = null;
} else {
block.ice.alpha = 0.6;
}
const p = Tool.getPositionByIndex(lat.index);
//动画
this.playAni(RecoverName.ICE_ANI, p);
}
......
## 概念
- lattices 地图背景格子
- elements 元素配置
- generateLats 能生成元素的格子
- baseElements 默认填入的元素
- baseElementTypes 基础元素类型
## Lattice
# 主类
- initLattices();
# 数据
- index 索引 0-80。最多一共81个地图格子
# 控制器
## class Lattice
## Element 元素
## class Element
\ No newline at end of file
# 地图
- 需要居中,比如最多9列表,8列的需要水平居中
# lattices 地图背景配置
- 0无格子
- 1普通格子
- 2浅冰块
- 3深冰块
- 4石门
- 5石门+浅冰块
- 6石门+深冰块
# elements
# 包
- egret/src/something/chapters
# main scene 视图
- exchangeElementAni() 播放交换动画动画。只要交换就会播放,不管是否可以消除。
- simpleMatch() 判断是否可以消除
# main scene 数据
- exchangeData() 视图交换之后需要交换数据
# mainscene 控制
- eliminate() 消除方法。
\ No newline at end of file
......@@ -272,6 +272,7 @@ export class Tool {
//上方元素为石头,或元素为锁定,或者是果冻,或者鸡蛋,或者大节日元素
else if (lat.element.type == ElementType.ROCK ||
lat.element.hasState(StateType.LOCK) ||
lat.element.hasState(StateType.BLOCK_LOCK) ||
lat.element.type == ElementType.JELLY ||
lat.element.type == ElementType.CHICKEN_EGG ||
lat.element.type == ElementType.FESTIVALELE_BIG //||
......@@ -295,6 +296,7 @@ export class Tool {
!lat.element.hasState(StateType.HAIRBALLBLACK) &&
!lat.element.hasState(StateType.HAIRBALLGREY) &&
!lat.element.hasState(StateType.HAIRBALLBROWN)&&
!lat.element.hasState(StateType.BLOCK_LOCK) &&
lat.element.type != ElementType.FESTIVALELE_SMALL
) {
return true
......@@ -313,6 +315,7 @@ export class Tool {
lat.element.effectType != EffectType.MAGICLION && //特效不为魔力鸟
!lat.element.hasState(StateType.HAIRBALLGREY) && //不带毛球, 下同
!lat.element.hasState(StateType.HAIRBALLBLACK) &&
!lat.element.hasState(StateType.BLOCK_LOCK) &&
!lat.element.hasState(StateType.HAIRBALLBROWN)
) {
return true
......@@ -361,6 +364,7 @@ export class Tool {
public static judgeUpsetMove(lat: Lattice) {
if (Tool.judgeBaseEle(lat) && //基础元素
!lat.element.hasState(StateType.LOCK) && //不带锁
!lat.element.hasState(StateType.BLOCK_LOCK) &&
!lat.element.hasState(StateType.HAIRBALLGREY) && //不带毛球,下同
!lat.element.hasState(StateType.HAIRBALLBLACK) &&
!lat.element.hasState(StateType.HAIRBALLBROWN)
......@@ -380,6 +384,7 @@ export class Tool {
public static judgeSetFesEle(lat: Lattice) {
if (Tool.judgeBaseEle(lat) && //基础元素
!lat.element.hasState(StateType.HAIRBALLGREY) && //不带毛球,下同
!lat.element.hasState(StateType.BLOCK_LOCK) &&
!lat.element.hasState(StateType.HAIRBALLBLACK) &&
!lat.element.hasState(StateType.HAIRBALLBROWN)
) {
......@@ -399,6 +404,7 @@ export class Tool {
if (!ele ||
ele.type == ElementType.ROCK ||
ele.hasState(StateType.LOCK) ||
ele.hasState(StateType.BLOCK_LOCK) || //石门盖住
ele.hasState(StateType.HAIRBALLGREY) ||
ele.hasState(StateType.HAIRBALLBLACK) ||
ele.hasState(StateType.HAIRBALLBROWN) ||
......@@ -427,6 +433,7 @@ export class Tool {
ele.type == ElementType.FESTIVALELE_SMALL ||
ele.hasState(StateType.LOCK) ||
ele.hasState(StateType.HAIRBALLGREY) ||
ele.hasState(StateType.BLOCK_LOCK) ||
ele.hasState(StateType.HAIRBALLBLACK) ||
ele.hasState(StateType.HAIRBALLBROWN)
) {
......@@ -444,6 +451,7 @@ export class Tool {
ele.effectType != null ||
ele.hasState(StateType.LOCK) ||
ele.hasState(StateType.HAIRBALLGREY) ||
ele.hasState(StateType.BLOCK_LOCK) ||
ele.hasState(StateType.HAIRBALLBLACK) ||
ele.hasState(StateType.HAIRBALLBROWN)
) {
......@@ -712,6 +720,7 @@ export class Tool {
!lattices[i].element.hasState(StateType.LOCK) &&
!lattices[i].element.hasState(StateType.HAIRBALLGREY) &&
!lattices[i].element.hasState(StateType.HAIRBALLBLACK) &&
!lattices[i].element.hasState(StateType.BLOCK_LOCK) &&
!lattices[i].element.hasState(StateType.HAIRBALLGREY)
) {
var type = lattices[i].element.type;
......
import centerAnchor from "./centerAnchor";
import { Element } from "../class/Element";
import { StateType } from "../enum/StateType";
export default class BaseBlock extends egret.DisplayObjectContainer {
constructor(state) {
super();
this._state = state;
this.initUI();
}
initUI() {
this._block = new egret.Bitmap(RES.getRes('common_block_png'));
this._blockBgFront = new egret.Bitmap(RES.getRes('common_block_front_png'));
this._blockBgBlue = new egret.Bitmap(RES.getRes('common_block_bg_blue_png'));
this._blockBgRed = new egret.Bitmap(RES.getRes('common_block_bg_red_png'));
this._blockBgYellow = new egret.Bitmap(RES.getRes('common_block_bg_yellow_png'));
this.addChild(this._blockBgBlue);
this.addChild(this._blockBgRed);
this.addChild(this._blockBgYellow);
this.addChild(this._block);
this.addChild(this._blockBgFront);
centerAnchor(this._block);
centerAnchor(this._blockBgFront);
centerAnchor(this._blockBgBlue);
centerAnchor(this._blockBgRed);
centerAnchor(this._blockBgYellow);
this._blockBgRed.scaleX = this._blockBgRed.scaleY = 1.1;
this._blockBgBlue.scaleX = this._blockBgBlue.scaleY = 1.1;
this._blockBgYellow.scaleX = this._blockBgYellow.scaleY = 1.1;
this.nextState(true);
}
private _element: Element;
set element(val: Element) {
if (this._element) {
this._element.setState(StateType.BLOCK_LOCK, false);
this._element = null;
}
if (val) {
this._element = val;
this.updateElementState(); //刚刚设置元素的时候
}
};
iceCountNum?: number;
ice: egret.Bitmap;
/**
* 石门反转了可以消除了
*/
get canIceBroken() {
return this._state >= 3;
}
isLock() {
return this._state <= 2;
}
//状态0红门 1蓝门 2黄门 3红 4黄 5蓝
private _state = -1;
private _changing = false;
async nextState(first = false) {
//先改数据再改视图
this._state++;
if (this._state > 5)
this._state = 0;
await this.changeState(first);
}
private updateElementState() {
if (!this._element) return;
if (this._state <= 2) {
this._element.scaleX = 0;
this._element.setState(StateType.BLOCK_LOCK, true);
} else {
this._element.scaleX = 1;
this._element.setState(StateType.BLOCK_LOCK, false);
}
}
playToFrontAni() {
return new Promise((r) => {
const dur = 300;
this._block.visible = true;
this._block.scaleX = 1;
egret.Tween.get(this._block).to({ scaleX: 0 }, dur).call(() => {
this._blockBgFront.visible = true;
this._blockBgFront.scaleX = 0;
if (this.ice) {
this.ice.visible = true;
this.ice.scaleX = 0;
egret.Tween.get(this.ice).to({ scaleX: 1 }, dur);
}
if (this._element) {
this._element.scaleX = 0;
egret.Tween.get(this._element).to({ scaleX: 1 }, dur);
}
egret.Tween.get(this._blockBgFront).to({ scaleX: 1 }, dur).call(() => {
r();
})
})
})
}
playToBackAni() {
return new Promise((r) => {
const dur = 300;
this._blockBgFront.visible = true;
this._blockBgFront.scaleX = 1;
egret.Tween.get(this._blockBgFront).to({ scaleX: 0 }, dur).call(() => {
this._block.visible = true;
this._block.scaleX = 0;
egret.Tween.get(this._block).to({ scaleX: 1 }, dur).call(() => {
r();
})
});
if (this.ice) {
this.ice.visible = true;
this.ice.scaleX = 1;
egret.Tween.get(this.ice).to({ scaleX: 0 }, dur);
}
if (this._element) {
this._element.scaleX = 1;
egret.Tween.get(this._element).to({ scaleX: 0 }, dur);
}
})
}
async changeState(first) {
if (this._changing) {
throw new Error('正在更改状态中')
}
this._changing = true;
this._block.visible = false;
this._blockBgFront.visible = false;
this._blockBgBlue.visible = false;
this._blockBgRed.visible = false;
this._blockBgYellow.visible = false;
switch (this._state) {
case 0:
if (!first) {
await this.playToBackAni();
this.updateElementState();
this._blockBgFront.visible = false;
this._blockBgFront.scaleX = 1;
} else {
this._block.visible = true;
}
this._blockBgRed.visible = true;
this.addAni(this._blockBgRed);
break;
case 1:
this._block.visible = true;
this._blockBgYellow.visible = true;
this.addAni(this._blockBgYellow);
break;
case 2:
this._block.visible = true;
this._blockBgBlue.visible = true;
this.addAni(this._blockBgBlue);
break;
case 3://翻转了
await this.playToFrontAni();
this.updateElementState();
this._block.visible = false;
this._block.scaleX = 1;
this._blockBgRed.visible = true;
this.addAni(this._blockBgRed);
break;
case 4://翻转了
this._blockBgFront.visible = true;
this._blockBgYellow.visible = true;
this.addAni(this._blockBgYellow);
break;
case 5://翻转了
this._blockBgFront.visible = true;
this._blockBgBlue.visible = true;
this.addAni(this._blockBgBlue);
break;
default:
break;
}
this._changing = false;
}
_blockBgYellow: egret.Bitmap;
_blockBgRed: egret.Bitmap;
_blockBgBlue: egret.Bitmap;
/**
* 未反转过来的背面
*/
_block: egret.Bitmap;
/**
* 反转过来的正面
*/
_blockBgFront: egret.Bitmap;
addAni(obj) {
egret.Tween.removeTweens(obj);
const dur = 600;
egret.Tween.get(obj, { loop: true }).set({ alpha: 0 })
.to({ alpha: 1 }, dur).to({ alpha: 0 }, dur)
.to({ alpha: 1 }, dur).to({ alpha: 0 }, dur)
}
}
\ No newline at end of file
import BaseBlock from "./BaseBlock";
import centerAnchor from "./centerAnchor";
export default class Block extends BaseBlock {
initUI() {
super.initUI();
}
}
\ No newline at end of file
import { ElementType } from "../enum/ElementType";
import BaseBlock from "./BaseBlock";
import centerAnchor from "./centerAnchor";
export default class BlockDarkIce extends BaseBlock {
initUI() {
super.initUI();
this.ice = new egret.Bitmap(RES.getRes("ele" + ElementType.ICE + "_png"));
this.ice.alpha = 1;
this.addChild(this.ice);
centerAnchor(this.ice);
this.ice.visible = false;
}
iceCountNum = 2;
}
\ No newline at end of file
import { ElementType } from "../enum/ElementType";
import BaseBlock from "./BaseBlock";
import centerAnchor from "./centerAnchor";
export default class BlockIce extends BaseBlock {
initUI() {
super.initUI();
this.ice = new egret.Bitmap(RES.getRes("ele" + ElementType.ICE + "_png"));
this.ice.alpha = 0.6;
this.addChild(this.ice);
centerAnchor(this.ice);
this.ice.visible = false;
}
iceCountNum = 1;
}
\ No newline at end of file
export default (d: egret.DisplayObject) => {
d.anchorOffsetX = d.width / 2;
d.anchorOffsetY = d.height / 2;
}
\ No newline at end of file
import { LatticeType } from "../enum/LatticeType";
import Block from "./Block";
import BlockDarkIce from "./BlockDarkIce";
import BlockIce from "./BlockIce";
export default (type: LatticeType) => {
const typestr = type + '';
let _state = -1;
if(typestr.length == 2) { //是门开
const arr = typestr.split('');
type = parseInt(arr[0]);
// _state=-1;
_state=2;
}
switch (type) {
case LatticeType.BlOCK:
return new Block(_state);
case LatticeType.BLOCK_AND_ICE:
return new BlockIce(_state);
case LatticeType.BLOCK_AND_DARK_ICE:
return new BlockDarkIce(_state);
default:
break;
}
return null
}
......@@ -260,5 +260,375 @@ export const Chapters12: ChapterData[] = [
{ index: 32, type: 0 },
]
}
},
//226
{
baseElementTypes: [4, 3, 2, 0, 1], bubbleProbability: 0, stepCount: 28, passTarget: { type: 1, elements: [{ type: 9, count: 29 }] }, starScores: [12000, 18000, 22000], map: {
lattices: [
2, 1, 1, 1, 1, 1, 1, 1, 2,
2, 1, 1, 1, 1, 1, 1, 1, 2,
2, 1, 1, 1, 0, 1, 1, 1, 2,
0, 2, 3, 41, 1, 41, 3, 2, 0,
0, 0, 3, 1, 1, 1, 3, 0, 0,
0, 2, 41, 3, 3, 3, 41, 2, 0,
2, 1, 1, 3, 0, 3, 1, 1, 2,
2, 1, 1, 3, 3, 3, 1, 1, 2,
2, 1, 1, 1, 1, 1, 1, 1, 2], connectedLats: [[18, 54], [28, 46], [13, 31], [49, 67], [34, 52], [26, 62]], 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, 1, 1, 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: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }]
}
},
//227
{
baseElementTypes: [0, 1, 2, 3], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [{ type: 9, count: 41 }] }, starScores: [5000, 11000, 21000], map: {
lattices: [
0, 0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 1, 3, 1, 0, 0, 0,
0, 0, 1, 3, 3, 3, 1, 0, 0,
0, 0, 3, 3, 3, 3, 3, 0, 0,
0, 1, 3, 3, 3, 3, 3, 1, 0,
0, 1, 3, 3, 3, 3, 3, 1, 0,
1, 3, 3, 3, 3, 3, 3, 3, 1,
3, 3, 3, 61, 3, 6, 3, 3, 3,
3, 3, 61, 0, 0, 0, 6, 3, 3], connectedLats: [], elements: [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 7, 7, 1, 1, 1, 1, 1, 1, 7, 4, 7, 1, 1, 1, 1, 1, 2, 4, 4, 4, 2, 1, 1, 1, 2, 5, 5, 5, 5, 5, 2, 1, 7, 7, 7, 1, 1, 1, 7, 7, 7], 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: 12, type: null }, { index: 14, type: null }, { index: 20, type: null }, { index: 24, type: null }, { index: 37, type: null }, { index: 43, type: null }, { index: 54, type: null }, { index: 62, type: null }]
}
},
//228
{
baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 33, passTarget: { type: 1, elements: [{ type: 9, count: 33 }] }, starScores: [5000, 12000, 21000], map: {
lattices: [
0, 0, 1, 1, 1, 1, 1, 0, 0,
0, 1, 1, 2, 2, 2, 1, 1, 0,
3, 1, 2, 2, 0, 2, 2, 1, 3,
3, 1, 2, 0, 1, 0, 2, 1, 3,
3, 1, 1, 2, 0, 2, 1, 1, 3,
61, 1, 1, 2, 52, 2, 1, 1, 61,
3, 1, 1, 1, 1, 1, 1, 1, 3,
3, 1, 1, 1, 1, 1, 1, 1, 3,
0, 3, 3, 3, 61, 3, 3, 3, 0], connectedLats: [[20, 38], [22, 40], [30, 48]], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 7, 1, 2, 7, 1, 1, 1, 1, 1, 7, 2, 2, 7, 1, 1, 8, 1, 1, 7, 2, 2, 7, 1, 1, 1, 1, 1, 7, 2, 2, 7, 1, 1, 2, 1, 1, 7, 2, 2, 7, 1, 1, 1, 1, 1, 7, 2, 2, 7, 1, 1, 1, 1, 1, 7, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 10, type: null }, { index: 16, type: null }, { index: 18, type: null }, { index: 26, type: null }]
}
},
//229
{
baseElementTypes: [0, 2, 3, 4], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [{ type: 6, count: 5 }] }, starScores: [6000, 12000, 21000], map: {
lattices: [
0, 0, 1, 1, 0, 1, 1, 0, 0,
0, 1, 1, 1, 1, 1, 1, 1, 0,
1, 41, 1, 41, 1, 4, 1, 4, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 0, 0], connectedLats: [[12, 30], [14, 32]], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 6, 1, 6, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 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: [54, 62, 64, 70, 74, 75, 76, 77, 78], generateLats: [{ index: 2, type: null }, { index: 3, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 10, type: null }, { index: 16, type: null }, { index: 18, type: null }, { index: 26, type: null }]
}
},
//230
{
baseElementTypes: [0, 2, 3, 4], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [{ type: 1, count: 50 }, { type: 9, count: 62 }] }, starScores: [5000, 11000, 22000], map: {
lattices: [
0, 3, 3, 0, 0, 0, 3, 3, 0,
0, 3, 3, 3, 0, 3, 3, 3, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3,
41, 3, 3, 3, 3, 3, 3, 3, 4,
3, 3, 3, 3, 3, 3, 3, 3, 3,
41, 3, 3, 3, 3, 3, 3, 3, 4,
3, 3, 3, 3, 3, 3, 3, 3, 3,
0, 3, 3, 3, 3, 3, 3, 3, 0,
0, 0, 3, 3, 41, 3, 3, 0, 0], connectedLats: [], elements: [1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 6, 2, 2, 1, 1, 1, 2, 2, 6, 2, 2, 2, 1, 1, 1, 2, 2, 2, 6, 2, 2, 1, 1, 1, 2, 2, 6, 2, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 6, 2, 2, 1, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 1, type: null }, { index: 2, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 12, type: null }, { index: 14, type: null }, { index: 18, type: null }, { index: 22, type: null }, { index: 26, type: null }]
}
},
//231
{
baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 23, passTarget: { type: 1, elements: [{ type: 1, count: 50 }, { type: 5, count: 14 }] }, starScores: [6000, 12000, 21000], map: {
lattices: [
0, 0, 1, 1, 1, 1, 1, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 41, 1, 41, 1, 41, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1], connectedLats: [], elements: [1, 1, 4, 4, 4, 4, 4, 1, 1, 5, 4, 4, 4, 2, 4, 4, 4, 5, 5, 2, 1, 1, 1, 1, 1, 2, 5, 5, 4, 6, 6, 6, 6, 6, 4, 5, 5, 2, 7, 7, 7, 7, 7, 2, 5, 5, 4, 7, 7, 7, 7, 7, 4, 5, 5, 2, 7, 7, 7, 7, 7, 2, 5, 5, 4, 2, 2, 2, 2, 2, 4, 5, 5, 2, 7, 7, 7, 7, 7, 2, 5], 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: 9, 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: 17, type: null }, { index: 20, type: null }, { index: 21, type: null }, { index: 22, type: null }, { index: 23, type: null }, { index: 24, type: null }, { index: 38, type: null }, { index: 39, type: null }, { index: 40, type: null }, { index: 41, type: null }, { index: 42, type: null }]
}
},
//232
{
baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 26, passTarget: { type: 1, elements: [{ type: 6, count: 3 }] }, starScores: [5000, 12000, 21000], map: {
lattices: [
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
41, 1, 1, 1, 4, 1, 1, 1, 41,
1, 41, 1, 4, 1, 4, 1, 41, 1,
41, 1, 1, 1, 4, 1, 1, 1, 41,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 41, 1, 1, 1, 41, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 2, 5, 5, 5, 2, 5, 5, 5, 2, 2, 2, 5, 2, 2, 2, 5], 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 }]
}
},
//233
{
baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 25, passTarget: { type: 1, elements: [{ type: 9, count: 46 }] }, starScores: [6000, 12000, 21000], map: {
lattices: [
3, 3, 3, 3, 0, 3, 3, 3, 3,
3, 3, 3, 6, 1, 1, 3, 3, 3,
3, 3, 6, 1, 1, 1, 1, 3, 3,
3, 6, 1, 1, 1, 1, 1, 1, 3,
0, 1, 1, 1, 1, 1, 1, 1, 0,
3, 1, 1, 1, 1, 1, 1, 61, 3,
3, 3, 1, 1, 1, 1, 61, 3, 3,
3, 3, 3, 1, 1, 61, 3, 3, 3,
3, 3, 3, 3, 0, 3, 3, 3, 3], connectedLats: [], elements: [1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 4, 2, 1, 2, 2, 1, 1, 1, 4, 1, 1, 2, 1, 1, 1, 1, 4, 1, 1, 1, 1, 2, 1, 1, 4, 1, 1, 1, 2, 2, 1, 2, 4, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }, { index: 13, type: null }]
}
},
//234
{
baseElementTypes: [0, 2, 3, 4], bubbleProbability: 0, stepCount: 30, passTarget: { type: 1, elements: [{ type: 1, count: 66 }, { type: 5, count: 19 }] }, starScores: [6000, 12000, 21000], map: {
lattices: [
0, 1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 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, 41, 41, 41, 41, 41, 41, 41, 0], connectedLats: [], elements: [1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 5, 5, 5, 2, 1, 1, 1, 2, 5, 5, 5, 5, 5, 2, 1, 2, 5, 5, 5, 5, 5, 5, 5, 2, 1, 6, 6, 6, 6, 6, 6, 6, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }]
}
},
//235
{
baseElementTypes: [0, 2, 3, 4], bubbleProbability: 0, stepCount: 30, passTarget: { type: 1, elements: [{ type: 1, count: 45 }] }, starScores: [5000, 12000, 21000], map: {
lattices: [
0, 0, 1, 1, 0, 1, 1, 0, 0,
0, 1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 1, 1, 4, 1, 1, 1, 1,
1, 1, 1, 4, 1, 4, 1, 1, 1,
0, 1, 4, 1, 0, 1, 4, 1, 0,
1, 1, 1, 4, 1, 4, 1, 1, 1,
1, 1, 1, 1, 4, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 0, 0], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 6, 1, 1, 1, 2, 1, 2, 1, 6, 1, 6, 1, 2, 1, 2, 1, 1, 1, 6, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 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: 5, type: null }, { index: 6, type: null }, { index: 10, type: null }, { index: 13, type: null }, { index: 16, type: null }, { index: 18, type: null }, { index: 26, type: null }]
}
},
//236
{
baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 30, passTarget: { type: 1, elements: [{ type: 9, count: 43 }] }, starScores: [5000, 12000, 21000], map: {
lattices: [
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,
61, 61, 61, 61, 0, 6, 6, 6, 6,
3, 3, 3, 3, 0, 3, 3, 3, 3,
3, 3, 3, 3, 0, 3, 3, 3, 3,
3, 3, 3, 3, 0, 3, 3, 3, 3,
0, 3, 3, 3, 0, 3, 3, 3, 0,
0, 0, 3, 3, 3, 3, 3, 0, 0], connectedLats: [[54, 5], [64, 6], [74, 7], [75, 17], [22, 76]], 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, 0, 0, 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, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 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: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 9, type: null }]
}
},
//237
{
baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 28, passTarget: { type: 1, elements: [{ type: 9, count: 40 }] }, starScores: [6000, 12000, 21000], map: {
lattices: [
41, 41, 41, 41, 0, 0, 0, 0, 0,
1, 1, 1, 1, 0, 4, 4, 4, 4,
1, 1, 1, 1, 0, 1, 1, 1, 1,
1, 1, 1, 1, 0, 1, 1, 1, 1,
3, 3, 3, 3, 1, 3, 3, 3, 3,
3, 3, 3, 3, 0, 3, 3, 3, 3,
3, 3, 3, 3, 1, 3, 3, 3, 3,
3, 3, 3, 3, 0, 3, 3, 3, 3,
3, 3, 3, 3, 1, 3, 3, 3, 3], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, 4, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, 4, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 1, 1, 4, 5, 4, 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: 14, type: null }, { index: 15, type: null }, { index: 16, type: null }, { index: 17, type: null }]
}
},
//238
{
baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 34, passTarget: { type: 1, elements: [{ type: 9, count: 43 }] }, starScores: [5000, 12000, 21000], map: {
lattices: [
3, 3, 3, 3, 3, 5, 2, 2, 2,
3, 3, 3, 3, 3, 5, 2, 2, 2,
3, 3, 3, 3, 3, 0, 0, 0, 0,
3, 3, 3, 3, 3, 0, 4, 0, 0,
3, 3, 3, 3, 3, 0, 1, 0, 0,
3, 3, 3, 3, 3, 0, 0, 0, 4,
0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2, 2, 0, 2, 2, 2, 0, 0], connectedLats: [[56, 6], [57, 7], [58, 8], [15, 33], [17, 53], [42, 73], [62, 74]], elements: [
1, 1, 1, 1, 1, 2, 0, 0, 0,
1, 1, 1, 1, 1, 2, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1,
2, 2, 2, 2, 2, 1, 1, 1, 1,
2, 2, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 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, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 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 }]
}
},
//239
{
baseElementTypes: [0, 2, 3, 4], bubbleProbability: 0, stepCount: 27, passTarget: { type: 1, elements: [{ type: 1, count: 55 }, { type: 2, count: 40 }] }, starScores: [5000, 12000, 21000], map: {
lattices: [
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 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], connectedLats: [], elements: [5, 1, 1, 1, 1, 1, 1, 1, 5, 5, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 6, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 5, 5, 1, 1, 1, 1, 1, 1, 1, 5], 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 }]
}
},
//240
{
baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 26, passTarget: { type: 1, elements: [{ type: 9, count: 81}] }, starScores: [5000, 12000, 21000], map: {
lattices: [
3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 61, 61, 61, 3, 6, 6, 6, 3,
3, 61, 3, 3, 3, 3, 3, 6, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 61, 3, 3, 3, 3, 3, 6, 3,
3, 61, 61, 61, 3, 6, 6, 6, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5], 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 }]
}
}
]
\ No newline at end of file
import { ChapterData } from "../interface/ChapterData";
/**
* 241到260关数据
*/
export const Chapters13: ChapterData[] = [
//241
{ baseElementTypes: [0, 2, 3, 4], bubbleProbability: 0, stepCount: 24, passTarget: { type: 1, elements: [{ type: 1, count: 63 }, { type: 3, count: 75 }, { type: 2, count: 75 }] }, starScores: [7000, 14000, 28000], 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, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0], connectedLats: [[20, 38], [30, 48], [31, 58], [32, 50], [25, 43]], 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, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 6, 1, 6, 2, 1, 1, 1, 1, 1, 6, 1, 6, 1, 1, 1, 1, 1, 1, 2, 6, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 0, type: null }, { index: 1, type: null }, { index: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }] } },
//242
{
baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 30, passTarget: { type: 1, elements: [{ type: 9, count: 26 }] }, starScores: [5000, 12000, 21000], map: {
lattices: [
1, 1, 1, 1, 3, 1, 1, 1, 1,
1, 1, 1, 3, 1, 3, 1, 1, 1,
1, 1, 1, 1, 3, 1, 1, 1, 1,
1, 3, 1, 1, 6, 1, 1, 3, 1,
3, 1, 3, 6, 1, 6, 3, 1, 3,
1, 3, 1, 1, 6, 1, 1, 3, 1,
3, 3, 1, 1, 3, 1, 1, 3, 3,
0, 1, 61, 61, 1, 61, 61, 1, 0,
0, 0, 1, 1, 3, 1, 1, 0, 0], connectedLats: [], elements: [1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 7, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 7, 2, 2, 7, 2, 2, 7, 2, 5, 2, 7, 5, 2, 5, 7, 2, 5, 2, 2, 7, 5, 2, 5, 7, 2, 2, 1, 5, 2, 2, 7, 2, 2, 5, 1, 1, 1, 5, 5, 2, 5, 5, 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 }]
}
},
//243
{
baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 27, passTarget: { type: 1, elements: [{ type: 9, count: 59 }] }, starScores: [5000, 12000, 21000], map: {
lattices: [
3, 1, 1, 1, 3, 1, 1, 1, 3,
3, 2, 1, 2, 6, 2, 1, 2, 3,
3, 1, 2, 1, 6, 1, 2, 1, 3,
3, 2, 1, 2, 6, 2, 1, 2, 3,
3, 61, 61, 61, 3, 61, 61, 61, 3,
3, 2, 1, 2, 6, 2, 1, 2, 3,
3, 1, 2, 1, 6, 1, 2, 1, 3,
3, 2, 1, 2, 6, 2, 1, 2, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3], connectedLats: [], elements: [2, 4, 4, 4, 2, 4, 4, 4, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 0, 0, 0, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], baseElements: [
0, 2, 2, 2, 0, 2, 2, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 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: 8, type: null }, { index: 10, type: null }, { index: 11, type: null }, { index: 12, type: null }, { index: 14, type: null }, { index: 15, type: null }, { index: 16, type: null }]
}
},
//244
{ baseElementTypes: [0, 1, 2, 3, 4], bubbleProbability: 0, stepCount: 31, passTarget: { type: 1, elements: [{ type: 6, count: 4 }] }, starScores: [6000, 15000, 21000], 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, 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, 1, 1, 1, 1, 1, 1], connectedLats: [[27, 45], [28, 46], [29, 47], [30, 48], [31, 49], [32, 50], [33, 51], [34, 52], [35, 53], [], []], elements: [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, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [72, 73, 74, 75, 76, 77, 78, 79, 80], 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 }] } },
//245
{ baseElementTypes: [1, 2, 3, 4], bubbleProbability: 10, stepCount: 25, passTarget: { type: 1, elements: [{ type: 9, count: 32 }] }, starScores: [15000, 20000, 25000], map: { lattices: [3, 0, 3, 3, 3, 0, 3, 3, 3, 3, 0, 1, 1, 1, 1, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 1, 3, 0, 1, 1, 3, 3, 3, 1, 1, 3, 3, 1, 1, 3, 1, 3, 1, 1, 3, 3, 1, 1, 3, 3, 3, 1, 1, 0, 3, 1, 1, 1, 1, 1, 1, 0, 3, 0, 0, 0, 1, 1, 1, 1, 0, 3, 3, 3, 3, 0, 3, 3, 3, 0, 3], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 8, 8, 8, 1, 6, 1, 1, 1, 1, 8, 1, 8, 1, 1, 1, 1, 6, 1, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 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: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 6, type: null }, { index: 7, type: null }, { index: 8, type: null }] } },
//246
{ baseElementTypes: [4, 3, 2, 1], bubbleProbability: 10, stepCount: 25, passTarget: { type: 1, elements: [{ type: 1, count: 160 }, { type: 5, count: 13 }] }, starScores: [15000, 20000, 25000], map: { lattices: [0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 6, 1, 8, 1, 2, 1, 4, 1, 1, 1, 4, 1, 2, 2, 1, 1, 6, 1, 2, 8, 1, 2, 2, 1, 6, 1, 1, 1, 2, 1, 2, 2, 1, 4, 8, 1, 8, 4, 1, 2, 2, 1, 2, 1, 4, 1, 6, 1, 2, 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: 2, type: null }, { index: 3, type: null }, { index: 4, type: null }, { index: 5, type: null }, { index: 6, type: null }] } },
//247
{ baseElementTypes: [2, 0, 4, 3], bubbleProbability: 10, stepCount: 24, passTarget: { type: 1, elements: [{ type: 9, count: 52 }] }, 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, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3], connectedLats: [[10, 55], [11, 29], [12, 30], [13, 31], [14, 32], [15, 33], [16, 61], [38, 56], [39, 57], [40, 58], [41, 59], [42, 60]], elements: [1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 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 }] } },
//248
{ baseElementTypes: [2, 0, 4, 3], bubbleProbability: 10, stepCount: 34, passTarget: { type: 1, elements: [{ type: 9, count: 77 }] }, 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, 3, 3, 3, 0, 3, 0, 3, 3, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 4, 4, 4, 4, 4, 7, 1, 1, 7, 4, 8, 1, 8, 4, 7, 1, 1, 7, 4, 1, 1, 1, 4, 7, 1, 1, 7, 4, 8, 1, 8, 4, 7, 1, 1, 7, 4, 4, 4, 4, 4, 7, 1, 1, 7, 7, 1, 5, 1, 7, 7, 1, 1, 7, 7, 1, 5, 1, 7, 7, 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, 30, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 30, 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 }] } },
//249
{ baseElementTypes: [0, 1, 3, 4], bubbleProbability: 0, stepCount: 32, passTarget: { type: 1, elements: [{ type: 9, count: 67 }] }, starScores: [15000, 20000, 25000], map: { lattices: [0, 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, 0, 6, 3, 3, 6, 3, 6, 3, 3, 6, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0], connectedLats: [], elements: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1], baseElements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], recycles: [], generateLats: [{ index: 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 }] } },
//250
{ baseElementTypes: [0, 2, 4, 3], bubbleProbability: 0, stepCount: 22, passTarget: { type: 1, elements: [{ type: 6, count: 7 }] }, starScores: [15000, 20000, 25000], map: { lattices: [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 3, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0], connectedLats: [[30, 18], [31, 19], [32, 20], [63, 33], [64, 34], [65, 35], [44, 59], [52, 58], [60, 57]], elements: [1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 1, 1, 1, 5, 5, 5, 5, 5, 5, 1, 1, 1, 5, 1, 5, 1, 1, 1, 5, 5, 5, 5, 5, 5, 1, 1, 1, 5, 5, 5, 5, 5, 5, 1, 1, 1, 5, 5, 1, 5, 1, 5, 5, 5, 5, 5, 1, 1, 5, 5, 5, 5, 1, 5, 1, 1, 1, 1, 1, 1, 5, 5, 5, 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, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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: [44, 52, 60], generateLats: [{ index: 4, type: null }, { index: 12, type: null }, { index: 14, type: null }] } }
]
\ No newline at end of file
......@@ -14,6 +14,7 @@ import { PassTargetData } from "../interface/PassTargetData";
import { PassType } from "../enum/PassType";
import { submitTran } from "../enum/ElementType";
import { Chapters12 } from "./Chapter12";
import { Chapters13 } from "./Chapter13";
//所有的关卡
const chapters: ChapterData[] = [].concat(
......@@ -29,6 +30,7 @@ const chapters: ChapterData[] = [].concat(
Chapters10,
Chapters11,
Chapters12,
Chapters13,
)
/**
* 获取关卡数据,返回关卡数据
......
import { ElementType } from "../enum/ElementType";
import ILattice from "../lattice/ILattice";
export class Ice extends egret.Bitmap {
/**
......
import BaseBlock from "../block/BaseBlock";
import { Tool } from "../Tool";
import { Element } from "./Element";
import { Ice } from "./Ice";
import { Tool } from "../Tool";
/**
* 位置信息直接用一个二维数组记录,然后用row,col取
......@@ -12,6 +13,11 @@ export class Lattice {
* 上面的冰块,是加在背景图上的
*/
ice: Ice;
/**
* 石门,冰石门,深冰石门
*/
block: BaseBlock;
/**
* 上面的元素(null,消除元素,石头,冰激凌等),
*/
......@@ -29,6 +35,9 @@ export class Lattice {
value.column = this.column;
}
this._element = value
if(this.block) {
this.block.element = this._element;
}
}
/**
* 索引
......@@ -67,6 +76,7 @@ export class Lattice {
this.column = rc[1];
//重置属性,后面自行赋值
this.ice = null;
this.block = null;
this.element = null;
this.up = null;
this.down = null;
......
/**
* 元素格子配置,需要和地图格子做区分
*/
export enum ElementConfigType {
/**
* 空元素格
*/
EMPTY=0,
/**
* 基础元素
*/
BASE=1,
/**
* 石头
*/
ROCK=2,
/**
* 棒棒糖
*/
LOLLIPOP=3,
/**
* 枷锁
*/
LOCK=4,
/**
* JELLY
*/
JELLY=5,
/**
* CHICKEN_EGG
*/
CHICKEN_EGG=6,
/**
* 气泡
*/
BUBBLE=7,
/**
* 灰色毛球
*/
HAIRBALLGREY=8,
/**
* 褐色毛球
*/
HAIRBALLBROWN=9,
/**
* 黑色毛球
*/
HAIRBALLBLACK=10,
// /**
// * 石门。石门正面的时候,无法消除。不是锁,锁可以被打破。
// */
// BLOCK_LOCK=11,
}
\ No newline at end of file
/**
* 地图格子配置,需要和元素格子做区分
*/
export enum LatticeType {
EMPTY = 0,
NORMAL = 1,
ICE = 2,
DARK_ICE = 3,
BlOCK = 4, //会持续存在,无法像冰块一样被消除,但是上方可以存在元素。只是展示的时候
BLOCK_AND_ICE = 5,
BLOCK_AND_DARK_ICE = 6
}
// * 0无格子
// * 1普通格子
// * 2浅冰块
// * 3深冰块
// * 4石门
// * 5石门+浅冰块
// * 6石门+深冰块
export const isSpecialLattice = (type: LatticeType) => {
return type != LatticeType.EMPTY && type != LatticeType.NORMAL;
}
export const isIce = (type: LatticeType) => {
return type == LatticeType.ICE || type == LatticeType.DARK_ICE
}
\ No newline at end of file
......@@ -67,4 +67,6 @@ export enum RecoverName {
HAIRBALLBLACK_STATE = "HairballBlackState",
HAIRBALLBROWN_STATE = "HairballBrownState",
BLOCK_STATE = "BLOCK_STATE",
}
\ No newline at end of file
......@@ -4,6 +4,7 @@ import { LockState } from "../states/LockState";
import { HairballGreyState } from "../states/HairballGreyState";
import { HairballBrownState } from "../states/HairballBrownState";
import { HairballBlackState } from "../states/HairballBlackState";
import { BlockLockState } from "../states/BlockLockState";
/**
* 状态类型
......@@ -14,6 +15,7 @@ export enum StateType {
HAIRBALLGREY,//灰色毛球 ,一次就消除
HAIRBALLBROWN,//褐色毛球 ,只能特效消除
HAIRBALLBLACK,//黑色毛球 ,两次消除,一次闭眼
BLOCK_LOCK,//石门盖住状态
}
......@@ -24,4 +26,5 @@ export const stateDatas: { recoverName: RecoverName, className: any }[] = [
{ recoverName: RecoverName.HAIRBALLGREY_STATE, className: HairballGreyState },
{ recoverName: RecoverName.HAIRBALLBROWN_STATE, className: HairballBrownState },
{ recoverName: RecoverName.HAIRBALLBLACK_STATE, className: HairballBlackState },
{ recoverName: RecoverName.BLOCK_STATE, className: BlockLockState },
]
\ No newline at end of file
import { GenerateLatData } from "./GenerateLatData";
import { LatticeType } from "../enum/LatticeType";
/**
* 地图数据接口
......@@ -13,8 +14,11 @@ export interface MapData {
* 1普通格子
* 2浅冰块
* 3深冰块
* 4石门
* 5石门+浅冰块
* 6石门+深冰块
*/
lattices: number[];
lattices: LatticeType[];
/**
* 能生成元素的格子索引
*
......
export default interface ILattice {
reset(n:number);
}
\ No newline at end of file
......@@ -382,7 +382,7 @@ export class AiControl {
for (var i = 0; i < thisObj.lattices.length; i++) {
var lat = thisObj.lattices[i];
//是基础元素,有气泡状态
if (Tool.judgeBaseEle(lat) && lat.element.hasState(StateType.BUBBLE)) {
if (Tool.judgeBaseEle(lat) && lat.element.hasState(StateType.BUBBLE) && (!lat.block || !lat.block.isLock())) {
indexs.push(i);
}
}
......
import { State } from "../class/State";
import { Pool } from "../Pool";
import { RecoverName } from "../enum/RecoverName";
/**
* 石门锁住的状态比较特殊,他没有视图,是无形的
* 和lock有区别的,lock可以用消除来解除,石门锁不行
*/
export class BlockLockState extends State {
// private showImage: egret.Bitmap;
constructor() {
super();
// var texture: egret.Texture = RES.getRes("lockVine_png")
// this.showImage = new egret.Bitmap(texture);
// this.addChild(this.showImage);
// this.showImage.x = -texture.textureWidth / 2;
// this.showImage.y = -texture.textureHeight / 2
}
reset() {
// this.alpha = 1;
}
//要不要把动画放在这里,这种移除动效最好统一外面,常驻动效才
recover() {
// egret.Tween.get(this)
// .to({ alpha: 0 }, 750)
// .call(() => {
// if (this.parent) this.parent.removeChild(this);
// Pool.recover(RecoverName.LOCK_STATE, this);
// })
}
}
......@@ -4,7 +4,7 @@
"desc": "OK",
"timestamp": 1566885811031,
"data": {
"wealth": 0,
"wealth": 7960,
"totalStars": 145,
"levels": [
{
......@@ -1131,6 +1131,11 @@
"levelNum": 225,
"maxScore": 47440,
"stars": 1
},
{
"levelNum": 226,
"maxScore": 47440,
"stars": 1
}
],
"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