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
40121cb0
Commit
40121cb0
authored
Oct 25, 2019
by
wjf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
l
parent
903d03ef
Changes
8
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
684 additions
and
182 deletions
+684
-182
GameGuide.ts
egret/src/mainScene/GameGuide.ts
+15
-12
MainScene.ts
egret/src/mainScene/MainScene.ts
+135
-123
Chapter1.ts
egret/src/something/chapters/Chapter1.ts
+271
-27
Chapter2.ts
egret/src/something/chapters/Chapter2.ts
+232
-8
getChapter.ts
egret/src/something/chapters/getChapter.ts
+1
-1
ChapterData.ts
egret/src/something/interface/ChapterData.ts
+5
-2
MapData.ts
egret/src/something/interface/MapData.ts
+1
-1
AiControl.ts
egret/src/something/logic/AiControl.ts
+24
-8
No files found.
egret/src/mainScene/GameGuide.ts
View file @
40121cb0
...
...
@@ -53,15 +53,14 @@ export class GameGuide extends egret.DisplayObjectContainer {
show
()
{
var
step
=
this
.
stepAll
-
this
.
stepCount
;
this
.
drawBg
(
step
);
//修改元素的层级,置顶,否则可能点击其他元素
var
data
=
chapterFuns
[
this
.
thisObj
.
chapter
];
for
(
var
i
=
0
;
i
<
data
.
showIndexs
[
step
]
.
length
;
i
++
)
{
var
index
=
data
.
showIndexs
[
step
]
[
i
];
//修改元素的层级,置顶,否则可能点击其他元素
,handIndexs
var
handIndexs
=
chapterFuns
[
this
.
thisObj
.
chapter
].
handIndexs
[
step
];
for
(
var
i
=
0
;
i
<
handIndexs
.
length
;
i
++
)
{
var
index
=
handIndexs
[
i
];
var
lat
=
this
.
thisObj
.
lattices
[
index
]
if
(
lat
&&
lat
.
element
)
this
.
thisObj
.
elementContainer
.
addChild
(
lat
.
element
);
}
var
handIndexs
=
chapterFuns
[
this
.
thisObj
.
chapter
].
handIndexs
[
step
];
this
.
handAni
(
handIndexs
);
this
.
msg
.
text
=
chapterFuns
[
this
.
thisObj
.
chapter
].
msg
[
step
]
||
""
;
this
.
msg
.
x
=
(
750
-
this
.
msg
.
textWidth
)
/
2
;
...
...
@@ -88,7 +87,7 @@ export class GameGuide extends egret.DisplayObjectContainer {
}
}
private
handAni
(
handIndexs
:
number
)
{
private
handAni
(
handIndexs
:
number
[]
)
{
egret
.
Tween
.
removeTweens
(
this
.
hand
)
var
p1
=
Tool
.
getPositionByIndex
(
handIndexs
[
0
]);
var
p2
=
Tool
.
getPositionByIndex
(
handIndexs
[
1
]);
...
...
@@ -274,19 +273,23 @@ const chapterFuns = {
]
},
//棒棒糖消除
1
00
:
{
stepCount
:
1
,
1
7
:
{
stepCount
:
2
,
showIndexs
:
[
[
4
,
5
,
6
,
13
],
[
22
,
31
,
40
,
49
,
39
],
[
68
,
49
,
58
,
67
,
76
],
],
hideIndexs
:
[
[
5
,
6
],
[
22
,
31
,
49
],
[
49
,
58
,
76
],
],
handIndexs
:
[
[
13
,
4
]
[
39
,
40
],
[
68
,
67
],
],
msg
:
[
"当棒棒糖移至底层时,即可移除棒棒糖"
"当棒棒糖移至底层时,即可移除棒棒糖"
,
"消除棒棒糖下方的动物
\n
就可以收集棒棒糖啦"
]
},
//笼子消除
...
...
egret/src/mainScene/MainScene.ts
View file @
40121cb0
...
...
@@ -521,15 +521,6 @@ export default class MainScene extends Scene {
else
if
(
elements
[
i
]
==
9
)
{
ele
.
setState
(
StateType
.
BUBBLE
,
true
,
2
)
}
else
{
//加特效
if
(
Math
.
random
()
<
this
.
chapterData
.
effectInitProbability
)
{
ele
.
effectType
=
Tool
.
randomT
([
0
,
1
,
2
,
3
])
if
(
ele
.
effectType
==
EffectType
.
MAGICLION
)
{
this
.
elementContainer
.
addChildAt
(
ele
,
0
);
}
}
}
break
;
//棒棒糖
case
3
:
...
...
@@ -621,7 +612,7 @@ export default class MainScene extends Scene {
//初始化引导,游戏和道具
initGuide
()
{
//游戏引导
const
gameGuideChapterNum
=
[
1
,
2
,
3
,
5
,
8
,
9
,
10
,
12
]
const
gameGuideChapterNum
=
[
1
,
2
,
3
,
5
,
8
,
9
,
10
,
12
,
17
]
if
(
gameGuideChapterNum
.
indexOf
(
this
.
chapter
>>
0
)
>
-
1
)
{
if
(
!
readCache
(
getCacheKey
()
+
this
.
chapter
))
{
this
.
gameGuide
=
new
GameGuide
(
this
);
...
...
@@ -1199,9 +1190,7 @@ export default class MainScene extends Scene {
}
let
latFall
;
let
indexFall
;
let
type
:
FallType
=
FallType
.
STRIGHT
//找联通的up,一期没有复杂的联通,所以动画不用特殊处理
if
(
lat
.
up
)
{
var
latUnUp
=
this
.
lattices
[
lat
.
up
];
...
...
@@ -1220,6 +1209,7 @@ export default class MainScene extends Scene {
}
}
//找左上
let
findLeft
=
()
=>
{
if
(
!
latFall
&&
Tool
.
indexToRc
(
indexMy
)[
1
]
!=
0
)
{
var
latLeftUp
=
this
.
lattices
[
indexMy
-
Tool
.
colNum
-
1
];
if
(
Tool
.
judgeFall
(
latLeftUp
))
{
...
...
@@ -1227,7 +1217,9 @@ export default class MainScene extends Scene {
indexFall
=
indexMy
-
Tool
.
colNum
-
1
;
}
}
}
//找右上
let
findRight
=
()
=>
{
if
(
!
latFall
&&
Tool
.
indexToRc
(
indexMy
)[
1
]
!=
Tool
.
colNum
-
1
)
{
var
latRightUp
=
this
.
lattices
[
indexMy
-
Tool
.
colNum
+
1
];
if
(
Tool
.
judgeFall
(
latRightUp
))
{
...
...
@@ -1235,6 +1227,15 @@ export default class MainScene extends Scene {
indexFall
=
indexMy
-
Tool
.
colNum
+
1
;
}
}
}
//随机一下,先找左或先找右
if
(
Math
.
random
()
>
0.5
)
{
findLeft
();
findRight
();
}
else
{
findRight
();
findLeft
();
}
//如果latFall存在
if
(
latFall
)
{
//能掉落,记录元素动画
...
...
@@ -1401,6 +1402,8 @@ export default class MainScene extends Scene {
}
//生成口定制掉落
else
{
//基础元素数组
var
baseElementTypes
=
this
.
chapterData
.
baseElementTypes
.
slice
();
//列数
var
col
=
Tool
.
indexToRc
(
index
)[
1
];
//找出索引是index的数据
...
...
@@ -1412,35 +1415,41 @@ export default class MainScene extends Scene {
let
one
=
data
.
cus
.
shift
()
if
(
one
)
{
var
oneData
=
Tool
.
praseEleNumber
(
one
);
type
=
oneData
[
0
]
===
null
?
Tool
.
randomT
(
this
.
chapterData
.
baseElementTypes
)
:
oneData
[
0
];
type
=
oneData
[
0
]
===
null
?
Tool
.
randomT
(
baseElementTypes
)
:
oneData
[
0
];
effectType
=
oneData
[
1
];
}
//否则根据type来定
else
{
//type没有或type长度没有,随机
if
(
!
data
.
type
||
!
data
.
type
.
length
)
{
type
=
Tool
.
randomT
(
this
.
chapterData
.
baseElementTypes
)
type
=
Tool
.
randomT
(
baseElementTypes
)
}
//type里随机。随机出来如果是0,还是随机
else
{
var
code
=
Tool
.
randomT
(
data
.
type
);
if
(
code
)
{
var
codeData
=
Tool
.
praseEleNumber
(
code
);
type
=
codeData
[
0
]
===
null
?
Tool
.
randomT
(
this
.
chapterData
.
baseElementTypes
)
:
codeData
[
0
];
type
=
codeData
[
0
]
===
null
?
Tool
.
randomT
(
baseElementTypes
)
:
codeData
[
0
];
effectType
=
codeData
[
1
];
}
else
{
type
=
Tool
.
randomT
(
this
.
chapterData
.
baseElementTypes
)
type
=
Tool
.
randomT
(
baseElementTypes
)
}
}
}
}
//随机
else
{
type
=
Tool
.
randomT
(
this
.
chapterData
.
baseElementTypes
)
type
=
Tool
.
randomT
(
baseElementTypes
)
}
}
let
ele
=
Tool
.
getElement
(
type
);
ele
.
effectType
=
effectType
;
//没有特效的时候,考虑加气泡
if
(
effectType
==
null
&&
this
.
chapterData
.
bubbleProbability
&&
Math
.
random
()
<
this
.
chapterData
.
bubbleProbability
)
{
ele
.
setState
(
StateType
.
BUBBLE
,
true
,
type
)
}
return
ele
;
}
...
...
@@ -1621,16 +1630,25 @@ export default class MainScene extends Scene {
this
.
eliminate
();
},
200
)
}
else
{
//执行掉落
//
没有可消除元素,
执行掉落
setTimeout
(()
=>
{
this
.
fall
(()
=>
{
//掉落后有消除
//掉落停止回调
this
.
fallCallback
();
});
},
200
)
}
}
/**
* 掉落完后的操作
*/
fallCallback
()
{
//掉落后有消除,执行消除
if
(
this
.
threeMatch
())
{
this
.
eliminate
()
return
}
//鸡蛋的操作,无鸡蛋,或鸡蛋无小鸡 直接执行回调,
//有小鸡飞出要走threeMatch,有eliminate,没有直接走回调
//鸡蛋的ai操作
AiControl
.
ins
.
eggMotion
(
this
,
()
=>
{
//如果早已通关,正在结算
if
(
this
.
hasPassed
)
{
...
...
@@ -1652,12 +1670,9 @@ export default class MainScene extends Scene {
// console.log(this.hasPassed)
//如果已达目标
if
(
this
.
hasPassed
)
{
//通关就不允许退出按钮
this
.
quitBtn
.
touchEnabled
=
false
;
//连消基数为1
this
.
commonContinuityTimes
=
1
;
this
.
effectContinuityTimes
=
1
;
if
(
movieClips
[
"bonusTime"
])
{
this
.
addChild
(
movieClips
[
"bonusTime"
])
movieClips
[
"bonusTime"
].
gotoAndPlay
(
1
,
true
)
...
...
@@ -1719,9 +1734,6 @@ export default class MainScene extends Scene {
}
})
})
});
},
200
)
}
}
/**
* 特效元素的组合效果
...
...
egret/src/something/chapters/Chapter1.ts
View file @
40121cb0
This diff is collapsed.
Click to expand it.
egret/src/something/chapters/Chapter2.ts
View file @
40121cb0
...
...
@@ -8,31 +8,255 @@ import { ElementType } from "../enum/ElementType";
export
const
Chapters2
:
ChapterData
[]
=
[
//21
{
baseElementTypes
:
[
0
,
1
,
2
,
4
],
bubbleProbability
:
0
,
stepCount
:
30
,
passTarget
:
{
type
:
PassType
.
ELEMENT_TARGET
,
elements
:
[
{
type
:
ElementType
.
ICE
,
count
:
56
},
]
},
starScores
:
[
4000
,
8000
,
12000
],
map
:
{
lattices
:
[
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
],
elements
:
[
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
2
,
1
,
1
,
1
,
1
,
1
,
2
,
0
,
0
,
2
,
1
,
1
,
1
,
1
,
1
,
2
,
0
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
0
,
0
,
2
,
2
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
2
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
],
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
,
],
generateLats
:
[
{
index
:
1
,
type
:
[
0
],
cus
:
[]
},
{
index
:
2
,
type
:
[
0
],
cus
:
[]
},
{
index
:
3
,
type
:
[
0
],
cus
:
[]
},
{
index
:
4
,
type
:
[
0
],
cus
:
[]
},
{
index
:
5
,
type
:
[
0
],
cus
:
[]
},
{
index
:
6
,
type
:
[
0
],
cus
:
[]
},
{
index
:
7
,
type
:
[
0
],
cus
:
[]
},
],
},
},
//22
{
baseElementTypes
:
[
0
,
1
,
2
,
3
],
bubbleProbability
:
0
,
stepCount
:
30
,
passTarget
:
{
type
:
PassType
.
ELEMENT_TARGET
,
elements
:
[
{
type
:
ElementType
.
ROCK
,
count
:
34
},
{
type
:
ElementType
.
CHICKEN
,
count
:
50
},
]
},
starScores
:
[
4000
,
8000
,
12000
],
map
:
{
lattices
:
[
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
],
elements
:
[
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
2
,
2
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
2
,
2
],
baseElements
:
[
0
,
0
,
31
,
0
,
24
,
0
,
31
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
20
,
31
,
20
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
20
,
0
,
0
,
0
,
0
,
2
,
2
,
30
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
30
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
30
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
30
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
30
,
2
,
2
],
// generateLats: ,
connectedLats
:
[],
generateLats
:
[
{
index
:
2
,
type
:
[
0
],
cus
:
[]
},
{
index
:
4
,
type
:
[
0
],
cus
:
[]
},
{
index
:
6
,
type
:
[
0
],
cus
:
[]
},
{
index
:
36
,
type
:
[
0
],
cus
:
[]
},
{
index
:
37
,
type
:
[
0
],
cus
:
[]
},
{
index
:
38
,
type
:
[
0
],
cus
:
[]
},
{
index
:
39
,
type
:
[
0
],
cus
:
[]
},
{
index
:
41
,
type
:
[
0
],
cus
:
[]
},
{
index
:
42
,
type
:
[
0
],
cus
:
[]
},
{
index
:
43
,
type
:
[
0
],
cus
:
[]
},
{
index
:
44
,
type
:
[
0
],
cus
:
[]
},
],
connectedLats
:
[[
2
,
21
],
[
4
,
22
],
[
6
,
23
]]
},
},
//23
{
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
22
,
passTarget
:
{
type
:
PassType
.
ELEMENT_TARGET
,
elements
:
[
{
type
:
ElementType
.
LOLLIPOP
,
count
:
12
},
]
},
starScores
:
[
4000
,
8000
,
12000
],
map
:
{
lattices
:
[
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
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
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
],
elements
:
[
0
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
0
,
0
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
0
,
0
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
0
,
0
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
0
,
0
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
0
,
0
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
],
baseElements
:
[
0
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
0
,
0
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
0
,
0
,
10
,
2
,
30
,
2
,
20
,
2
,
10
,
0
,
0
,
30
,
2
,
30
,
2
,
20
,
2
,
10
,
0
,
0
,
20
,
2
,
20
,
2
,
10
,
2
,
30
,
0
,
0
,
10
,
2
,
20
,
2
,
10
,
2
,
20
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
40
,
40
,
50
,
40
,
50
,
40
,
50
,
40
,
40
,
0
,
50
,
40
,
50
,
40
,
50
,
40
,
50
,
0
,
],
generateLats
:
[
{
index
:
2
,
type
:
[
0
],
cus
:
[]
},
{
index
:
4
,
type
:
[
0
],
cus
:
[]
},
{
index
:
6
,
type
:
[
0
],
cus
:
[]
},
{
index
:
63
,
type
:
[
0
],
cus
:
[]
},
{
index
:
64
,
type
:
[
0
],
cus
:
[]
},
{
index
:
65
,
type
:
[
0
],
cus
:
[]
},
{
index
:
66
,
type
:
[
0
],
cus
:
[]
},
{
index
:
67
,
type
:
[
0
],
cus
:
[]
},
{
index
:
68
,
type
:
[
0
],
cus
:
[]
},
{
index
:
69
,
type
:
[
0
],
cus
:
[]
},
{
index
:
70
,
type
:
[
0
],
cus
:
[]
},
{
index
:
71
,
type
:
[
0
],
cus
:
[]
},
],
recycles
:
[
46
,
47
,
48
,
49
,
50
,
51
,
52
]
},
},
//24
{
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
effectInitProbability
:
0.1
,
stepCount
:
30
,
bubbleProbability
:
0
,
stepCount
:
27
,
passTarget
:
{
type
:
PassType
.
SCORE_TARGET
,
score
:
6000
,
type
:
PassType
.
ELEMENT_TARGET
,
elements
:
[
{
type
:
ElementType
.
ICE
,
count
:
31
},
]
},
starScores
:
[
4000
,
8000
,
12000
],
map
:
{
lattices
:
[
2
,
0
,
2
,
2
,
1
,
0
,
3
,
3
,
3
,
2
,
0
,
0
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
],
elements
:
[
1
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
1
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
0
,
2
,
0
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
],
baseElements
:
[
11
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
23
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
0
,
2
,
0
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
],
generateLats
:
[
{
index
:
0
,
type
:
[
0
],
cus
:
[]
},
{
index
:
2
,
type
:
[
0
],
cus
:
[
33
]
},
{
index
:
3
,
type
:
[
0
],
cus
:
[
21
]
},
{
index
:
4
,
type
:
[
0
],
cus
:
[]
},
],
connectedLats
:
[[
2
,
29
],
[
3
,
30
],
[
4
,
31
],
[
74
,
6
],
[
75
,
7
],
[
76
,
8
]]
},
starScores
:
[
2000
,
4000
,
6000
]
},
]
\ No newline at end of file
egret/src/something/chapters/getChapter.ts
View file @
40121cb0
...
...
@@ -5,7 +5,7 @@ import { ChapterData } from "../interface/ChapterData";
//所有的关卡
const
chapters
:
ChapterData
[]
=
[].
concat
(
Chapters1
,
//
Chapters2,
Chapters2
,
)
/**
* 获取关卡数据,返回关卡数据
...
...
egret/src/something/interface/ChapterData.ts
View file @
40121cb0
...
...
@@ -4,6 +4,8 @@ import { ElementType } from "../enum/ElementType";
/**
* 关卡数据接口
* ,,注意有些带数组的数据,避免被修改,需要用slice克隆操作
* 比如基础元素类型,定制掉落数组
*/
export
interface
ChapterData
{
/**
...
...
@@ -12,12 +14,13 @@ export interface ChapterData {
map
:
MapData
;
/**
* 基础元素数量3-5,种类是否随机
* 基础类型和ElementType一致 0到4
*/
baseElementTypes
:
ElementType
[];
/**
*
初始特效生成几率5-20%
*
气泡生成概率0到1
*/
effectInitProbability
:
number
;
bubbleProbability
?
:
number
;
/**
* 总步数
*/
...
...
egret/src/something/interface/MapData.ts
View file @
40121cb0
...
...
@@ -56,7 +56,7 @@ export interface MapData {
/**
* 棒棒糖回收口
*
*
格子索引
*/
recycles
?:
number
[];
}
\ No newline at end of file
egret/src/something/logic/AiControl.ts
View file @
40121cb0
...
...
@@ -9,6 +9,7 @@ import { ChickenEgg } from "../class/ChickenEgg";
import
{
HatchAni
}
from
"../anis/HatchAni"
;
import
{
PieceToEggAni
}
from
"../anis/PieceToEggAni"
;
import
{
StateType
}
from
"../enum/StateType"
;
import
{
BubbleAni
}
from
"../anis/BubbleAni"
;
//孵鸡的数量
const
chickenNum
:
number
=
4
...
...
@@ -38,7 +39,7 @@ export class AiControl {
/**
* 用于判断格子中
* 是否有果冻,
* 是否有鸡蛋,
* 是否有鸡蛋,
所有带鸡蛋的格子的索引
* 是否有毛球,
* 是否有变色气泡,
* 必须在初始化元素后执行,每关进入游戏都会初始化
...
...
@@ -223,9 +224,12 @@ export class AiControl {
indexs
.
push
(
i
);
}
}
//没有气泡,直接回调,
if
(
!
indexs
.
length
)
{
//标记无气泡
this
.
hasBubble
=
false
;
callback
();
return
}
let
count
=
0
;
let
countAll
=
indexs
.
length
;
...
...
@@ -234,16 +238,26 @@ export class AiControl {
let
index
=
indexs
[
a
];
let
lat
=
thisObj
.
lattices
[
index
];
let
ele
=
lat
.
element
;
let
fromType
=
ele
.
type
;
//计算type
let
type
:
ElementType
=
1
;
//直接重置类型,为了后续计算,但是要隐藏,待动画播放完显示
ele
.
resetType
(
type
);
ele
.
visible
=
false
;
///重写
ele
.
getState
(
StateType
.
BUBBLE
).
play
(
type
,
()
=>
{
//播完重置类型
ele
.
resetType
(
type
)
//变色动画
let
bubbleAni
:
BubbleAni
=
Pool
.
takeOut
(
RecoverName
.
JELLYSPREAD_ANI
)
if
(
!
bubbleAni
)
{
bubbleAni
=
new
BubbleAni
()
}
//位置信息
var
p
=
Tool
.
getPositionByIndex
(
index
);
bubbleAni
.
x
=
p
[
0
];
bubbleAni
.
y
=
p
[
1
];
thisObj
.
addChild
(
bubbleAni
);
//播放动画
bubbleAni
.
play
(
fromType
,
type
,
()
=>
{
//显示
ele
.
visible
=
true
;
count
++
;
if
(
count
==
countAll
)
{
callback
();
...
...
@@ -339,6 +353,8 @@ function judgeSpread(index: number, lattices: Lattice[]): number {
return
null
}
// function getBubble
...
...
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