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
b0423c68
Commit
b0423c68
authored
Jan 14, 2020
by
wildfirecode
Browse files
Options
Browse Files
Download
Plain Diff
1
parents
b0cb602e
587ee86b
Changes
27
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
498 additions
and
92 deletions
+498
-92
index.html
egret/index.html
+2
-2
MainBase.ts
egret/libs/new_wx/MainBase.ts
+2
-1
ele20.png
egret/resource/assets/mainScene/ele20.png
+0
-0
empty.png
egret/resource/assets/mainScene/empty.png
+0
-0
monster.svga
egret/resource/assets/svgas/monster.svga
+0
-0
default.res.json
egret/resource/default.res.json
+11
-1
getFriendSharePic.ts
egret/src/getFriendSharePic.ts
+2
-2
MainScene.ts
egret/src/mainScene/MainScene.ts
+36
-5
jellyMonsterAI.ts
egret/src/mainScene/jellyMonsterAI.ts
+79
-0
jellyMonsterAni.ts
egret/src/mainScene/jellyMonsterAni.ts
+26
-0
MapScene.ts
egret/src/mapScene/MapScene.ts
+1
-1
BackIndexPanel.ts
egret/src/panels/BackIndexPanel.ts
+0
-1
HbCutTime.ts
egret/src/panels/HongbaoRain/HbCutTime.ts
+14
-14
HbGame.ts
egret/src/panels/HongbaoRain/HbGame.ts
+35
-35
HbPrize.ts
egret/src/panels/HongbaoRain/HbPrize.ts
+6
-6
RainMgr.ts
egret/src/panels/HongbaoRain/RainMgr.ts
+9
-9
TargetItemRenderer.ts
egret/src/panels/TargetItemRenderer.ts
+5
-3
RegTriangle.ts
egret/src/playScene/physics/RegTriangle.ts
+1
-1
Tool.ts
egret/src/something/Tool.ts
+6
-1
JellySpreadAni.ts
egret/src/something/anis/JellySpreadAni.ts
+8
-1
Chapter14.ts
egret/src/something/chapters/Chapter14.ts
+42
-1
Element.ts
egret/src/something/class/Element.ts
+72
-2
ElementConfigType.ts
egret/src/something/enum/ElementConfigType.ts
+4
-0
ElementType.ts
egret/src/something/enum/ElementType.ts
+3
-0
AiControl.ts
egret/src/something/logic/AiControl.ts
+8
-5
hasBackReward.json
mock/happyclear/hasBackReward.json
+1
-1
home.json
mock/happyclear/home.json
+125
-0
No files found.
egret/index.html
View file @
b0423c68
...
...
@@ -135,8 +135,8 @@
];
// localStorage.clear();
window
[
'imgver'
]
=
'11112'
;
window
[
'total_level'
]
=
10
+
10
*
29
;
/// TODO 14 不能变 总数必须大于总的关卡数
window
[
'last_level'
]
=
3
00
;
//必须大于等于total_level ///TODO 标记最后一关,等于最后一关即可
window
[
'total_level'
]
=
10
+
10
*
32
;
/// TODO 14 不能变 总数必须大于总的关卡数
window
[
'last_level'
]
=
3
25
;
//必须大于等于total_level ///TODO 标记最后一关,等于最后一关即可
var
sharePic
=
document
.
getElementById
(
'pic'
);
...
...
egret/libs/new_wx/MainBase.ts
View file @
b0423c68
...
...
@@ -286,7 +286,7 @@ export default class MainBase extends eui.UILayer {
RES
.
getResAsync
(
"ele"
+
i
+
"Line"
+
"_png"
)
RES
.
getResAsync
(
"ele"
+
i
+
"Exp"
+
"_png"
)
}
for
(
var
i
=
0
;
i
<
2
0
;
i
++
)
{
for
(
var
i
=
0
;
i
<
2
1
;
i
++
)
{
RES
.
getResAsync
(
"ele"
+
i
+
"_png"
)
}
for
(
var
i
=
1
;
i
<=
27
;
i
++
)
{
...
...
@@ -451,6 +451,7 @@ export default class MainBase extends eui.UILayer {
loadSvga
(
getResPath
()
+
'resource/assets/svgas/turntable.svga'
);
loadSvga
(
getResPath
()
+
'resource/assets/svgas/turnprize.svga'
);
loadSvga
(
getResPath
()
+
'resource/assets/svgas/sprize.svga'
);
loadSvga
(
getResPath
()
+
'resource/assets/svgas/monster.svga'
);
}
catch
(
e
)
{
console
.
error
(
e
);
...
...
egret/resource/assets/mainScene/ele20.png
0 → 100644
View file @
b0423c68
7.33 KB
egret/resource/assets/mainScene/empty.png
0 → 100644
View file @
b0423c68
935 Bytes
egret/resource/assets/svgas/monster.svga
0 → 100644
View file @
b0423c68
File added
egret/resource/default.res.json
View file @
b0423c68
...
...
@@ -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,boom18_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"
,
"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,boom18_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
"
,
"name"
:
"main2"
},
{
...
...
@@ -4212,6 +4212,16 @@
"url"
:
"assets/backindex/backindex.png"
,
"type"
:
"image"
,
"name"
:
"backindex_png"
},
{
"url"
:
"assets/mainScene/ele20.png"
,
"type"
:
"image"
,
"name"
:
"ele20_png"
},
{
"url"
:
"assets/mainScene/empty.png"
,
"type"
:
"image"
,
"name"
:
"empty_png"
}
]
}
\ No newline at end of file
egret/src/getFriendSharePic.ts
View file @
b0423c68
...
...
@@ -8,7 +8,7 @@ import Loading from "../libs/new_wx/components/Loading";
class
FriendWxShare
extends
ComponentBase
{
start
()
{
const
data
=
getHomeData
();
this
[
'lvTxt'
].
text
=
data
.
levels
.
length
==
0
?
1
:
data
.
levels
.
length
;
this
[
'lvTxt'
].
text
=
data
.
levels
.
length
==
0
?
1
:
data
.
levels
.
length
;
this
[
'avatar'
].
mask
=
this
[
'avatarMask'
];
const
{
data
:
user
}
=
DataManager
.
ins
.
getData
(
'hc_userInfo'
);
this
[
'avatar'
].
source
=
user
.
avatar
;
...
...
egret/src/mainScene/MainScene.ts
View file @
b0423c68
...
...
@@ -98,6 +98,7 @@ import { createCandyDis1Ani } from '../something/anis/candy/createCandyDis1Ani';
import
{
createCandyDis2Ani
}
from
'../something/anis/candy/createCandyDis2Ani'
;
import
{
createCandyDis3Ani
}
from
'../something/anis/candy/createCandyDis3Ani'
;
import
{
createCandyDis4Ani
}
from
'../something/anis/candy/createCandyDis4Ani'
;
import
jellyMonsterAI
from
'./jellyMonsterAI'
;
const
aniClass
=
{
"BoomAni"
:
BoomAni
,
...
...
@@ -752,6 +753,15 @@ export default class MainScene extends Scene {
this
.
elementContainer
.
addChild
(
jelly
);
this
.
lattices
[
i
].
element
=
jelly
;
break
;
//果冻怪物
case
ElementConfigType
.
JELLY_MONSTER
:
let
monster
:
Element
=
Tool
.
getElement
(
ElementType
.
JELLY_MONSTER
)
monster
.
x
=
p
[
0
];
monster
.
y
=
p
[
1
];
this
.
elementContainer
.
addChild
(
monster
);
this
.
lattices
[
i
].
element
=
monster
;
monster
.
resetMonster
();
break
;
//鸡蛋
case
ElementConfigType
.
CHICKEN_EGG
:
let
egg
:
Element
=
Tool
.
getElement
(
ElementType
.
CHICKEN_EGG
)
...
...
@@ -1956,11 +1966,21 @@ export default class MainScene extends Scene {
}
//消除结束之后检查石门
await
this
.
checkAllBlock
();
//检查糖果
const
candyResult
=
await
this
.
checkAllCandy
();
if
(
candyResult
)
{
if
(
candyResult
)
{
//是不是有融化了的
this
.
eliminate
();
return
};
//果冻怪物
let
jellyMonsterAIResult
=
0
;
if
(
!
this
.
jellyBrokenMark
)
{
jellyMonsterAIResult
=
await
jellyMonsterAI
(
this
);
//0说明怪物没有地方可吐了
console
.
log
(
'干刚才吐了几个'
,
jellyMonsterAIResult
);
if
(
jellyMonsterAIResult
>
0
)
//吐了果冻相当于破了个果冻,那么不再蔓延
this
.
jellyBrokenMark
=
true
;
}
//再检查一次
if
(
this
.
threeMatch
())
{
this
.
eliminate
()
...
...
@@ -2401,10 +2421,13 @@ export default class MainScene extends Scene {
}
//果冻
else
if
(
ele
.
type
==
ElementType
.
JELLY
)
{
this
.
removeJelly
(
index
);
this
.
removeJelly
(
index
,
ele
.
isMonsterJelly
);
//算个数
this
.
goElementTarget
(
ele
.
type
,
[
ele
.
x
,
ele
.
y
]);
}
// else if (ele.type == ElementType.MONSTER_JELLY) {
// this.removeMonsterJelly(index);
// }
//鸡蛋
else
if
(
ele
.
type
==
ElementType
.
CHICKEN_EGG
)
{
//额外逻辑,
...
...
@@ -3010,13 +3033,21 @@ export default class MainScene extends Scene {
* 果冻的移除,包括动效
* @param index
*/
removeJelly
(
index
:
number
)
{
removeJelly
(
index
:
number
,
isMonsterJelly
:
boolean
)
{
this
.
jellyBrokenMark
=
true
;
this
.
removeOperation
(
index
);
//播放动效,果冻的特效,待写
if
(
isMonsterJelly
)
this
.
playAni
(
RecoverName
.
ELEDIS_ANI
,
Tool
.
getPositionByIndex
(
index
))
else
this
.
playAni
(
RecoverName
.
JELLYDIS_ANI
,
Tool
.
getPositionByIndex
(
index
))
}
// removeMonsterJelly(index: number) {
// this.jellyBrokenMark = true;
// this.removeOperation(index);
// this.playAni(RecoverName.ELEDIS_ANI, Tool.getPositionByIndex(index))
// }
//移除小红包,包括动效,还有个数累计等等。发接口,等等
removeFestivalEleSmall
(
index
:
number
)
{
let
ele
=
this
.
removeOperation
(
index
);
...
...
egret/src/mainScene/jellyMonsterAI.ts
0 → 100644
View file @
b0423c68
import
{
Element
}
from
"../something/class/Element"
;
import
{
Lattice
}
from
"../something/class/Lattice"
;
import
{
ElementType
}
from
"../something/enum/ElementType"
;
import
{
AiControl
}
from
"../something/logic/AiControl"
;
import
{
Tool
}
from
"../something/Tool"
;
import
MainScene
from
"./MainScene"
;
import
jellyMonsterAni
from
"./jellyMonsterAni"
;
export
default
async
(
thisObj
:
MainScene
)
=>
{
//找到所有的怪物
//不用判断石门下是否有果冻
//找出所有果冻索引
var
indexs
:
number
[]
=
[];
for
(
var
i
=
0
;
i
<
thisObj
.
lattices
.
length
;
i
++
)
{
var
lattice
=
thisObj
.
lattices
[
i
]
if
(
lattice
&&
lattice
.
element
&&
lattice
.
element
.
type
==
ElementType
.
JELLY_MONSTER
)
{
indexs
.
push
(
i
);
}
}
//获取果冻动画,0是自身索引,1是终点索引
let
spreads
:
number
[][]
=
[];
for
(
const
fromIndex
of
indexs
)
{
var
toIndex
=
judgeActionIndex
(
fromIndex
,
thisObj
.
lattices
);
//考虑0,判断null,有就break
if
(
toIndex
!=
null
)
{
//能蔓延,返回自身索引和蔓延的索引
spreads
.
push
([
fromIndex
,
toIndex
]);
}
}
if
(
spreads
.
length
>
0
)
AiControl
.
ins
.
setHasJelly
(
true
);
var
i
=
Math
.
floor
(
Math
.
random
()
*
spreads
.
length
);
let
spread
;
if
(
spreads
.
length
>
0
)
{
spread
=
spreads
.
splice
(
i
,
1
)[
0
];
const
[
fromIndex
,
toIndex
]
=
spread
;
const
fromEle
:
Element
=
thisObj
.
lattices
[
fromIndex
].
element
;
//起始元素
const
endEle
:
Element
=
thisObj
.
lattices
[
toIndex
].
element
;
//终点元素
await
fromEle
.
toAction
();
//准备开始吹
await
jellyMonsterAni
(
thisObj
,[
fromEle
.
x
,
fromEle
.
y
],[
endEle
.
x
,
endEle
.
y
]);
endEle
.
reset
(
ElementType
.
JELLY
);
endEle
.
isMonsterJelly
=
true
;
}
if
(
spread
)
return
1
;
return
0
;
}
/**
* 判断可蔓延的方向,并返回蔓延终点的格子索引
* 判断可分裂的方向,并返回分裂终点的格子索引
* 判断可跳动的方向,并返回跳动终点的格子索引
*
* 4个方向随机,
* 得是基础元素,且无任何状态,可以有特效
* @param index
* @return 没有返回null,注意判断时可能有0
*/
function
judgeActionIndex
(
index
:
number
,
lattices
:
Lattice
[]):
number
{
//四个方向尽量随机
var
arr
=
[
index
-
Tool
.
colNum
,
index
+
Tool
.
colNum
];
var
rc
=
Tool
.
indexToRc
(
index
);
var
col
=
rc
[
1
];
//列数大于0才可能有左边格子
if
(
col
>
0
)
arr
.
push
(
index
-
1
);
//列数不为最右边
if
(
col
<
Tool
.
colNum
-
1
)
arr
.
push
(
index
+
1
);
while
(
arr
.
length
)
{
var
rand
=
Math
.
floor
(
Math
.
random
()
*
arr
.
length
);
//随机4个方向
var
i
=
arr
.
splice
(
rand
,
1
)[
0
];
if
(
Tool
.
judgeBaseEle
(
lattices
[
i
])
&&
!
lattices
[
i
].
element
.
hasAnyState
()
&&
!
lattices
[
i
].
element
.
candy
)
{
return
i
}
}
return
null
}
\ No newline at end of file
egret/src/mainScene/jellyMonsterAni.ts
0 → 100644
View file @
b0423c68
import
MainScene
from
"./MainScene"
;
export
default
(
thisobj
:
MainScene
,
from
:
number
[],
to
:
number
[])
=>
{
//每次只有一个怪物吹气泡
return
new
Promise
((
r
)
=>
{
const
tex
:
egret
.
Texture
=
RES
.
getRes
(
"ele20_png"
);
const
pic
=
new
egret
.
Bitmap
(
tex
);
pic
.
anchorOffsetX
=
tex
.
textureWidth
/
2
;
pic
.
anchorOffsetY
=
tex
.
textureHeight
;
pic
.
x
=
from
[
0
];
pic
.
y
=
from
[
1
]
+
20
;
thisobj
.
addChild
(
pic
);
egret
.
Tween
.
get
(
pic
).
set
({
scaleX
:
0
,
scaleY
:
0
})
.
to
({
scaleX
:
1.1
,
scaleY
:
0.9
},
300
)
.
to
({
scaleX
:
0.9
,
scaleY
:
1.1
},
100
)
.
to
({
scaleX
:
1.05
,
scaleY
:
0.95
},
100
)
.
to
({
scaleX
:
1
,
scaleY
:
1
},
100
)
.
wait
(
300
)
.
set
({
anchorOffsetY
:
tex
.
textureHeight
/
2
,
y
:
from
[
1
]
+
20
-
tex
.
textureHeight
/
2
})
.
to
({
x
:
to
[
0
],
y
:
to
[
1
]},
500
)
.
to
({
scaleX
:
0.9
,
scaleY
:
1.1
},
100
)
.
to
({
scaleX
:
1.05
,
scaleY
:
0.95
},
100
)
.
to
({
scaleX
:
1
,
scaleY
:
1
},
100
).
call
(
r
)
// r();
});
}
\ No newline at end of file
egret/src/mapScene/MapScene.ts
View file @
b0423c68
...
...
@@ -440,7 +440,7 @@ export default class MapScene extends Scene {
updateSign
()
{
const
{
signInfoVO
}
=
DataManager
.
ins
.
getData
(
'getSignInfo'
);
if
(
signInfoVO
&&
signInfoVO
.
continueDay
<
7
)
{
//表示明天还可以签到
if
(
signInfoVO
&&
signInfoVO
.
continueDay
<
7
)
{
//表示明天还可以签到
this
[
'sign_s1'
].
visible
=
signInfoVO
.
todaySigned
==
0
;
this
[
'sign_s2'
].
visible
=
!
this
[
'sign_s1'
].
visible
;
}
else
{
...
...
egret/src/panels/BackIndexPanel.ts
View file @
b0423c68
...
...
@@ -6,7 +6,6 @@ import PanelCtrl from "../../libs/new_wx/ctrls/panelCtrl";
export
default
class
BackIndexPanel
extends
Panel
{
start
(
data
)
{
super
.
start
();
}
onTouchTap_closeBtn
()
{
...
...
egret/src/panels/HongbaoRain/HbCutTime.ts
View file @
b0423c68
...
...
@@ -45,14 +45,14 @@ export default class HbCutTime extends Panel {
}
private
hbRainBaseInfo
(
updateData
?)
{
if
(
updateData
&&
updateData
.
data
)
{
if
(
updateData
&&
updateData
.
data
)
{
this
.
data
.
res
=
updateData
;
}
const
success
=
updateData
?
updateData
.
success
:
this
.
data
.
res
.
success
;
const
res
=
updateData
||
this
.
data
.
res
;
const
data
=
(
updateData
&&
updateData
.
data
)
||
this
.
data
.
res
.
data
;
if
(
!
success
)
{
if
(
!
success
)
{
this
.
ok_btn
.
source
=
'hbCutTime_btn_soon_png'
;
this
.
tipImage
.
source
=
'hbCutTime_cutLine_disable_png'
;
this
.
ok_btn
.
removeEventListener
(
egret
.
TouchEvent
.
TOUCH_TAP
,
this
.
onTouchOK
,
this
);
...
...
@@ -60,7 +60,7 @@ export default class HbCutTime extends Panel {
}
this
.
cutTimer
=
this
.
cutTimer
||
new
CutTimer
(
this
.
cutTimeLabel
,
'hh时mm分ss秒'
,
async
()
=>
{
const
getData
=
await
this
.
getData
();
//重新获取数据
if
(
getData
.
success
)
{
if
(
getData
.
success
)
{
this
.
hbRainBaseInfo
(
getData
);
}
else
{
this
.
hidePanel
();
//没有数据关闭窗口
...
...
@@ -69,9 +69,9 @@ export default class HbCutTime extends Panel {
});
const
sysTime
=
res
.
timestamp
;
// 当前系统时间
let
time
;
if
(
data
.
currentSession
)
{
if
(
data
.
currentSession
)
{
time
=
data
.
currentSession
.
endTime
-
sysTime
+
3000
;
if
(
data
.
canJoin
)
{
if
(
data
.
canJoin
)
{
this
.
ok_btn
.
source
=
'hbCutTime_btn_enable_png'
;
NetManager
.
ins
.
showLog
(
getlogItem
(
58
));
this
.
btnEffect
();
...
...
@@ -81,18 +81,18 @@ export default class HbCutTime extends Panel {
this
.
ok_btn
.
removeEventListener
(
egret
.
TouchEvent
.
TOUCH_TAP
,
this
.
onTouchOK
,
this
);
}
this
.
tipImage
.
source
=
'hbCutTime_cutLine_enable_png'
;
if
(
!
this
.
cutTimer
.
start
(
time
))
{
if
(
!
this
.
cutTimer
.
start
(
time
))
{
this
.
cutTimer
.
stop
();
this
.
cutTimer
.
start
(
time
);
}
}
else
if
(
data
.
nextSession
)
{
}
else
if
(
data
.
nextSession
)
{
egret
.
Tween
.
removeTweens
(
this
.
ok_btn
);
this
.
ok_btn
.
scaleX
=
this
.
ok_btn
.
scaleY
=
1
;
time
=
data
.
nextSession
.
startTime
-
sysTime
+
3000
;
this
.
ok_btn
.
source
=
'hbCutTime_btn_soon_png'
;
this
.
ok_btn
.
removeEventListener
(
egret
.
TouchEvent
.
TOUCH_TAP
,
this
.
onTouchOK
,
this
);
this
.
tipImage
.
source
=
'hbCutTime_cutLine_disable_png'
;
if
(
!
this
.
cutTimer
.
start
(
time
))
{
if
(
!
this
.
cutTimer
.
start
(
time
))
{
this
.
cutTimer
.
stop
();
this
.
cutTimer
.
start
(
time
);
}
...
...
@@ -105,8 +105,8 @@ export default class HbCutTime extends Panel {
private
btnEffect
()
{
egret
.
Tween
.
removeTweens
(
this
.
ok_btn
);
egret
.
Tween
.
get
(
this
.
ok_btn
).
to
({
scaleX
:
0.9
,
scaleY
:
1.1
},
200
,
egret
.
Ease
.
quadInOut
).
call
(()
=>
{
egret
.
Tween
.
get
(
this
.
ok_btn
).
to
({
scaleX
:
1
,
scaleY
:
1
},
200
,
egret
.
Ease
.
quadInOut
).
call
(()
=>
{
egret
.
Tween
.
get
(
this
.
ok_btn
).
to
({
scaleX
:
0.9
,
scaleY
:
1.1
},
200
,
egret
.
Ease
.
quadInOut
).
call
(()
=>
{
egret
.
Tween
.
get
(
this
.
ok_btn
).
to
({
scaleX
:
1
,
scaleY
:
1
},
200
,
egret
.
Ease
.
quadInOut
).
call
(()
=>
{
egret
.
Tween
.
get
(
this
.
ok_btn
).
to
({
scaleX
:
0.9618
,
scaleY
:
1.0618
...
...
@@ -123,7 +123,7 @@ export default class HbCutTime extends Panel {
}
destroy
()
{
if
(
this
.
cutTimer
)
{
if
(
this
.
cutTimer
)
{
this
.
cutTimer
.
stop
();
}
super
.
destroy
();
...
...
@@ -163,11 +163,11 @@ export default class HbCutTime extends Panel {
onTouchOK
()
{
NetManager
.
ins
.
clickLog
(
getlogItem
(
58
));
try
{
if
(
window
[
'getRST'
])
window
[
'getRST'
]();
}
catch
(
error
)
{
if
(
window
[
'getRST'
])
window
[
'getRST'
]();
}
catch
(
error
)
{
console
.
warn
(
error
)
}
PanelCtrl
.
instance
.
show
(
'HbGame'
,
{
needScore
:
this
.
data
.
res
.
data
.
currentSession
.
limitScore
});
PanelCtrl
.
instance
.
show
(
'HbGame'
,
{
needScore
:
this
.
data
.
res
.
data
.
currentSession
.
limitScore
});
}
protected
get
closeBtns
():
eui
.
Button
[]
{
...
...
egret/src/panels/HongbaoRain/HbGame.ts
View file @
b0423c68
...
...
@@ -65,10 +65,10 @@ export default class HbGame extends Panel {
// 加分
private
addScore
(
score
:
number
)
{
this
.
score
+=
score
;
egret
.
Tween
.
get
(
this
.
scoreGroup
).
to
({
scaleX
:
1.3
,
scaleY
:
1.3
},
100
).
call
(()
=>
{
egret
.
Tween
.
get
(
this
.
scoreGroup
).
to
({
scaleX
:
1.3
,
scaleY
:
1.3
},
100
).
call
(()
=>
{
this
.
scoreLabelStr
+=
score
;
this
.
scoreLabel
.
text
=
`
${
this
.
scoreLabelStr
}
`
;
egret
.
Tween
.
get
(
this
.
scoreGroup
).
to
({
scaleX
:
1
,
scaleY
:
1
},
100
);
egret
.
Tween
.
get
(
this
.
scoreGroup
).
to
({
scaleX
:
1
,
scaleY
:
1
},
100
);
});
}
...
...
@@ -82,8 +82,8 @@ export default class HbGame extends Panel {
private
hbDoJoin
()
{
let
session
=
DataManager
.
ins
.
getData
(
NetName
.
HBRAIN_BASEINFO
).
data
.
currentSession
.
sessionIndex
;
try
{
if
(
window
[
'getRST'
])
window
[
'getRST'
]();
}
catch
(
error
)
{
if
(
window
[
'getRST'
])
window
[
'getRST'
]();
}
catch
(
error
)
{
console
.
warn
(
error
)
}
NetManager
.
ins
.
hbRainDoJoin
((
success
,
res
)
=>
{
...
...
@@ -92,51 +92,51 @@ export default class HbGame extends Panel {
},
window
[
'collectRuleId'
]);
const
data
=
res
.
data
;
const
code
=
res
.
code
;
if
(
!
success
)
{
switch
(
true
)
{
if
(
!
success
)
{
switch
(
true
)
{
case
(
code
==
"600015"
):
// 网络错误 //命中风控参与规则
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
2
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
2
});
break
;
case
(
code
==
"600016"
):
// 游戏分数提交失败~如有疑问,请联系客服 // 苏宁风控 命中
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
2
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
2
});
break
;
case
(
code
==
"600054"
):
// 红包雨活动暂未开启
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
break
;
case
(
code
==
"600055"
):
// 红包雨场次配置异常
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
break
;
case
(
code
==
"600056"
):
// 当前红包雨场次不存在
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
break
;
case
(
code
==
"600057"
):
// 当前红包雨场次已结束
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
break
;
case
(
code
==
"600058"
):
// 分数未达到目标
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
break
;
case
(
code
==
"600059"
):
// 红包炸弹活动暂未开启
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
break
;
case
(
code
==
"600060"
):
// 当前场次参与次数达到上限
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
break
;
case
(
code
==
"600061"
):
// 红包炸弹配置异常
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
break
;
case
(
code
==
"600062"
):
// 红包炸弹已经全部领取
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
break
;
default
:
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
break
;
}
return
;
}
if
(
!
data
||
!
data
.
option
||
data
.
categoryType
==
1
)
{
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
if
(
!
data
||
!
data
.
option
||
data
.
categoryType
==
1
)
{
PanelCtrl
.
instance
.
show
(
"HbNoPrize"
,
{
type
:
1
});
}
else
{
let
_data
=
Utils
.
deepClone
(
data
);
_data
.
score
=
this
.
score
;
...
...
@@ -165,11 +165,11 @@ export default class HbGame extends Panel {
let
totalTime
:
number
=
this
.
totalTime
;
let
lastT
=
new
Date
().
getTime
();
let
dt
=
0
;
egret
.
startTick
(
function
(
timeStamp
:
number
):
boolean
{
egret
.
startTick
(
function
(
timeStamp
:
number
):
boolean
{
dt
=
(
new
Date
().
getTime
()
-
lastT
)
/
1000
;
cTime
+=
dt
;
if
(
cTime
>
totalTime
)
{
if
(
cTime
>
totalTime
)
{
cTime
=
0
;
}
angle
=
360
*
cTime
/
totalTime
;
...
...
@@ -197,13 +197,13 @@ export default class HbGame extends Panel {
private
timeCallFun
()
{
this
.
cutTimeLabel
.
text
=
`
${
--
this
.
time
}
`
;
if
(
this
.
time
<=
0
)
{
if
(
this
.
time
<=
0
)
{
this
.
gameOver
();
}
if
(
this
.
time
==
3
)
{
if
(
this
.
time
==
3
)
{
let
_y
=
this
.
cutTimerGroup
.
y
;
egret
.
Tween
.
get
(
this
.
cutTimerGroup
,
{
loop
:
true
}).
to
({
y
:
_y
+
10
},
100
).
call
(()
=>
{
egret
.
Tween
.
get
(
this
.
cutTimerGroup
).
to
({
y
:
_y
},
100
);
egret
.
Tween
.
get
(
this
.
cutTimerGroup
,
{
loop
:
true
}).
to
({
y
:
_y
+
10
},
100
).
call
(()
=>
{
egret
.
Tween
.
get
(
this
.
cutTimerGroup
).
to
({
y
:
_y
},
100
);
})
}
}
...
...
@@ -220,18 +220,18 @@ export default class HbGame extends Panel {
obj
.
anchorOffsetY
=
377
/
2
;
this
.
readyGroup
.
visible
=
true
;
obj
.
source
=
"hbGame_3_png"
,
obj
.
scaleX
=
obj
.
scaleY
=
_scaleMin
,
obj
.
alpha
=
1
;
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
1
,
scaleY
:
1
,
alpha
:
1
},
t1
,
_ease
).
wait
(
tw
).
call
(()
=>
{
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
_scaleMax
,
scaleY
:
_scaleMax
,
alpha
:
0.1
},
t2
).
call
(()
=>
{
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
1
,
scaleY
:
1
,
alpha
:
1
},
t1
,
_ease
).
wait
(
tw
).
call
(()
=>
{
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
_scaleMax
,
scaleY
:
_scaleMax
,
alpha
:
0.1
},
t2
).
call
(()
=>
{
obj
.
source
=
"hbGame_2_png"
,
obj
.
scaleX
=
obj
.
scaleY
=
_scaleMin
,
obj
.
alpha
=
1
;
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
1
,
scaleY
:
1
,
alpha
:
1
},
t1
,
_ease
).
wait
(
tw
).
call
(()
=>
{
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
_scaleMax
,
scaleY
:
_scaleMax
,
alpha
:
0.1
},
t2
).
call
(()
=>
{
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
1
,
scaleY
:
1
,
alpha
:
1
},
t1
,
_ease
).
wait
(
tw
).
call
(()
=>
{
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
_scaleMax
,
scaleY
:
_scaleMax
,
alpha
:
0.1
},
t2
).
call
(()
=>
{
obj
.
source
=
"hbGame_1_png"
,
obj
.
scaleX
=
obj
.
scaleY
=
_scaleMin
,
obj
.
alpha
=
1
;
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
1
,
scaleY
:
1
,
alpha
:
1
},
t1
,
_ease
).
wait
(
tw
).
call
(()
=>
{
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
_scaleMax
,
scaleY
:
_scaleMax
,
alpha
:
0.1
},
t2
).
call
(()
=>
{
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
1
,
scaleY
:
1
,
alpha
:
1
},
t1
,
_ease
).
wait
(
tw
).
call
(()
=>
{
egret
.
Tween
.
get
(
obj
).
to
({
scaleX
:
_scaleMax
,
scaleY
:
_scaleMax
,
alpha
:
0.1
},
t2
).
call
(()
=>
{
this
.
readyGroup
.
visible
=
false
;
this
.
startGame
();
egret
.
Tween
.
get
(
this
.
timeBtn
).
to
({
y
:
8
},
100
).
call
(()
=>
{
egret
.
Tween
.
get
(
this
.
timeBtn
).
to
({
y
:
0
},
100
);
egret
.
Tween
.
get
(
this
.
timeBtn
).
to
({
y
:
8
},
100
).
call
(()
=>
{
egret
.
Tween
.
get
(
this
.
timeBtn
).
to
({
y
:
0
},
100
);
});
})
});
...
...
@@ -243,7 +243,7 @@ export default class HbGame extends Panel {
private
readyTipsEffect
()
{
this
.
readyGroup
.
alpha
=
0
;
egret
.
Tween
.
get
(
this
.
readyGroup
).
to
({
alpha
:
1
},
300
).
call
(()
=>
this
.
readyTimeEffect
());
egret
.
Tween
.
get
(
this
.
readyGroup
).
to
({
alpha
:
1
},
300
).
call
(()
=>
this
.
readyTimeEffect
());
}
protected
onSkinComplete
()
{
...
...
egret/src/panels/HongbaoRain/HbPrize.ts
View file @
b0423c68
...
...
@@ -11,9 +11,9 @@ import { NetManager } from "../../../libs/tw/manager/NetManager";
* 红包雨奖励
*/
export
default
class
HbPrize
extends
Panel
{
public
ok_btn
:
eui
.
Button
;
public
closeBtn
:
eui
.
Button
;
public
tipLabel
:
eui
.
Label
;
public
ok_btn
:
eui
.
Button
;
public
closeBtn
:
eui
.
Button
;
public
tipLabel
:
eui
.
Label
;
constructor
(
data
)
{
super
();
...
...
@@ -31,10 +31,10 @@ export default class HbPrize extends Panel {
}
updateOption
(
option
:
any
)
{
const
{
categoryType
,
img
,
num
,
propType
,
realValue
}
=
option
;
// 2次数 3道具 4元宝 5实物 6优惠券 7虚拟商品
const
{
categoryType
,
img
,
num
,
propType
,
realValue
}
=
option
;
// 2次数 3道具 4元宝 5实物 6优惠券 7虚拟商品
this
[
'propnums'
].
text
=
'x1'
;
if
(
num
)
if
(
num
)
this
[
'propnums'
].
text
=
'x'
+
num
;
switch
(
categoryType
)
{
case
2
:
...
...
@@ -81,7 +81,7 @@ export default class HbPrize extends Panel {
onTouchOK
()
{
NetManager
.
ins
.
clickLog
(
getlogItem
(
59
));
if
((
getHomeData
().
levels
.
length
+
1
)
>
window
[
'last_level'
])
{
if
((
getHomeData
().
levels
.
length
+
1
)
>
window
[
'last_level'
])
{
changeMapScene
();
super
.
hidePanel
();
return
;
...
...
egret/src/panels/HongbaoRain/RainMgr.ts
View file @
b0423c68
...
...
@@ -25,7 +25,7 @@ export default class RainMgr {
this
.
timer
.
stop
();
// 停止计时器
// 隐藏全部掉落物品
for
(
let
v
of
this
.
rainGroup
.
$children
)
{
for
(
let
v
of
this
.
rainGroup
.
$children
)
{
v
.
visible
=
false
;
}
}
...
...
@@ -43,16 +43,16 @@ export default class RainMgr {
// 添加掉落物品
private
addRain
()
{
let
num
=
Utils
.
RandomInt
(
3
,
6
);
for
(
let
i
=
0
;
i
<
num
;
i
++
)
{
for
(
let
i
=
0
;
i
<
num
;
i
++
)
{
let
newRainObj
=
this
.
rainPool
.
get
();
if
(
!
newRainObj
)
{
if
(
!
newRainObj
)
{
newRainObj
=
new
RainObj
({
key
:
RainData
.
key
[
~~
(
Math
.
random
()
*
RainData
.
key
.
length
)],
rainGroup
:
this
.
rainGroup
,
pool
:
this
.
rainPool
,
pool
:
this
.
rainPool
,
});
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
newRainObj
.
addStage
((
this
.
rainGroup
.
width
)
/
num
*
i
+
100
,
Utils
.
RandomInt
(
6
,
9
)
/
10
);
},
Utils
.
RandomInt
(
0
,
8
)
*
100
);
}
...
...
@@ -60,16 +60,16 @@ export default class RainMgr {
private
addPool
()
{
this
.
rainPool
=
new
Pooling
();
for
(
let
v
of
RainData
.
key
)
{
for
(
let
v
of
RainData
.
key
)
{
let
num
=
1
;
if
(
v
==
'hongbao'
)
{
if
(
v
==
'hongbao'
)
{
num
=
45
;
}
for
(
let
i
=
0
;
i
<
num
;
i
++
)
{
for
(
let
i
=
0
;
i
<
num
;
i
++
)
{
let
newObj
=
new
RainObj
({
key
:
v
,
rainGroup
:
this
.
rainGroup
,
pool
:
this
.
rainPool
,
pool
:
this
.
rainPool
,
});
this
.
rainPool
.
push
(
newObj
);
}
...
...
egret/src/panels/TargetItemRenderer.ts
View file @
b0423c68
...
...
@@ -8,10 +8,12 @@ export default class TargetItemRenderer extends eui.ItemRenderer {
dataChanged
(){
for
(
let
i
=
0
;
i
<
11
;
i
++
)
{
this
[
'icon'
+
i
].
visible
=
false
;
}
try
{
this
[
'icon'
+
this
.
data
.
type
].
visible
=
true
;
}
catch
(
error
)
{
}
this
[
'txt'
].
text
=
`X
${
this
.
data
.
count
}
`
;
...
...
egret/src/playScene/physics/RegTriangle.ts
View file @
b0423c68
...
...
@@ -16,7 +16,7 @@ export class RegTriangle extends RegPolygon {
constructor
(
length
,
view
)
{
super
(
length
,
view
);
this
.
type
=
"regTriangle"
;
this
.
type
=
"regTriangle"
;
this
.
pointLength
=
this
.
length
*
sqrt3
/
3
;
this
.
sideLength
=
this
.
length
*
sqrt3
/
6
;
}
...
...
egret/src/something/Tool.ts
View file @
b0423c68
...
...
@@ -274,6 +274,7 @@ export class Tool {
lat
.
element
.
hasState
(
StateType
.
LOCK
)
||
lat
.
element
.
hasState
(
StateType
.
BLOCK_LOCK
)
||
lat
.
element
.
type
==
ElementType
.
JELLY
||
lat
.
element
.
type
==
ElementType
.
JELLY_MONSTER
||
lat
.
element
.
type
==
ElementType
.
CHICKEN_EGG
||
lat
.
element
.
type
==
ElementType
.
FESTIVALELE_BIG
//||
// lat.element.type == ElementType.FESTIVALELE_SMALL
...
...
@@ -297,6 +298,7 @@ export class Tool {
!
lat
.
element
.
hasState
(
StateType
.
HAIRBALLGREY
)
&&
!
lat
.
element
.
hasState
(
StateType
.
HAIRBALLBROWN
)
&&
!
lat
.
element
.
hasState
(
StateType
.
BLOCK_LOCK
)
&&
lat
.
element
.
type
!=
ElementType
.
JELLY_MONSTER
&&
lat
.
element
.
type
!=
ElementType
.
FESTIVALELE_SMALL
)
{
return
true
...
...
@@ -334,7 +336,8 @@ export class Tool {
return
false
}
//上方元素为冰淇淋
else
if
(
lat
.
element
.
type
==
ElementType
.
LOLLIPOP
)
{
else
if
(
lat
.
element
.
type
==
ElementType
.
LOLLIPOP
||
lat
.
element
.
type
==
ElementType
.
JELLY_MONSTER
)
{
return
false
}
//剩下情况
...
...
@@ -410,6 +413,7 @@ export class Tool {
ele
.
hasState
(
StateType
.
HAIRBALLBLACK
)
||
ele
.
hasState
(
StateType
.
HAIRBALLBROWN
)
||
ele
.
type
==
ElementType
.
JELLY
||
ele
.
type
==
ElementType
.
JELLY_MONSTER
||
ele
.
type
==
ElementType
.
CHICKEN_EGG
||
ele
.
type
==
ElementType
.
FESTIVALELE_BIG
||
ele
.
type
==
ElementType
.
FESTIVALELE_SMALL
...
...
@@ -430,6 +434,7 @@ export class Tool {
ele
.
type
==
ElementType
.
JELLY
||
ele
.
type
==
ElementType
.
CHICKEN_EGG
||
ele
.
type
==
ElementType
.
LOLLIPOP
||
ele
.
type
==
ElementType
.
JELLY_MONSTER
||
ele
.
type
==
ElementType
.
FESTIVALELE_BIG
||
ele
.
type
==
ElementType
.
FESTIVALELE_SMALL
||
ele
.
hasState
(
StateType
.
LOCK
)
||
...
...
egret/src/something/anis/JellySpreadAni.ts
View file @
b0423c68
...
...
@@ -36,7 +36,14 @@ export class JellySpreadAni extends egret.DisplayObjectContainer {
this
.
addChild
(
this
.
shoot
);
}
play
(
startP
:
number
[],
cloneEle
:
Element
,
callback
:
Function
)
{
play
(
startP
:
number
[],
cloneEle
:
Element
,
callback
:
Function
,
isMonsterJelly
)
{
if
(
isMonsterJelly
)
{
this
.
targetImage
.
texture
=
RES
.
getRes
(
'ele20_png'
);
this
.
oriImage
.
texture
=
RES
.
getRes
(
'ele20_png'
);
}
else
{
this
.
targetImage
.
texture
=
RES
.
getRes
(
"ele"
+
ElementType
.
JELLY
+
"_png"
);
this
.
oriImage
.
texture
=
RES
.
getRes
(
"ele"
+
ElementType
.
JELLY
+
"_png"
);
}
this
.
x
=
startP
[
0
];
this
.
y
=
startP
[
1
];
//终点位置全局先赋值出来,判断用
...
...
egret/src/something/chapters/Chapter14.ts
View file @
b0423c68
...
...
@@ -3,5 +3,46 @@ import { PassType } from "../enum/PassType";
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
}]
}
},
//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
{
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
18
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
64
},
{
type
:
1
,
count
:
66
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
2
,
2
,
0
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
2
,
5
,
2
,
2
,
2
,
5
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
0
,
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
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
11
,
2
,
11
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
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
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
8
,
type
:
null
},
{
index
:
20
,
type
:
null
},
{
index
:
24
,
type
:
null
}]
}
},
//304
{
baseElementTypes
:
[
0
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
18
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
69
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
1
,
3
,
3
,
3
,
3
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
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
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
1
,
1
,
11
,
1
,
1
,
1
,
11
,
1
,
1
,
1
,
1
,
1
,
1
,
12
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
0
,
type
:
null
},
{
index
:
1
,
type
:
null
},
{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
8
,
type
:
null
},
{
index
:
73
,
type
:
null
},
{
index
:
74
,
type
:
null
},
{
index
:
75
,
type
:
null
},
{
index
:
76
,
type
:
null
},
{
index
:
77
,
type
:
null
},
{
index
:
78
,
type
:
null
},
{
index
:
79
,
type
:
null
}]
}
},
//305
{
baseElementTypes
:
[
0
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
29
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
51
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
1
,
3
,
3
,
3
,
3
,
3
,
1
,
3
,
3
,
3
,
3
,
3
,
1
,
3
,
3
,
3
,
3
,
61
,
1
,
6
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
3
,
1
,
3
,
0
,
61
,
0
,
3
,
1
,
3
,
3
,
1
,
0
,
3
,
3
,
3
,
0
,
1
,
3
,
3
,
0
,
0
,
3
,
1
,
3
,
0
,
0
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
0
],
connectedLats
:
[],
elements
:
[
1
,
1
,
2
,
1
,
4
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
2
,
1
,
2
,
1
,
1
,
1
,
1
,
6
,
1
,
1
,
2
,
1
,
1
,
6
,
1
,
1
,
1
,
1
,
1
,
6
,
1
,
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
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
42
,
10
,
42
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
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
}]
}
},
//306
{
baseElementTypes
:
[
0
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
30
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
0
,
count
:
58
},
{
type
:
9
,
count
:
60
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
6
,
6
,
6
,
6
,
3
,
61
,
61
,
61
,
61
,
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
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
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
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
5
,
2
,
5
,
2
,
5
,
2
,
5
,
2
,
5
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
1
,
5
,
2
,
5
,
2
,
5
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
12
,
1
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
0
,
type
:
null
},
{
index
:
1
,
type
:
null
},
{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
8
,
type
:
null
}]
}
},
//307
{
baseElementTypes
:
[
0
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
23
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
72
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
61
,
6
,
41
,
6
,
61
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
0
,
3
,
0
],
connectedLats
:
[],
elements
:
[
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
4
,
4
,
4
,
4
,
1
,
4
,
4
,
4
,
4
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
1
,
2
,
1
,
2
,
2
,
2
,
1
,
2
,
1
,
0
,
0
,
0
,
2
,
2
,
2
,
0
,
0
,
0
,
1
,
1
,
1
,
9
,
9
,
9
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
0
,
type
:
null
},
{
index
:
1
,
type
:
null
},
{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
8
,
type
:
null
}]
}
},
//308
{
baseElementTypes
:
[
0
,
1
,
2
,
3
],
bubbleProbability
:
0
,
stepCount
:
27
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
60
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
0
,
0
,
3
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
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
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
7
,
7
,
1
,
1
,
2
,
1
,
1
,
7
,
7
,
7
,
7
,
7
,
1
,
2
,
1
,
7
,
7
,
7
,
7
,
7
,
7
,
1
,
4
,
1
,
7
,
7
,
7
,
7
,
7
,
7
,
1
,
4
,
1
,
7
,
7
,
7
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
1
,
type
:
null
},
{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
9
,
type
:
null
},
{
index
:
17
,
type
:
null
},
{
index
:
45
,
type
:
null
},
{
index
:
46
,
type
:
null
},
{
index
:
52
,
type
:
null
},
{
index
:
53
,
type
:
null
},
{
index
:
56
,
type
:
null
},
{
index
:
60
,
type
:
null
}]
}
},
//309
{
baseElementTypes
:
[
0
,
2
,
3
],
bubbleProbability
:
0
,
stepCount
:
23
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
1
,
count
:
99
},
{
type
:
0
,
count
:
88
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
0
,
0
,
0
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
41
,
1
,
1
,
1
,
41
,
1
,
0
,
1
,
1
,
1
,
0
,
1
,
0
,
1
,
1
,
1
,
1
,
4
,
1
,
1
,
41
,
1
,
1
,
4
,
1
,
1
,
1
,
1
,
0
,
1
,
0
,
1
,
1
,
1
,
0
,
1
,
41
,
1
,
1
,
1
,
41
,
1
,
0
,
0
,
1
,
1
,
1
,
4
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
0
,
0
,
0
],
connectedLats
:
[],
elements
:
[
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
6
,
1
,
1
,
1
,
1
,
1
,
1
,
6
,
1
,
1
,
1
,
6
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
6
,
1
,
1
,
1
,
6
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
10
,
type
:
null
},
{
index
:
11
,
type
:
null
},
{
index
:
15
,
type
:
null
},
{
index
:
16
,
type
:
null
},
{
index
:
27
,
type
:
null
},
{
index
:
35
,
type
:
null
}]
}
},
//310
{
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
bubbleProbability
:
10
,
stepCount
:
23
,
passTarget
:
{
type
:
1
,
elements
:
[
{
type
:
9
,
count
:
55
}
]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
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
,
3
,
3
,
3
,
6
,
61
,
6
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
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
],
connectedLats
:
[
[
36
,
54
],
[
37
,
55
],
[
38
,
56
],
[
42
,
60
],
[
43
,
61
],
[
44
,
62
]
],
elements
:
[
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
2
,
2
,
1
,
1
,
1
,
2
,
2
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
2
,
2
,
2
,
7
,
7
,
7
,
1
,
1
,
1
,
7
,
7
,
7
,
1
,
1
,
1
,
4
,
4
,
4
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
2
,
2
,
1
,
1
,
1
,
2
,
2
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
2
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
11
,
type
:
null
},
{
index
:
15
,
type
:
null
},
{
index
:
19
,
type
:
null
},
{
index
:
25
,
type
:
null
},
{
index
:
27
,
type
:
null
},
{
index
:
35
,
type
:
null
}
]
}
},
//311
{
baseElementTypes
:
[
0
,
1
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
27
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
52
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
0
,
0
,
3
,
0
,
0
,
0
,
3
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
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
,
3
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
3
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
],
connectedLats
:
[],
elements
:
[
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
7
,
7
,
7
,
1
,
1
,
1
],
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
:
6
,
type
:
null
},
{
index
:
9
,
type
:
null
},
{
index
:
10
,
type
:
null
},
{
index
:
16
,
type
:
null
},
{
index
:
17
,
type
:
null
},
{
index
:
22
,
type
:
null
},
{
index
:
45
,
type
:
null
},
{
index
:
53
,
type
:
null
},
{
index
:
55
,
type
:
null
},
{
index
:
56
,
type
:
null
},
{
index
:
60
,
type
:
null
},
{
index
:
61
,
type
:
null
},
{
index
:
75
,
type
:
null
},
{
index
:
76
,
type
:
null
},
{
index
:
77
,
type
:
null
}]
}
},
//312
{
baseElementTypes
:
[
0
,
1
,
2
,
3
],
bubbleProbability
:
0
,
stepCount
:
23
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
62
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
3
,
3
,
0
,
0
,
3
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
0
,
0
,
6
,
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
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
0
,
type
:
null
},
{
index
:
1
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
8
,
type
:
null
},
{
index
:
11
,
type
:
null
},
{
index
:
12
,
type
:
null
},
{
index
:
14
,
type
:
null
},
{
index
:
15
,
type
:
null
},
{
index
:
36
,
type
:
null
},
{
index
:
37
,
type
:
null
},
{
index
:
38
,
type
:
null
},
{
index
:
42
,
type
:
null
},
{
index
:
43
,
type
:
null
},
{
index
:
44
,
type
:
null
},
{
index
:
54
,
type
:
null
},
{
index
:
55
,
type
:
null
},
{
index
:
56
,
type
:
null
},
{
index
:
60
,
type
:
null
},
{
index
:
61
,
type
:
null
},
{
index
:
62
,
type
:
null
}]
}
},
//313
{
baseElementTypes
:
[
0
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
21
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
49
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
0
,
0
,
2
,
2
,
2
,
2
,
2
,
0
,
0
,
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
2
,
1
,
3
,
3
,
3
,
3
,
3
,
1
,
2
,
2
,
0
,
3
,
3
,
3
,
3
,
3
,
0
,
2
,
2
,
1
,
3
,
3
,
3
,
3
,
3
,
1
,
2
,
2
,
0
,
3
,
3
,
3
,
3
,
3
,
0
,
2
,
2
,
1
,
3
,
3
,
3
,
3
,
3
,
1
,
2
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
0
,
0
,
0
,
0
,
3
,
3
,
1
,
3
,
3
,
0
,
0
],
connectedLats
:
[],
elements
:
[
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
6
,
1
,
6
,
1
,
6
,
1
,
1
,
1
,
6
,
1
,
1
,
1
,
1
,
1
,
6
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
6
,
1
,
1
,
2
,
1
,
1
,
6
,
1
,
4
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
4
,
4
,
6
,
2
,
2
,
2
,
2
,
2
,
6
,
4
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
2
,
12
,
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
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
18
,
type
:
null
},
{
index
:
20
,
type
:
null
},
{
index
:
21
,
type
:
null
},
{
index
:
22
,
type
:
null
},
{
index
:
23
,
type
:
null
},
{
index
:
24
,
type
:
null
},
{
index
:
26
,
type
:
null
}]
}
},
//314
{
baseElementTypes
:
[
0
,
1
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
22
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
49
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
0
,
3
,
0
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
6
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
3
,
6
,
0
,
0
,
0
,
3
,
3
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
3
,
6
,
0
,
0
,
0
,
3
,
3
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
3
,
0
,
0
,
0
,
0
,
0
,
3
,
0
],
connectedLats
:
[],
elements
:
[
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
1
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
9
,
type
:
null
},
{
index
:
11
,
type
:
null
},
{
index
:
15
,
type
:
null
}]
}
},
//315
{
baseElementTypes
:
[
0
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
20
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
6
,
count
:
4
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
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
,
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
,
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
],
connectedLats
:
[],
elements
:
[
1
,
1
,
1
,
1
,
3
,
1
,
1
,
1
,
1
,
12
,
5
,
1
,
1
,
1
,
1
,
1
,
5
,
12
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
2
,
1
,
1
,
12
,
5
,
2
,
2
,
1
,
2
,
2
,
5
,
12
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
12
,
5
,
2
,
2
,
2
,
2
,
2
,
5
,
12
,
1
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[
10
,
16
,
37
,
43
,
64
,
66
,
68
,
70
,
74
,
76
,
78
],
generateLats
:
[{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
}]
}
},
//316
{
baseElementTypes
:
[
0
,
1
,
3
,
2
],
bubbleProbability
:
0
,
stepCount
:
18
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
79
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
3
,
3
,
3
,
6
,
6
,
6
,
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
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
5
,
5
,
2
,
1
,
2
,
5
,
5
,
2
,
2
,
2
,
2
,
2
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
11
,
2
,
2
,
2
,
2
,
1
,
9
,
9
,
9
,
2
,
1
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
0
,
type
:
null
},
{
index
:
1
,
type
:
null
},
{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
8
,
type
:
null
}]
}
},
//317
{
baseElementTypes
:
[
1
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
25
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
74
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
6
,
3
,
3
,
0
,
3
,
3
,
6
,
0
,
6
,
6
,
3
,
3
,
3
,
3
,
3
,
6
,
6
,
6
,
6
,
3
,
3
,
0
,
3
,
3
,
6
,
6
,
6
,
6
,
3
,
3
,
3
,
3
,
3
,
6
,
6
,
0
,
6
,
3
,
3
,
0
,
3
,
3
,
6
,
0
,
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
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
0
,
type
:
null
},
{
index
:
1
,
type
:
null
},
{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
8
,
type
:
null
}]
}
},
//318
{
baseElementTypes
:
[
2
,
1
,
0
,
4
],
bubbleProbability
:
0
,
stepCount
:
27
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
61
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
3
,
3
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
3
,
3
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
],
connectedLats
:
[],
elements
:
[
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
1
,
type
:
null
},
{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
9
,
type
:
null
},
{
index
:
17
,
type
:
null
}]
}
},
//319
{
baseElementTypes
:
[
0
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
29
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
71
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
1
,
3
,
3
,
3
,
3
,
3
,
1
,
0
],
connectedLats
:
[],
elements
:
[
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
7
,
7
,
7
,
7
,
7
,
1
,
1
,
1
,
7
,
2
,
2
,
2
,
2
,
2
,
7
,
1
,
1
,
7
,
2
,
5
,
5
,
5
,
2
,
7
,
1
,
1
,
7
,
2
,
5
,
1
,
5
,
2
,
7
,
1
,
1
,
7
,
2
,
5
,
5
,
5
,
2
,
7
,
1
,
1
,
7
,
2
,
2
,
2
,
2
,
2
,
7
,
1
,
1
,
1
,
7
,
7
,
7
,
7
,
7
,
1
,
1
,
1
,
12
,
1
,
1
,
1
,
1
,
1
,
12
,
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
},
{
index
:
9
,
type
:
null
},
{
index
:
17
,
type
:
null
},
{
index
:
18
,
type
:
null
},
{
index
:
26
,
type
:
null
}]
}
},
//320
{
baseElementTypes
:
[
0
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
22
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
9
,
count
:
71
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
6
,
0
,
3
,
3
,
3
,
0
,
6
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
1
,
3
,
0
,
3
,
0
,
3
,
1
,
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
,
2
,
2
,
2
,
1
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
12
,
1
,
1
,
2
,
1
,
1
,
12
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
0
,
type
:
null
},
{
index
:
1
,
type
:
null
},
{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
8
,
type
:
null
},
{
index
:
10
,
type
:
null
},
{
index
:
16
,
type
:
null
}]
}
},
//321
{
baseElementTypes
:
[
0
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
22
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
22
,
count
:
71
}]
},
starScores
:
[
15000
,
20000
,
25000
],
map
:
{
lattices
:
[
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
6
,
0
,
3
,
3
,
3
,
0
,
6
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
1
,
3
,
0
,
3
,
0
,
3
,
1
,
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
,
2
,
2
,
2
,
1
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
12
,
1
,
1
,
2
,
1
,
1
,
12
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[],
generateLats
:
[{
index
:
0
,
type
:
null
},
{
index
:
1
,
type
:
null
},
{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
7
,
type
:
null
},
{
index
:
8
,
type
:
null
},
{
index
:
10
,
type
:
null
},
{
index
:
16
,
type
:
null
}]
}
}
]
\ No newline at end of file
egret/src/something/class/Element.ts
View file @
b0423c68
...
...
@@ -25,12 +25,81 @@ import { createCandyDis1Ani } from "../anis/candy/createCandyDis1Ani";
import
{
createCandyDis2Ani
}
from
"../anis/candy/createCandyDis2Ani"
;
import
{
createCandyDis3Ani
}
from
"../anis/candy/createCandyDis3Ani"
;
import
{
createCandyDis4Ani
}
from
"../anis/candy/createCandyDis4Ani"
;
import
{
loadSvga
}
from
"../../loadSvga"
;
import
getResPath
from
"../../../libs/new_tc/getResPath"
;
/**
* 考虑到底继承白鹭的啥Component还是Container
* 坐标原点需要坐落在格子的中心点
* 最好到时按,底图,动效,气泡,笼子,毛球,进行分层,如果多个状态要共存时,必须分层,到时气泡的动画,要写再自己的层里
*/
export
class
Element
extends
eui
.
Component
{
_mv
;
async
resetMonster
()
{
this
.
changeSource
(
'empty_png'
);
this
.
showImage
.
alpha
=
0
;
const
mv
:
any
=
await
loadSvga
(
getResPath
()
+
'resource/assets/svgas/monster.svga'
);
this
.
_mv
=
mv
;
this
.
addChild
(
mv
);
mv
.
anchorOffsetX
=
150
;
mv
.
anchorOffsetY
=
150
;
mv
.
x
=
-
3
;
mv
.
y
=
-
6
;
this
.
toStandByAction
();
}
private
_isMonsterJelly
:
boolean
;
set
isMonsterJelly
(
val
:
boolean
)
{
this
.
_isMonsterJelly
=
val
;
this
.
changeSource
(
'ele20_png'
)
}
get
isMonsterJelly
()
{
return
this
.
_isMonsterJelly
;
}
toStandByAction
()
{
if
(
!
this
.
_mv
)
return
;
const
mv
=
this
.
_mv
;
const
cb
=
()
=>
{
if
(
mv
.
currentFrame
==
360
)
{
//向上吹
mv
.
gotoAndPlay
(
1
,
true
);
}
};
this
.
_mv
.
addEventListener
(
egret
.
Event
.
ENTER_FRAME
,
cb
,
this
);
mv
.
gotoAndPlay
(
1
,
true
);
}
toAction
()
{
return
new
Promise
((
r
)
=>
{
if
(
!
this
.
_mv
)
{
r
();
return
;
}
var
p
=
Tool
.
getPositionByIndex
(
this
.
index
);
const
mv
=
this
.
_mv
;
const
cb
=
()
=>
{
if
(
mv
.
currentFrame
==
508
)
{
//向上吹
this
.
toStandByAction
();
}
if
(
mv
.
currentFrame
==
391
)
{
r
();
// const tex: egret.Texture = RES.getRes("ele20_png");
// const pic = new egret.Bitmap(tex);
// pic.anchorOffsetX = tex.textureWidth / 2;
// pic.anchorOffsetY = tex.textureHeight;
// pic.x = p[0];
// pic.y = p[1];
// this.stage.addChild(pic);
// egret.Tween.get(pic).set({ scaleX: 0, scaleY: 0 }).to({ scaleX: 1.1, scaleY: 1.1 }, 300).wait(1000).call(()=>{
// pic.parent.removeChild(pic);
// });
}
};
this
.
_mv
.
addEventListener
(
egret
.
Event
.
ENTER_FRAME
,
cb
,
this
);
mv
.
gotoAndPlay
(
361
,
true
);
});
}
private
_candy
:
Candy
;
resetToCandyView
(
baseElement
:
CandyBaseElementType
)
{
const
res
=
transElementRes
(
baseElement
);
...
...
@@ -68,8 +137,8 @@ export class Element extends eui.Component {
const
cb
=
()
=>
{
r
();
};
this
.
showImage
.
alpha
=
0
;
this
.
candy
.
visible
=
false
;
this
.
showImage
.
alpha
=
0
;
this
.
candy
.
visible
=
false
;
var
p
=
Tool
.
getPositionByIndex
(
this
.
index
);
if
(
this
.
type
==
ElementType
.
RABBIT
)
createCandyDis0Ani
(
p
[
0
],
p
[
1
],
this
.
stage
,
cb
);
...
...
@@ -253,6 +322,7 @@ export class Element extends eui.Component {
changeSource
(
source
:
string
)
{
// this.showImage.source = source;
var
texture
:
egret
.
Texture
=
RES
.
getRes
(
source
);
if
(
!
texture
)
{
return
;
}
this
.
showImage
.
texture
=
texture
this
.
showImage
.
x
=
-
texture
.
textureWidth
/
2
;
...
...
egret/src/something/enum/ElementConfigType.ts
View file @
b0423c68
...
...
@@ -52,6 +52,10 @@ export enum ElementConfigType {
* 糖果
*/
CANDY
=
11
,
/**
* 果冻怪
*/
JELLY_MONSTER
=
12
,
}
// export const isCandy = (t: ElementConfigType) => {
...
...
egret/src/something/enum/ElementType.ts
View file @
b0423c68
...
...
@@ -35,6 +35,9 @@ export enum ElementType {
CANDY_CATTLE
,
//牛
CANDY_LION
,
//狮子
CANDY_PIG
,
//猪
MONSTER_JELLY1
,
JELLY_MONSTER
,
}
export
enum
CandyBaseElementType
{
...
...
egret/src/something/logic/AiControl.ts
View file @
b0423c68
...
...
@@ -40,6 +40,7 @@ export class AiControl {
* 判断是否还有果冻,暂时不考虑果冻无中生有,否则逻辑修改
*/
private
hasJelly
:
boolean
;
setHasJelly
(
val
)
{
this
.
hasJelly
=
val
}
/**
* 提前记录所有的鸡蛋的索引,因为鸡蛋数量不会改变
*/
...
...
@@ -217,13 +218,13 @@ export class AiControl {
for
(
var
i
=
0
;
i
<
thisObj
.
lattices
.
length
;
i
++
)
{
var
lattice
=
thisObj
.
lattices
[
i
]
//没有格子或没有元素或不是果冻 跳过
if
(
lattice
&&
lattice
.
element
&&
lattice
.
block
&&
lattice
.
block
.
isLock
()
&&
lattice
.
element
.
type
==
ElementType
.
JELLY
)
{
if
(
lattice
&&
lattice
.
element
&&
lattice
.
block
&&
lattice
.
block
.
isLock
()
&&
lattice
.
element
.
type
==
ElementType
.
JELLY
)
{
blocked
.
push
(
i
);
}
if
(
!
lattice
||
!
lattice
.
element
||
lattice
.
element
.
type
!=
ElementType
.
JELLY
||
(
lattice
.
block
&&
lattice
.
block
.
isLock
()))
continue
indexs
.
push
(
i
);
}
console
.
log
(
'没有被锁的果冻数量'
,
indexs
.
length
,
'被锁果冻数量'
,
blocked
.
length
,
)
console
.
log
(
'没有被锁的果冻数量'
,
indexs
.
length
,
'被锁果冻数量'
,
blocked
.
length
)
//如果没有果冻,直接回调
if
(
!
indexs
.
length
&&
blocked
.
length
==
0
)
{
//标记为无果冻
...
...
@@ -253,7 +254,7 @@ export class AiControl {
//果冻蔓延动画
let
jellySpreadAni
:
JellySpreadAni
=
Pool
.
takeOut
(
RecoverName
.
JELLYSPREAD_ANI
)
if
(
!
jellySpreadAni
)
{
jellySpreadAni
=
new
JellySpreadAni
()
jellySpreadAni
=
new
JellySpreadAni
()
;
}
thisObj
.
addChild
(
jellySpreadAni
);
//起始元素
...
...
@@ -265,6 +266,8 @@ export class AiControl {
//对后续有影响的数据必须提交更新,视图不对就隐藏先,动画里加上对应视图,动画播放回调里去掉动画视图,显示数据视图;
//将终点元素变成果冻,,
endEle
.
reset
(
ElementType
.
JELLY
);
if
(
fromEle
.
isMonsterJelly
)
endEle
.
isMonsterJelly
=
true
;
//隐藏元素
fromEle
.
visible
=
false
;
endEle
.
visible
=
false
;
...
...
@@ -277,7 +280,7 @@ export class AiControl {
endEle
.
visible
=
true
;
//执行回调
callback
()
})
}
,
fromEle
.
isMonsterJelly
)
}
/**
* 鸡蛋得孵化逻辑
...
...
@@ -728,7 +731,7 @@ function judgeActionIndex(index: number, lattices: Lattice[]): number {
var
rand
=
Math
.
floor
(
Math
.
random
()
*
arr
.
length
);
var
i
=
arr
.
splice
(
rand
,
1
)[
0
];
if
(
Tool
.
judgeBaseEle
(
lattices
[
i
])
&&
!
lattices
[
i
].
element
.
hasAnyState
())
{
!
lattices
[
i
].
element
.
hasAnyState
()
&&
!
lattices
[
i
].
element
.
candy
)
{
return
i
}
}
...
...
mock/happyclear/hasBackReward.json
View file @
b0423c68
{
"success"
:
1
,
"success"
:
0
,
"code"
:
"600074"
,
"desc"
:
"用户未达到回归奖励领取条件"
,
"timestamp"
:
1578472496421
,
...
...
mock/happyclear/home.json
View file @
b0423c68
...
...
@@ -1512,6 +1512,131 @@
"levelNum"
:
300
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
301
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
302
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
303
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
304
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
305
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
306
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
307
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
308
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
309
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
310
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
311
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
312
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
313
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
314
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
315
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
316
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
317
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
318
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
319
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
320
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
321
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
322
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
323
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
324
,
"maxScore"
:
47440
,
"stars"
:
1
},
{
"levelNum"
:
325
,
"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