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