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
7add61de
Commit
7add61de
authored
May 06, 2020
by
zjz1994
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
草地暂存
parent
5de9a8d7
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
260 additions
and
26 deletions
+260
-26
MainScene.ts
egret/src/mainScene/MainScene.ts
+230
-22
doFishAI.ts
egret/src/mainScene/doFishAI.ts
+18
-3
Tool.ts
egret/src/something/Tool.ts
+11
-0
Chapter27.ts
egret/src/something/chapters/Chapter27.ts
+1
-1
No files found.
egret/src/mainScene/MainScene.ts
View file @
7add61de
...
@@ -250,7 +250,6 @@ export default class MainScene extends Scene {
...
@@ -250,7 +250,6 @@ export default class MainScene extends Scene {
elementContainer
:
egret
.
DisplayObjectContainer
;
elementContainer
:
egret
.
DisplayObjectContainer
;
//虫洞层
//虫洞层
wormholeContainer
:
egret
.
DisplayObjectContainer
;
wormholeContainer
:
egret
.
DisplayObjectContainer
;
mapbotContainer
:
egret
.
DisplayObjectContainer
;
//流沙提出来,解决流沙抖动问题
//流沙提出来,解决流沙抖动问题
mapupContainer
:
egret
.
DisplayObjectContainer
;
mapupContainer
:
egret
.
DisplayObjectContainer
;
//选中框
//选中框
...
@@ -430,9 +429,6 @@ export default class MainScene extends Scene {
...
@@ -430,9 +429,6 @@ export default class MainScene extends Scene {
this
.
wormholeContainer
=
new
egret
.
DisplayObjectContainer
();
this
.
wormholeContainer
=
new
egret
.
DisplayObjectContainer
();
this
.
addChild
(
this
.
wormholeContainer
);
this
.
addChild
(
this
.
wormholeContainer
);
//底部草坪
this
.
mapbotContainer
=
new
egret
.
DisplayObjectContainer
();
this
.
addChild
(
this
.
mapbotContainer
);
//修改流沙的问题
//修改流沙的问题
this
.
mapupContainer
=
new
egret
.
DisplayObjectContainer
();
this
.
mapupContainer
=
new
egret
.
DisplayObjectContainer
();
this
.
addChild
(
this
.
mapupContainer
);
this
.
addChild
(
this
.
mapupContainer
);
...
@@ -491,7 +487,6 @@ export default class MainScene extends Scene {
...
@@ -491,7 +487,6 @@ export default class MainScene extends Scene {
this
.
mapContainer
.
removeChildren
();
this
.
mapContainer
.
removeChildren
();
this
.
mapbotContainer
.
removeChildren
();
this
.
mapupContainer
.
removeChildren
();
this
.
mapupContainer
.
removeChildren
();
this
.
elementContainer
.
removeChildren
();
this
.
elementContainer
.
removeChildren
();
this
.
effectContainer
.
removeChildren
();
this
.
effectContainer
.
removeChildren
();
...
@@ -799,7 +794,7 @@ export default class MainScene extends Scene {
...
@@ -799,7 +794,7 @@ export default class MainScene extends Scene {
}
}
}
}
}
}
//该遍历之后尽量简化下
todo
//该遍历之后尽量简化下
getCannoByBianhao
(
cannoidx
:
number
):
Element
{
getCannoByBianhao
(
cannoidx
:
number
):
Element
{
var
canno
:
Element
;
var
canno
:
Element
;
// console.log("获取大炮",cannoidx,this.cannoidxArr);
// console.log("获取大炮",cannoidx,this.cannoidxArr);
...
@@ -1938,7 +1933,7 @@ export default class MainScene extends Scene {
...
@@ -1938,7 +1933,7 @@ export default class MainScene extends Scene {
// }
// }
// }
// }
var
grassArr
=
new
Array
();
var
grassArr
=
new
Array
();
var
canturgrass
=
Tool
.
judgeTurfing
(
this
.
lattices
[
index
]
);
var
canturgrass
=
this
.
judgeTurfing
(
index
);
//新增石头阻挡
//新增石头阻挡
var
elimitarr
=
this
.
getEliPassCannoStone
(
rc
[
0
],
rc
[
1
]);
var
elimitarr
=
this
.
getEliPassCannoStone
(
rc
[
0
],
rc
[
1
]);
for
(
var
j
=
0
;
j
<
elimitarr
.
length
;
j
++
){
for
(
var
j
=
0
;
j
<
elimitarr
.
length
;
j
++
){
...
@@ -1958,6 +1953,13 @@ export default class MainScene extends Scene {
...
@@ -1958,6 +1953,13 @@ export default class MainScene extends Scene {
}
}
}
}
}
}
//特效铺草把炮台和猩猩加进去
var
turfCp
=
new
Array
();
if
(
canturgrass
){
this
.
turfEliPassCp
(
rc
[
0
],
rc
[
1
],
turfCp
);
}
//新大炮充能
//新大炮充能
var
pcannostatArr
=
new
Array
();
var
pcannostatArr
=
new
Array
();
for
(
var
np
=
0
;
np
<
this
.
cannonums
;
np
++
){
for
(
var
np
=
0
;
np
<
this
.
cannonums
;
np
++
){
...
@@ -1982,12 +1984,16 @@ export default class MainScene extends Scene {
...
@@ -1982,12 +1984,16 @@ export default class MainScene extends Scene {
//特效消除猩猩
//特效消除猩猩
this
.
checkPongoHVEle
(
rc
[
0
],
rc
[
1
],
"hor"
);
this
.
checkPongoHVEle
(
rc
[
0
],
rc
[
1
],
"hor"
);
this
.
checkPongoHVEle
(
rc
[
0
],
rc
[
1
],
"vir"
);
this
.
checkPongoHVEle
(
rc
[
0
],
rc
[
1
],
"vir"
);
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
initOneElmtTag
();
if
(
grassArr
.
length
>
0
){
if
(
grassArr
.
length
>
0
){
this
.
changeGroGrass
(
grassArr
);
this
.
changeGroGrass
(
grassArr
);
}
}
this
.
initOneElmtTag
();
if
(
turfCp
.
length
>
0
){
this
.
changeGroGrassCp
(
turfCp
);
}
this
.
eliminate
(
pcannostatArr
);
this
.
eliminate
(
pcannostatArr
);
},
200
)
},
200
)
break
;
break
;
...
@@ -2111,6 +2117,7 @@ export default class MainScene extends Scene {
...
@@ -2111,6 +2117,7 @@ export default class MainScene extends Scene {
elimitarr
.
push
(...
elimitarrver
);
elimitarr
.
push
(...
elimitarrver
);
return
elimitarr
;
return
elimitarr
;
}
}
mouseDownE
(
e
:
egret
.
TextEvent
)
{
mouseDownE
(
e
:
egret
.
TextEvent
)
{
this
.
wormHolePromise
=
new
Array
();
this
.
wormHolePromise
=
new
Array
();
...
@@ -3443,6 +3450,7 @@ export default class MainScene extends Scene {
...
@@ -3443,6 +3450,7 @@ export default class MainScene extends Scene {
//炮台上有草坪的处理
//炮台上有草坪的处理
var
grassArr
=
new
Array
();
var
grassArr
=
new
Array
();
var
canturgrass
=
false
;
var
canturgrass
=
false
;
var
turfCp
=
new
Array
();
if
(
this
.
lattices
[
canno
.
index
].
grass
){
if
(
this
.
lattices
[
canno
.
index
].
grass
){
canturgrass
=
true
;
canturgrass
=
true
;
}
}
...
@@ -3464,6 +3472,13 @@ export default class MainScene extends Scene {
...
@@ -3464,6 +3472,13 @@ export default class MainScene extends Scene {
}
}
}
}
if
(
canturgrass
){
if
(
canturgrass
){
if
(
lat
&&
lat
.
element
){
if
(
lat
.
element
.
type
==
ElementType
.
CANNO
&&!
lat
.
grass
){
turfCp
.
push
(
iemitidx
);
}
else
if
(
lat
.
element
.
type
==
ElementType
.
Pongo
&&!
lat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
lat
.
grass
){
turfCp
.
push
(
iemitidx
);
}
}
if
(
Tool
.
judgeTurfto
(
lat
)){
if
(
Tool
.
judgeTurfto
(
lat
)){
grassArr
.
push
(
jemitidx
);
grassArr
.
push
(
jemitidx
);
}
else
{
}
else
{
...
@@ -3486,6 +3501,9 @@ export default class MainScene extends Scene {
...
@@ -3486,6 +3501,9 @@ export default class MainScene extends Scene {
if
(
grassArr
.
length
>
0
){
if
(
grassArr
.
length
>
0
){
this
.
changeGroGrass
(
grassArr
);
this
.
changeGroGrass
(
grassArr
);
}
}
if
(
turfCp
.
length
>
0
){
this
.
changeGroGrassCp
(
turfCp
);
}
this
.
eliminate
();
this
.
eliminate
();
for
(
var
i
=
0
;
i
<
this
.
readyCannoArr
.
length
;
i
++
){
for
(
var
i
=
0
;
i
<
this
.
readyCannoArr
.
length
;
i
++
){
var
preadyCannoIdx
=
this
.
readyCannoArr
[
i
];
var
preadyCannoIdx
=
this
.
readyCannoArr
[
i
];
...
@@ -3645,7 +3663,9 @@ export default class MainScene extends Scene {
...
@@ -3645,7 +3663,9 @@ export default class MainScene extends Scene {
//特效铺草坪
//特效铺草坪
var
grassArr
=
new
Array
();
var
grassArr
=
new
Array
();
var
canturgrass
=
Tool
.
judgeTurfing
(
lat1
)
||
Tool
.
judgeTurfing
(
lat2
);
var
turfCp
=
new
Array
();
var
canturgrass
=
this
.
judgeTurfing
(
one
)
||
this
.
judgeTurfing
(
two
);
if
(
canturgrass
){
if
(
canturgrass
){
if
(
Tool
.
judgeTurfto
(
lat1
)){
if
(
Tool
.
judgeTurfto
(
lat1
)){
grassArr
.
push
(
one
);
grassArr
.
push
(
one
);
...
@@ -3685,6 +3705,13 @@ export default class MainScene extends Scene {
...
@@ -3685,6 +3705,13 @@ export default class MainScene extends Scene {
//把所有元素加入
//把所有元素加入
for
(
var
i
=
0
;
i
<
this
.
lattices
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
this
.
lattices
.
length
;
i
++
)
{
var
lat
=
this
.
lattices
[
i
];
var
lat
=
this
.
lattices
[
i
];
if
(
canturgrass
&&
lat
&&
lat
.
element
){
if
(
lat
.
element
.
type
==
ElementType
.
CANNO
&&!
lat
.
grass
){
turfCp
.
push
(
i
);
}
else
if
(
lat
.
element
.
type
==
ElementType
.
Pongo
&&!
lat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
lat
.
grass
){
turfCp
.
push
(
i
);
}
}
if
(
Tool
.
judgeEliminate
(
lat
))
{
if
(
Tool
.
judgeEliminate
(
lat
))
{
if
(
canturgrass
&&
Tool
.
judgeTurfto
(
lat
)){
if
(
canturgrass
&&
Tool
.
judgeTurfto
(
lat
)){
grassArr
.
push
(
i
);
grassArr
.
push
(
i
);
...
@@ -3824,6 +3851,9 @@ export default class MainScene extends Scene {
...
@@ -3824,6 +3851,9 @@ export default class MainScene extends Scene {
}
}
}
}
}
}
if
(
canturgrass
){
this
.
turfEliPassCp
(
lat1
.
row
,
lat1
.
column
,
turfCp
);
}
//新大炮充能
//新大炮充能
for
(
var
np
=
0
;
np
<
pcannostatArr
.
length
;
np
++
){
for
(
var
np
=
0
;
np
<
pcannostatArr
.
length
;
np
++
){
var
npdata
=
pcannostatArr
[
np
];
var
npdata
=
pcannostatArr
[
np
];
...
@@ -3895,6 +3925,9 @@ export default class MainScene extends Scene {
...
@@ -3895,6 +3925,9 @@ export default class MainScene extends Scene {
var
prcrow
=
prcdata
.
row
;
var
prcrow
=
prcdata
.
row
;
var
prccol
=
prcdata
.
col
;
var
prccol
=
prcdata
.
col
;
if
(
prcrow
>=
0
&&
prcrow
<
Tool
.
rowNum
&&
prccol
>=
0
&&
prccol
<
Tool
.
colNum
){
if
(
prcrow
>=
0
&&
prcrow
<
Tool
.
rowNum
&&
prccol
>=
0
&&
prccol
<
Tool
.
colNum
){
if
(
canturgrass
){
this
.
turfEliHorPassCp
(
prcrow
,
prccol
,
turfCp
);
}
this
.
checkPongoHVEle
(
prcrow
,
prccol
,
"hor"
);
this
.
checkPongoHVEle
(
prcrow
,
prccol
,
"hor"
);
for
(
var
np
=
0
;
np
<
pcannostatArr
.
length
;
np
++
){
for
(
var
np
=
0
;
np
<
pcannostatArr
.
length
;
np
++
){
...
@@ -3911,6 +3944,10 @@ export default class MainScene extends Scene {
...
@@ -3911,6 +3944,10 @@ export default class MainScene extends Scene {
var
prcrow
=
prcdata
.
row
;
var
prcrow
=
prcdata
.
row
;
var
prccol
=
prcdata
.
col
;
var
prccol
=
prcdata
.
col
;
if
(
prcrow
>=
0
&&
prcrow
<
Tool
.
rowNum
&&
prccol
>=
0
&&
prccol
<
Tool
.
colNum
){
if
(
prcrow
>=
0
&&
prcrow
<
Tool
.
rowNum
&&
prccol
>=
0
&&
prccol
<
Tool
.
colNum
){
if
(
canturgrass
){
this
.
turfEliVerPassCp
(
prcrow
,
prccol
,
turfCp
);
}
this
.
checkPongoHVEle
(
prcrow
,
prccol
,
"vir"
);
this
.
checkPongoHVEle
(
prcrow
,
prccol
,
"vir"
);
for
(
var
np
=
0
;
np
<
pcannostatArr
.
length
;
np
++
){
for
(
var
np
=
0
;
np
<
pcannostatArr
.
length
;
np
++
){
...
@@ -3973,6 +4010,15 @@ export default class MainScene extends Scene {
...
@@ -3973,6 +4010,15 @@ export default class MainScene extends Scene {
//添加消除元素two,5*5,需要优化
//添加消除元素two,5*5,需要优化
for
(
var
i
=
0
;
i
<
this
.
lattices
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
this
.
lattices
.
length
;
i
++
)
{
var
lat
=
this
.
lattices
[
i
];
var
lat
=
this
.
lattices
[
i
];
if
(
canturgrass
&&
(
Math
.
abs
(
lat
.
row
-
lat1
.
row
)
<
3
&&
Math
.
abs
(
lat
.
column
-
lat1
.
column
)
<
3
)){
if
(
lat
&&
lat
.
element
){
if
(
lat
.
element
.
type
==
ElementType
.
CANNO
&&!
lat
.
grass
){
turfCp
.
push
(
i
);
}
else
if
(
lat
.
element
.
type
==
ElementType
.
Pongo
&&!
lat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
lat
.
grass
){
turfCp
.
push
(
i
);
}
}
}
if
(
Tool
.
judgeEliminate
(
lat
)
&&
if
(
Tool
.
judgeEliminate
(
lat
)
&&
(
Math
.
abs
(
lat
.
row
-
lat1
.
row
)
<
3
&&
Math
.
abs
(
lat
.
column
-
lat1
.
column
)
<
3
))
{
(
Math
.
abs
(
lat
.
row
-
lat1
.
row
)
<
3
&&
Math
.
abs
(
lat
.
column
-
lat1
.
column
)
<
3
))
{
...
@@ -3992,9 +4038,10 @@ export default class MainScene extends Scene {
...
@@ -3992,9 +4038,10 @@ export default class MainScene extends Scene {
}
}
if
(
grassArr
.
length
>
0
){
if
(
grassArr
.
length
>
0
){
setTimeout
(()
=>
{
this
.
changeGroGrass
(
grassArr
);
this
.
changeGroGrass
(
grassArr
);
}
},
200
);
if
(
turfCp
.
length
>
0
){
this
.
changeGroGrassCp
(
turfCp
);
}
}
}
}
...
@@ -4227,8 +4274,9 @@ export default class MainScene extends Scene {
...
@@ -4227,8 +4274,9 @@ export default class MainScene extends Scene {
let
ele
=
lat
.
element
;
let
ele
=
lat
.
element
;
if
(
!
ele
)
continue
;
if
(
!
ele
)
continue
;
var
p
=
Tool
.
getPositionByIndex
(
index
);
var
p
=
Tool
.
getPositionByIndex
(
index
);
var
canturgrass
=
Tool
.
judgeTurfing
(
lat
);
var
canturgrass
=
this
.
judgeTurfing
(
index
);
var
grassArr
=
new
Array
();
var
grassArr
=
new
Array
();
var
turfCp
=
new
Array
();
switch
(
ele
.
effectType
)
{
switch
(
ele
.
effectType
)
{
case
EffectType
.
MAGICLION
:
case
EffectType
.
MAGICLION
:
if
(
sounds
.
indexOf
(
SoundType
.
magic
)
==
-
1
)
sounds
.
push
(
SoundType
.
magic
)
if
(
sounds
.
indexOf
(
SoundType
.
magic
)
==
-
1
)
sounds
.
push
(
SoundType
.
magic
)
...
@@ -4296,6 +4344,15 @@ export default class MainScene extends Scene {
...
@@ -4296,6 +4344,15 @@ export default class MainScene extends Scene {
this
.
recoverEle
(
index
);
this
.
recoverEle
(
index
);
//3*3,需要优化
//3*3,需要优化
for
(
var
i
=
0
;
i
<
this
.
lattices
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
this
.
lattices
.
length
;
i
++
)
{
if
(
canturgrass
&&
Math
.
abs
(
this
.
lattices
[
i
].
row
-
lat
.
row
)
<
2
&&
Math
.
abs
(
this
.
lattices
[
i
].
column
-
lat
.
column
)
<
2
){
if
(
lat
&&
lat
.
element
){
if
(
lat
.
element
.
type
==
ElementType
.
CANNO
&&!
lat
.
grass
){
turfCp
.
push
(
i
);
}
else
if
(
lat
.
element
.
type
==
ElementType
.
Pongo
&&!
lat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
lat
.
grass
){
turfCp
.
push
(
i
);
}
}
}
if
(
Tool
.
judgeEliminate
(
this
.
lattices
[
i
])
&&
if
(
Tool
.
judgeEliminate
(
this
.
lattices
[
i
])
&&
(
Math
.
abs
(
this
.
lattices
[
i
].
row
-
lat
.
row
)
<
2
&&
Math
.
abs
(
this
.
lattices
[
i
].
column
-
lat
.
column
)
<
2
))
{
(
Math
.
abs
(
this
.
lattices
[
i
].
row
-
lat
.
row
)
<
2
&&
Math
.
abs
(
this
.
lattices
[
i
].
column
-
lat
.
column
)
<
2
))
{
if
(
this
.
eliminatedElements
.
indexOf
(
i
)
<
0
&&
effectIndexs
.
indexOf
(
i
)
<
0
)
{
if
(
this
.
eliminatedElements
.
indexOf
(
i
)
<
0
&&
effectIndexs
.
indexOf
(
i
)
<
0
)
{
...
@@ -4361,6 +4418,10 @@ export default class MainScene extends Scene {
...
@@ -4361,6 +4418,10 @@ export default class MainScene extends Scene {
}
}
}
}
}
}
if
(
canturgrass
){
this
.
turfEliHorPassCp
(
row
,
lat
.
column
,
turfCp
);
}
//新大炮充能
//新大炮充能
for
(
var
np
=
0
;
np
<
pcannostatArr
.
length
;
np
++
){
for
(
var
np
=
0
;
np
<
pcannostatArr
.
length
;
np
++
){
var
npdata
=
pcannostatArr
[
np
];
var
npdata
=
pcannostatArr
[
np
];
...
@@ -4420,6 +4481,10 @@ export default class MainScene extends Scene {
...
@@ -4420,6 +4481,10 @@ export default class MainScene extends Scene {
}
}
}
}
}
}
if
(
canturgrass
){
this
.
turfEliVerPassCp
(
lat
.
row
,
col
,
turfCp
);
}
//新大炮充能
//新大炮充能
for
(
var
np
=
0
;
np
<
pcannostatArr
.
length
;
np
++
){
for
(
var
np
=
0
;
np
<
pcannostatArr
.
length
;
np
++
){
var
npdata
=
pcannostatArr
[
np
];
var
npdata
=
pcannostatArr
[
np
];
...
@@ -4434,8 +4499,12 @@ export default class MainScene extends Scene {
...
@@ -4434,8 +4499,12 @@ export default class MainScene extends Scene {
break
;
break
;
}
}
if
(
grassArr
.
length
>
0
){
this
.
changeGroGrass
(
grassArr
);
this
.
changeGroGrass
(
grassArr
);
}
if
(
turfCp
.
length
>
0
){
this
.
changeGroGrassCp
(
turfCp
);
}
}
}
//播放音乐
//播放音乐
for
(
var
a
=
0
;
a
<
sounds
.
length
;
a
++
)
{
for
(
var
a
=
0
;
a
<
sounds
.
length
;
a
++
)
{
...
@@ -5289,12 +5358,42 @@ export default class MainScene extends Scene {
...
@@ -5289,12 +5358,42 @@ export default class MainScene extends Scene {
}
}
/**
/**
* 多猩猩清场
* 多猩猩清场
,猩猩下有草坪,清场铺草坪
*/
*/
pongoClearScene
(){
pongoClearScene
(){
//判断清场猩猩中是否包含草坪
var
canturgrass
=
false
;
var
grassArr
=
new
Array
();
var
turfCp
=
new
Array
();
for
(
var
p
=
0
;
p
<
this
.
freepongoArr
.
length
;
p
++
){
var
itlpongoidx
=
this
.
freepongoArr
[
p
];
var
itrpongoidx
=
itlpongoidx
+
1
;
var
iblpongoidx
=
itlpongoidx
+
Tool
.
colNum
;
var
ibrpongoidx
=
iblpongoidx
+
1
;
canturgrass
=
this
.
judgeTurfing
(
itlpongoidx
)
||
this
.
judgeTurfing
(
itrpongoidx
)
||
this
.
judgeTurfing
(
iblpongoidx
)
||
this
.
judgeTurfing
(
ibrpongoidx
);
if
(
canturgrass
){
break
;
}
}
for
(
var
i
=
0
;
i
<
this
.
lattices
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
this
.
lattices
.
length
;
i
++
)
{
var
lat
=
this
.
lattices
[
i
];
var
lat
=
this
.
lattices
[
i
];
if
(
canturgrass
&&
lat
&&
lat
.
element
){
if
(
lat
.
element
.
type
==
ElementType
.
CANNO
&&!
lat
.
grass
){
turfCp
.
push
(
i
);
}
else
if
(
lat
.
element
.
type
==
ElementType
.
Pongo
&&!
lat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
lat
.
grass
){
turfCp
.
push
(
i
);
}
}
if
(
Tool
.
judgeEliminate
(
lat
))
{
if
(
Tool
.
judgeEliminate
(
lat
))
{
if
(
canturgrass
&&
Tool
.
judgeTurfto
(
this
.
lattices
[
i
])){
grassArr
.
push
(
i
);
}
//本来没必要判断特效组合时是否有重复的消除元素,但是recoverEle里会有判断石头或果冻的加入,造成重复
//本来没必要判断特效组合时是否有重复的消除元素,但是recoverEle里会有判断石头或果冻的加入,造成重复
if
(
this
.
eliminatedElements
.
indexOf
(
i
)
==
-
1
)
this
.
eliminatedElements
.
push
(
i
);
if
(
this
.
eliminatedElements
.
indexOf
(
i
)
==
-
1
)
this
.
eliminatedElements
.
push
(
i
);
if
(
this
.
lattices
[
i
].
element
.
type
==
ElementType
.
FISH
)
{
if
(
this
.
lattices
[
i
].
element
.
type
==
ElementType
.
FISH
)
{
...
@@ -5306,6 +5405,12 @@ export default class MainScene extends Scene {
...
@@ -5306,6 +5405,12 @@ export default class MainScene extends Scene {
}
}
}
}
}
}
if
(
grassArr
.
length
>
0
){
this
.
changeGroGrass
(
grassArr
);
}
if
(
turfCp
.
length
>
0
){
this
.
changeGroGrassCp
(
turfCp
);
}
}
}
getNextIndexs
(
lat0
:
Lattice
){
getNextIndexs
(
lat0
:
Lattice
){
...
@@ -5491,7 +5596,9 @@ export default class MainScene extends Scene {
...
@@ -5491,7 +5596,9 @@ export default class MainScene extends Scene {
if
(
!
this
.
lattices
[
index
]
||
!
this
.
lattices
[
index
].
element
)
return
null
if
(
!
this
.
lattices
[
index
]
||
!
this
.
lattices
[
index
].
element
)
return
null
//先赋值指向
//先赋值指向
let
ele
=
this
.
lattices
[
index
].
element
;
let
ele
=
this
.
lattices
[
index
].
element
;
if
(
this
.
turfingArr
.
indexOf
(
index
)
!=-
1
){
this
.
turfing
(
index
);
}
...
@@ -5870,17 +5977,27 @@ export default class MainScene extends Scene {
...
@@ -5870,17 +5977,27 @@ export default class MainScene extends Scene {
this
.
steps
+=
5
;
this
.
steps
+=
5
;
},
333
)
},
333
)
}
}
}
}
checkTurfing
(
grassArr
:
Array
<
Array
<
number
>>
){
checkTurfing
(
grassArr
:
Array
<
Array
<
number
>>
){
var
turfCp
=
new
Array
();
for
(
let
i
=
0
;
i
<
grassArr
.
length
;
i
++
){
for
(
let
i
=
0
;
i
<
grassArr
.
length
;
i
++
){
let
igrassarr
=
grassArr
[
i
];
let
igrassarr
=
grassArr
[
i
];
let
canturgrass
=
false
;
let
canturgrass
=
false
;
let
needpuarr
=
new
Array
();
let
needpuarr
=
new
Array
();
let
cparr
=
new
Array
();
for
(
let
j
=
0
;
j
<
igrassarr
.
length
;
j
++
){
for
(
let
j
=
0
;
j
<
igrassarr
.
length
;
j
++
){
var
jlat
:
Lattice
=
this
.
lattices
[
igrassarr
[
j
]];
var
jlat
:
Lattice
=
this
.
lattices
[
igrassarr
[
j
]];
if
(
Tool
.
judgeTurfing
(
jlat
)){
if
(
jlat
&&
jlat
.
element
){
if
(
jlat
.
element
.
type
==
ElementType
.
CANNO
&&!
jlat
.
grass
){
cparr
.
push
(
i
);
}
else
if
(
jlat
.
element
.
type
==
ElementType
.
Pongo
&&!
jlat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
jlat
.
grass
){
cparr
.
push
(
i
);
}
}
if
(
this
.
judgeTurfing
(
igrassarr
[
j
])){
canturgrass
=
true
;
canturgrass
=
true
;
}
else
{
}
else
{
if
(
Tool
.
judgeTurfto
(
jlat
)){
if
(
Tool
.
judgeTurfto
(
jlat
)){
...
@@ -5892,19 +6009,36 @@ export default class MainScene extends Scene {
...
@@ -5892,19 +6009,36 @@ export default class MainScene extends Scene {
if
(
canturgrass
&&
needpuarr
.
length
>
0
){
if
(
canturgrass
&&
needpuarr
.
length
>
0
){
this
.
changeGroGrass
(
needpuarr
);
this
.
changeGroGrass
(
needpuarr
);
}
}
if
(
canturgrass
&&
cparr
.
length
>
0
){
turfCp
.
push
(...
cparr
);
}
}
if
(
turfCp
.
length
>
0
){
this
.
changeGroGrassCp
(
turfCp
);
}
}
}
}
changeGroGrass
(
needpuarr
:
Array
<
number
>
){
changeGroGrass
(
needpuarr
:
Array
<
number
>
){
for
(
let
p
=
0
;
p
<
needpuarr
.
length
;
p
++
){
for
(
let
p
=
0
;
p
<
needpuarr
.
length
;
p
++
){
let
pidx
=
needpuarr
[
p
];
let
pidx
=
needpuarr
[
p
];
let
plat
=
this
.
lattices
[
pidx
];
if
(
plat
&&
plat
.
element
){
if
(
this
.
turfingArr
.
indexOf
(
pidx
)
==-
1
){
this
.
turfingArr
.
push
(
pidx
);
}
}
}
}
//炮台,猩猩,特效铺草
changeGroGrassCp
(
arr
:
Array
<
number
>
){
for
(
let
p
=
0
;
p
<
arr
.
length
;
p
++
){
let
pidx
=
arr
[
p
];
this
.
turfing
(
pidx
);
this
.
turfing
(
pidx
);
}
}
}
}
//新增铺草地
//新增铺草地
turfing
(
index
:
number
){
turfing
(
index
:
number
){
var
lat
=
this
.
lattices
[
index
];
var
lat
=
this
.
lattices
[
index
];
if
(
lat
&&
lat
.
element
){
//消除元素铺草坪
if
(
lat
&&
lat
.
element
&&!
lat
.
grass
){
//消除元素铺草坪
//存在冰块和流沙时,草坪铺不上去
//存在冰块和流沙时,草坪铺不上去
// if(lat.ice&&lat.ice.alpha!=0){
// if(lat.ice&&lat.ice.alpha!=0){
// return;
// return;
...
@@ -5921,7 +6055,7 @@ export default class MainScene extends Scene {
...
@@ -5921,7 +6055,7 @@ export default class MainScene extends Scene {
grassDisplay
=
new
Grass
();
grassDisplay
=
new
Grass
();
}
}
lat
.
grass
=
grassDisplay
;
lat
.
grass
=
grassDisplay
;
this
.
map
bot
Container
.
addChild
(
grassDisplay
);
this
.
map
up
Container
.
addChild
(
grassDisplay
);
var
grasspos
=
Tool
.
getPositionByIndex
(
index
);
var
grasspos
=
Tool
.
getPositionByIndex
(
index
);
grassDisplay
.
x
=
grasspos
[
0
];
grassDisplay
.
x
=
grasspos
[
0
];
grassDisplay
.
y
=
grasspos
[
1
];
grassDisplay
.
y
=
grasspos
[
1
];
...
@@ -5936,4 +6070,78 @@ export default class MainScene extends Scene {
...
@@ -5936,4 +6070,78 @@ export default class MainScene extends Scene {
}
}
return
Tool
.
judgeTurfing
(
this
.
lattices
[
idx
]);
return
Tool
.
judgeTurfing
(
this
.
lattices
[
idx
]);
}
}
//特效铺炮台和猩猩
turfEliHorPassCp
(
row
:
number
,
col
:
number
,
turfCp
:
Array
<
number
>
){
//向左
for
(
var
i
=
col
;
i
>=
0
;
i
--
){
var
iemitidx
=
Tool
.
rcToIndex
(
row
,
i
);
var
lat
=
this
.
lattices
[
iemitidx
];
var
iscannoblock
=
Tool
.
judgeIscannoBlock
(
lat
);
if
(
lat
&&
lat
.
element
){
if
(
lat
.
element
.
type
==
ElementType
.
CANNO
&&!
lat
.
grass
){
turfCp
.
push
(
iemitidx
);
}
else
if
(
lat
.
element
.
type
==
ElementType
.
Pongo
&&!
lat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
lat
.
grass
){
turfCp
.
push
(
iemitidx
);
}
}
if
(
iscannoblock
){
break
;
}
}
//向右
for
(
var
i
=
col
;
i
<
Tool
.
colNum
;
i
++
){
var
iemitidx
=
Tool
.
rcToIndex
(
row
,
i
);
var
lat
=
this
.
lattices
[
iemitidx
];
var
iscannoblock
=
Tool
.
judgeIscannoBlock
(
lat
);
if
(
lat
&&
lat
.
element
){
if
(
lat
.
element
.
type
==
ElementType
.
CANNO
&&!
lat
.
grass
){
turfCp
.
push
(
iemitidx
);
}
else
if
(
lat
.
element
.
type
==
ElementType
.
Pongo
&&!
lat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
lat
.
grass
){
turfCp
.
push
(
iemitidx
);
}
}
if
(
iscannoblock
){
break
;
}
}
}
turfEliVerPassCp
(
row
:
number
,
col
:
number
,
turfCp
:
Array
<
number
>
){
//向上
for
(
var
i
=
row
;
i
>=
0
;
i
--
){
var
iemitidx
=
Tool
.
rcToIndex
(
i
,
col
);
var
lat
=
this
.
lattices
[
iemitidx
];
var
iscannoblock
=
Tool
.
judgeIscannoBlock
(
lat
);
if
(
lat
&&
lat
.
element
){
if
(
lat
.
element
.
type
==
ElementType
.
CANNO
&&!
lat
.
grass
){
turfCp
.
push
(
iemitidx
);
}
else
if
(
lat
.
element
.
type
==
ElementType
.
Pongo
&&!
lat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
lat
.
grass
){
turfCp
.
push
(
iemitidx
);
}
}
if
(
iscannoblock
){
break
;
}
}
//向下
for
(
var
i
=
row
;
i
<
Tool
.
rowNum
;
i
++
){
var
iemitidx
=
Tool
.
rcToIndex
(
i
,
col
);
var
lat
=
this
.
lattices
[
iemitidx
];
var
iscannoblock
=
Tool
.
judgeIscannoBlock
(
lat
);
if
(
lat
&&
lat
.
element
){
if
(
lat
.
element
.
type
==
ElementType
.
CANNO
&&!
lat
.
grass
){
turfCp
.
push
(
iemitidx
);
}
else
if
(
lat
.
element
.
type
==
ElementType
.
Pongo
&&!
lat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
lat
.
grass
){
turfCp
.
push
(
iemitidx
);
}
}
if
(
iscannoblock
){
break
;
}
}
}
turfEliPassCp
(
row
:
number
,
col
:
number
,
turfCp
:
Array
<
number
>
){
this
.
turfEliHorPassCp
(
row
,
col
,
turfCp
);
this
.
turfEliVerPassCp
(
row
,
col
,
turfCp
);
}
}
}
\ No newline at end of file
egret/src/mainScene/doFishAI.ts
View file @
7add61de
...
@@ -4,6 +4,7 @@ import wait from "../../libs/new_tc/wait";
...
@@ -4,6 +4,7 @@ import wait from "../../libs/new_tc/wait";
import
{
Tool
}
from
"../something/Tool"
;
import
{
Tool
}
from
"../something/Tool"
;
import
{
Lattice
}
from
"../something/class/Lattice"
;
import
{
Lattice
}
from
"../something/class/Lattice"
;
import
{
RecoverName
}
from
"../something/enum/RecoverName"
;
import
{
RecoverName
}
from
"../something/enum/RecoverName"
;
import
{
StateType
}
from
"../something/enum/StateType"
;
/**
/**
* fish爆炸
* fish爆炸
*/
*/
...
@@ -22,8 +23,9 @@ export default async (thisObj: MainScene) => {
...
@@ -22,8 +23,9 @@ export default async (thisObj: MainScene) => {
for
(
const
index
of
indexs
)
{
for
(
const
index
of
indexs
)
{
const
lat
:
Lattice
=
thisObj
.
lattices
[
index
];
const
lat
:
Lattice
=
thisObj
.
lattices
[
index
];
let
canturgrass
=
Tool
.
judgeTurfing
(
lat
);
let
canturgrass
=
thisObj
.
judgeTurfing
(
index
);
let
grassArr
=
new
Array
();
let
grassArr
=
new
Array
();
var
turfCp
=
new
Array
();
lat
.
element
[
'fish'
].
toExplose
();
lat
.
element
[
'fish'
].
toExplose
();
// wait(1000).then(()=>{
// wait(1000).then(()=>{
const
p
=
Tool
.
getPositionByIndex
(
index
);
const
p
=
Tool
.
getPositionByIndex
(
index
);
...
@@ -31,6 +33,15 @@ export default async (thisObj: MainScene) => {
...
@@ -31,6 +33,15 @@ export default async (thisObj: MainScene) => {
boomAni
.
scaleX
=
boomAni
.
scaleY
=
1
;
boomAni
.
scaleX
=
boomAni
.
scaleY
=
1
;
// });
// });
for
(
var
i
=
0
;
i
<
thisObj
.
lattices
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
thisObj
.
lattices
.
length
;
i
++
)
{
if
(
canturgrass
&&
Math
.
abs
(
thisObj
.
lattices
[
i
].
row
-
lat
.
row
)
<
2
&&
Math
.
abs
(
thisObj
.
lattices
[
i
].
column
-
lat
.
column
)
<
2
){
if
(
lat
&&
lat
.
element
){
if
(
lat
.
element
.
type
==
ElementType
.
CANNO
&&!
lat
.
grass
){
turfCp
.
push
(
i
);
}
else
if
(
lat
.
element
.
type
==
ElementType
.
Pongo
&&!
lat
.
element
.
hasState
(
StateType
.
PongoLockState
)
&&!
lat
.
grass
){
turfCp
.
push
(
i
);
}
}
}
if
(
Tool
.
judgeEliminate
(
thisObj
.
lattices
[
i
])
&&
if
(
Tool
.
judgeEliminate
(
thisObj
.
lattices
[
i
])
&&
(
Math
.
abs
(
thisObj
.
lattices
[
i
].
row
-
lat
.
row
)
<
2
&&
Math
.
abs
(
thisObj
.
lattices
[
i
].
column
-
lat
.
column
)
<
2
))
{
(
Math
.
abs
(
thisObj
.
lattices
[
i
].
row
-
lat
.
row
)
<
2
&&
Math
.
abs
(
thisObj
.
lattices
[
i
].
column
-
lat
.
column
)
<
2
))
{
if
(
thisObj
.
eliminatedElements
.
indexOf
(
thisObj
.
lattices
[
i
].
index
)
<
0
)
{
if
(
thisObj
.
eliminatedElements
.
indexOf
(
thisObj
.
lattices
[
i
].
index
)
<
0
)
{
...
@@ -41,8 +52,12 @@ export default async (thisObj: MainScene) => {
...
@@ -41,8 +52,12 @@ export default async (thisObj: MainScene) => {
}
}
}
}
}
}
if
(
grassArr
.
length
>
0
){
thisObj
.
changeGroGrass
(
grassArr
);
thisObj
.
changeGroGrass
(
grassArr
);
}
if
(
turfCp
.
length
>
0
){
thisObj
.
changeGroGrassCp
(
turfCp
);
}
}
}
await
wait
(
500
);
await
wait
(
500
);
...
...
egret/src/something/Tool.ts
View file @
7add61de
...
@@ -1332,6 +1332,11 @@ export class Tool {
...
@@ -1332,6 +1332,11 @@ export class Tool {
let
ele
=
lat
.
element
;
let
ele
=
lat
.
element
;
let
canChosen
=
this
.
judgeChosen
(
ele
);
let
canChosen
=
this
.
judgeChosen
(
ele
);
if
(
!
canChosen
){
if
(
!
canChosen
){
if
(
ele
.
type
==
ElementType
.
CANNO
){
return
true
;
}
else
if
(
ele
.
type
==
ElementType
.
Pongo
&&!
ele
.
hasState
(
StateType
.
PongoLockState
)){
return
true
;
}
return
false
;
return
false
;
}
}
if
(
!
lat
.
grass
){
if
(
!
lat
.
grass
){
...
@@ -1356,6 +1361,12 @@ export class Tool {
...
@@ -1356,6 +1361,12 @@ export class Tool {
let
ele
=
lat
.
element
;
let
ele
=
lat
.
element
;
let
canChosen
=
this
.
judgeChosen
(
ele
);
let
canChosen
=
this
.
judgeChosen
(
ele
);
if
(
!
canChosen
){
if
(
!
canChosen
){
if
(
ele
.
type
==
ElementType
.
CANNO
){
console
.
log
(
"炮台可以上草坪"
);
return
true
;
}
else
if
(
ele
.
type
==
ElementType
.
Pongo
&&!
ele
.
hasState
(
StateType
.
PongoLockState
)){
return
true
;
}
return
false
;
return
false
;
}
}
if
(
lat
.
grass
){
if
(
lat
.
grass
){
...
...
egret/src/something/chapters/Chapter27.ts
View file @
7add61de
...
@@ -22,7 +22,7 @@ export const Chapters27: ChapterData[] = [
...
@@ -22,7 +22,7 @@ export const Chapters27: ChapterData[] = [
2
,
1
,
2
,
1
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
1
,
2
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
9
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
16
,
2
,
16
,
2
,
1
,
6
,
6
,
6
,
6
,
16
,
2
,
16
,
2
,
1
,
6
,
6
,
6
,
6
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
...
...
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