Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
W
Windbot-408
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
神之吹息
Windbot-408
Commits
7cddc1c9
Commit
7cddc1c9
authored
Oct 07, 2021
by
苍蓝
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
64571ab5
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
228 additions
and
155 deletions
+228
-155
Decks/AI_SaikyoBattleFlag.ydk
Decks/AI_SaikyoBattleFlag.ydk
+4
-4
Dialogs/rd-d.json
Dialogs/rd-d.json
+2
-2
Game/AI/Decks/DragunExecutor.cs
Game/AI/Decks/DragunExecutor.cs
+40
-35
Game/AI/Decks/MathMechExecutor.cs
Game/AI/Decks/MathMechExecutor.cs
+106
-84
Game/AI/Decks/MokeyMokeyExecutor.cs
Game/AI/Decks/MokeyMokeyExecutor.cs
+13
-3
Game/AI/Decks/MokeyMokeyKingExecutor.cs
Game/AI/Decks/MokeyMokeyKingExecutor.cs
+13
-3
Game/AI/Decks/SaikyoBattleFlagExecutor.cs
Game/AI/Decks/SaikyoBattleFlagExecutor.cs
+38
-18
Game/AI/Decks/TheLegendExecutor.cs
Game/AI/Decks/TheLegendExecutor.cs
+12
-6
No files found.
Decks/AI_SaikyoBattleFlag.ydk
View file @
7cddc1c9
#created by ...
#main
1201
83024
120193002
1201
55015
120181011
120181011
120181011
...
...
@@ -10,15 +10,15 @@
120181001
120193002
120193002
120193002
120183002
120183002
120181001
120181001
120155015
120155015
1201
55015
1201
83024
120183024
120183030
120183030
...
...
Dialogs/rd-d.json
View file @
7cddc1c9
...
...
@@ -41,8 +41,8 @@
"facedownmonstername"
:
"员工"
,
"activate"
:
[
"我发动{0}。"
,
"我使用{0}的
贿赂
效果。"
,
"我使用{0}
的贿赂力量
。"
"我使用{0}的效果。"
,
"我使用{0}
偷偷贿赂
。"
],
"summon"
:
[
"召唤{0}。他们都是洋溢着梦想与希望,有着美好前程的宝贵人才。"
,
...
...
Game/AI/Decks/DragunExecutor.cs
View file @
7cddc1c9
...
...
@@ -31,6 +31,7 @@ namespace WindBot.Game.AI.Decks
public
const
int
落穴
=
120150019
;
public
const
int
圣防
=
120198003
;
public
const
int
炸甲
=
120194005
;
public
const
int
暗黑释放
=
120105013
;
}
public
DragunExecutor
(
GameAI
ai
,
Duel
duel
)
...
...
@@ -43,22 +44,21 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
机器栗子
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
连击龙
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
斗牛士
,
斗牛士
Effect
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
青眼白龙
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
破坏之剑士
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
连击龙
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
青眼白龙
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
破坏之剑士
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
连击龙
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
人造人
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
机器栗子
,
栗子
summon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
机器栗子
,
栗子
summon
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
机器栗子
,
栗子
summon2
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
死苏
,
死苏
effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
死苏
,
死苏
effect2
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
死苏
,
死苏
effect2
);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
斗牛士
,
Monsterset
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
斗牛士
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
凤凰龙
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
对死者的供奉
,
死供
Effect
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
成金恐龙王
,
成金恐龙王
Summon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
成金恐龙王
,
成金恐龙王
Summon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
血腥魔兽人
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
凤凰龙
,
凤凰龙
summon
);
...
...
@@ -71,18 +71,18 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
SpellSet
,
CardId
.
对死者的供奉
);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
圣精灵
);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
凤凰龙
);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
机器栗子
);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
成金恐龙王
);
AddExecutor
(
ExecutorType
.
Activate
,
DefaultDontChainMyself
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
青眼白龙
,
圣防
Repos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
破坏之剑士
,
圣防
Repos
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Repos
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
SpellSet
);
//AddExecutor(ExecutorType.Activate, CardId.sionmax, sionmaxEffect);
}
...
...
@@ -150,10 +150,10 @@ namespace WindBot.Game.AI.Decks
return
true
;
}
else
if
(
Bot
.
HasInHand
(
new
[]
{
CardId
.
连击龙
,
CardId
.
青眼白龙
,
CardId
.
人造人
,
CardId
.
人造人
,
CardId
.
破坏之剑士
,
}))
...
...
@@ -162,13 +162,13 @@ namespace WindBot.Game.AI.Decks
}
private
bool
落穴
Effect
()
{
foreach
(
ClientCard
n
in
Duel
.
LastSummonedCards
)
{
if
(
n
.
Attack
>=
1900
)
return
true
;
}
{
foreach
(
ClientCard
n
in
Duel
.
LastSummonedCards
)
{
if
(
n
.
Attack
>=
1900
)
return
true
;
}
return
false
;
}
private
bool
圣防
Effect
()
...
...
@@ -179,8 +179,8 @@ namespace WindBot.Game.AI.Decks
}
private
bool
炸甲
Effect
()
{
if
(
Enemy
.
BattlingMonster
.
Attack
>
1500
)
return
true
;
if
(
Enemy
.
BattlingMonster
.
Attack
>
1500
)
return
true
;
return
false
;
}
private
bool
死苏
effect
()
...
...
@@ -194,7 +194,7 @@ namespace WindBot.Game.AI.Decks
if
(!
Bot
.
HasInGraveyard
(
targets
)
||
!
Enemy
.
HasInGraveyard
(
targets
))
{
AI
.
SelectCard
(
targets
);
return
true
;
return
true
;
}
return
false
;
}
...
...
@@ -203,10 +203,10 @@ namespace WindBot.Game.AI.Decks
if
(!
Util
.
IsAllEnemyBetter
(
true
))
return
false
;
ClientCard
selected
=
Enemy
.
Graveyard
.
GetMatchingCards
(
card
=>
card
.
IsCanRevive
()).
OrderByDescending
(
card
=>
card
.
Attack
).
FirstOrDefault
();
if
(
selected
.
Attack
>=
2400
)
if
(
selected
.
Attack
>=
2400
)
{
AI
.
SelectCard
(
selected
);
return
true
;
return
true
;
}
return
false
;
}
...
...
@@ -222,13 +222,19 @@ namespace WindBot.Game.AI.Decks
}
private
bool
栗子
summon
()
{
if
(
Bot
.
HasInHand
(
CardId
.
机器栗子
)
&&
(
Bot
.
GetMonstersInMainZone
().
Count
==
0
))
return
true
;
if
(
Bot
.
HasInGraveyard
(
CardId
.
机器栗子
)
&&
(
Bot
.
GetMonstersInMainZone
().
Count
==
0
))
return
true
;
return
false
;
}
private
bool
栗子
summon2
()
{
if
(
Bot
.
HasInGraveyard
(
CardId
.
机器栗子
)
&&
(
Bot
.
GetMonstersInMainZone
().
Count
==
1
))
return
true
;
return
false
;
}
private
bool
凤凰龙
summon
()
{
if
(
Bot
.
HasInGraveyard
(
new
[]
{
CardId
.
连击龙
,
CardId
.
青眼白龙
}))
if
(
Bot
.
HasInGraveyard
(
new
[]
{
CardId
.
连击龙
,
CardId
.
青眼白龙
}))
return
true
;
return
false
;
}
...
...
@@ -252,27 +258,26 @@ namespace WindBot.Game.AI.Decks
}
private
bool
斗牛士
Effect
()
{
//if (Util.IsOneEnemyBetterThanValue(1900, false))
{
{
foreach
(
ClientCard
o
in
Bot
.
Graveyard
)
AI
.
SelectCard
(
o
);
if
(
Enemy
.
GetMonsters
().
GetHighestAttackMonster
()
==
null
)
AI
.
SelectNextCard
(
Enemy
.
MonsterZone
.
GetHighestAttackMonster
());
AI
.
SelectNextCard
(
Enemy
.
MonsterZone
.
GetHighestAttackMonster
());
return
true
;
}
// return false;
}
// return false;
}
private
bool
圣防
Repos
()
{
if
(
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
(
card
.
Race
&
(
int
)
CardRace
.
SpellCaster
)
>
0
)
>=
4
&&
Enemy
.
GetSpellCountWithoutField
()
>=
1
&&
!
Bot
.
HasInMonstersZone
(
CardId
.
人造人
))
if
(
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
(
card
.
Race
&
(
int
)
CardRace
.
SpellCaster
)
>
0
)
>=
4
&&
Enemy
.
GetSpellCountWithoutField
()
>=
1
&&
!
Bot
.
HasInMonstersZone
(
CardId
.
人造人
)
&&
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
card
.
IsCode
(
CardId
.
暗黑释放
))
<
3
)
{
if
(
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
IsAttack
()
&&
card
.
Level
>=
5
)
>=
2
&&
!
Bot
.
HasDefendingMonster
())
return
true
;
}
return
false
;
}
}
}
...
...
Game/AI/Decks/MathMechExecutor.cs
View file @
7cddc1c9
This diff is collapsed.
Click to expand it.
Game/AI/Decks/MokeyMokeyExecutor.cs
View file @
7cddc1c9
...
...
@@ -40,10 +40,11 @@ namespace WindBot.Game.AI.Decks
:
base
(
ai
,
duel
)
{
AddExecutor
(
ExecutorType
.
SpSummon
);
AddExecutor
(
ExecutorType
.
Repos
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
七星道法师
,
七星道法师
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
对死者的供奉
,
死供
Eff
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
青眼白龙
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Summon
OrSet
,
CardId
.
破坏之剑士
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
破坏之剑士
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
恶魔召唤
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
连击龙
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
雅灭鲁拉
,
DefaultMonsterSummon
);
...
...
@@ -68,7 +69,8 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
SummonOrSet
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Repos
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
青眼白龙
,
圣防
Repos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
破坏之剑士
,
圣防
Repos
);
AddExecutor
(
ExecutorType
.
SpellSet
);
//AddExecutor(ExecutorType.Activate, CardId.sionmax, sionmaxEffect);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
耳语妖精
,
耳语妖精
Effect
);
...
...
@@ -254,7 +256,15 @@ namespace WindBot.Game.AI.Decks
return
true
;
return
false
;
}
private
bool
圣防
Repos
()
{
if
(
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
(
card
.
Race
&
(
int
)
CardRace
.
SpellCaster
)
>
0
)
>=
4
&&
Enemy
.
GetSpellCountWithoutField
()
>=
1
&&
!
Bot
.
HasInMonstersZone
(
CardId
.
人造人
)
&&
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
card
.
IsCode
(
CardId
.
暗黑释放
))
<
3
)
{
if
(
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
IsAttack
()
&&
card
.
Level
>=
5
)
>=
2
&&
!
Bot
.
HasDefendingMonster
())
return
true
;
}
return
false
;
}
}
...
...
Game/AI/Decks/MokeyMokeyKingExecutor.cs
View file @
7cddc1c9
...
...
@@ -46,10 +46,11 @@ namespace WindBot.Game.AI.Decks
:
base
(
ai
,
duel
)
{
AddExecutor
(
ExecutorType
.
SpSummon
);
AddExecutor
(
ExecutorType
.
Repos
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
七星道法师
,
七星道法师
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
对死者的供奉
,
死供
Eff
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
青眼白龙
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Summon
OrSet
,
CardId
.
破坏之剑士
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
破坏之剑士
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
恶魔召唤
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
连击龙
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
雅灭鲁拉
,
DefaultMonsterSummon
);
...
...
@@ -73,7 +74,8 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
七星道法师
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Repos
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
青眼白龙
,
圣防
Repos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
破坏之剑士
,
圣防
Repos
);
AddExecutor
(
ExecutorType
.
SpellSet
);
//AddExecutor(ExecutorType.Activate, CardId.sionmax, sionmaxEffect);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
耳语妖精
,
耳语妖精
Effect
);
...
...
@@ -258,7 +260,15 @@ namespace WindBot.Game.AI.Decks
return
true
;
return
false
;
}
private
bool
圣防
Repos
()
{
if
(
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
(
card
.
Race
&
(
int
)
CardRace
.
SpellCaster
)
>
0
)
>=
4
&&
Enemy
.
GetSpellCountWithoutField
()
>=
1
&&
!
Bot
.
HasInMonstersZone
(
CardId
.
人造人
)
&&
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
card
.
IsCode
(
CardId
.
暗黑释放
))
<
3
)
{
if
(
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
IsAttack
()
&&
card
.
Level
>=
5
)
>=
2
&&
!
Bot
.
HasDefendingMonster
())
return
true
;
}
return
false
;
}
}
}
\ No newline at end of file
Game/AI/Decks/SaikyoBattleFlagExecutor.cs
View file @
7cddc1c9
...
...
@@ -34,6 +34,7 @@ namespace WindBot.Game.AI.Decks
public
const
int
减俸
=
120183062
;
public
const
int
左迁
=
120183063
;
public
const
int
冻结
=
120183064
;
public
const
int
暗黑释放
=
120105013
;
}
public
SaikyoBattleFlagExecutor
(
GameAI
ai
,
Duel
duel
)
...
...
@@ -48,6 +49,8 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
突击坦克
,
突击坦克
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
瞄准鹰
,
瞄准鹰
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
双角兽
,
双角兽
Effect
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
双角兽
,
双角兽
summon
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
瞄准鹰
,
瞄准鹰
summon
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
最强战旗
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
钢机神
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
恶德
,
DefaultMonsterRepos
);
...
...
@@ -69,7 +72,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
最强战旗
,
最强战旗
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
对死者的供奉
,
死供
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
钢机神
,
钢机神
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
钢机神
,
钢机神
1
Effect
);
//
AddExecutor(ExecutorType.Activate, CardId.钢机神, 钢机神1Effect);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
成金恐龙王
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
工匠无人机
,
无人机
Effect
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
工匠无人机
);
...
...
@@ -167,7 +170,7 @@ namespace WindBot.Game.AI.Decks
{
if
(!
DoubleTribute
)
return
false
;
else
AI
.
SelectCard
(
CardId
.
双角兽
);
AI
.
SelectMaterials
(
CardId
.
双角兽
);
DoubleTribute
=
false
;
return
true
;
}
...
...
@@ -207,22 +210,40 @@ namespace WindBot.Game.AI.Decks
return
true
;
}
private
bool
钢机神
Effect
()
{
if
(
Duel
.
Turn
==
1
)
return
false
;
{
if
(
Duel
.
Turn
==
1
)
{
return
false
;
}
else
if
(
Enemy
.
HasAttackingMonster
()
||
Enemy
.
GetMonsterCount
()
<
1
)
AI
.
SelectCard
(
CardId
.
最强战旗
,
CardId
.
钢机神
,
CardId
.
恶德
,
CardId
.
旗兽
,
CardId
.
突击坦克
,
CardId
.
工匠无人机
,
CardId
.
社员
,
CardId
.
双角兽
,
CardId
.
瞄准鹰
);
return
true
;
else
AI
.
SelectCard
(
Bot
.
Graveyard
.
GetHighestLevelMonster
());
return
true
;
}
private
bool
钢机神
1
Effect
()
{
foreach
(
ClientCard
m
in
Bot
.
Graveyard
)
if
(!
Enemy
.
HasAttackingMonster
()
&&
Enemy
.
GetMonsterCount
()
>=
1
)
{
if
(
m
.
Race
==
(
int
)
CardRace
.
Machine
)
AI
.
SelectCard
(
m
);
return
true
;
if
(
Enemy
.
HasDefendingMonster
()
&&
Enemy
.
GetMonsterCount
()
>=
1
&&
Duel
.
Turn
>
1
)
AI
.
SelectCard
(
Bot
.
Graveyard
.
GetMonsters
());
/*{
List<ClientCard> cards = new List<ClientCard>(Bot.Graveyard.GetMatchingCards(card => (card.Race & (int)CardRace.Machine) > 0));
cards.Sort(CardContainer.CompareCardLevel); ClientCard selectedCard = null;
for (int i = cards.Count - 1; i >= 0; --i)
{
ClientCard card = cards[i];
if ((selectedCard == null || card.Attack > selectedCard.Attack))
{
selectedCard = card;
break;
}
}
if (selectedCard != null)
{
AI.SelectCard(selectedCard);
return true;
}
return
false
;
}*/
return
true
;
}
private
bool
恶德
Effect
()
{
...
...
@@ -327,9 +348,8 @@ namespace WindBot.Game.AI.Decks
return
false
;
}
private
bool
双角兽
Effect
()
{
if
(
Bot
.
HasInHand
(
new
[]
{
CardId
.
最强战旗
,
CardId
.
钢机神
,
CardId
.
恶德
}))
{
if
(
Bot
.
HasInHand
(
new
[]
{
CardId
.
最强战旗
,
CardId
.
钢机神
,
CardId
.
恶德
})
&&
!
Bot
.
HasInMonstersZone
(
new
[]
{
CardId
.
最强战旗
,
CardId
.
钢机神
}))
{
AI
.
SelectCard
(
CardId
.
瞄准鹰
,
CardId
.
双角兽
,
CardId
.
工匠无人机
,
CardId
.
突击坦克
,
CardId
.
社员
,
CardId
.
旗兽
,
CardId
.
恶德
,
CardId
.
钢机神
,
CardId
.
最强战旗
);
DoubleTribute
=
true
;
...
...
@@ -397,9 +417,9 @@ namespace WindBot.Game.AI.Decks
if
((
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
Level
<
5
)+
Bot
.
Hand
.
GetMatchingCardsCount
(
card
=>
card
.
Level
<
5
))
<=
2
)
{
if
(
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
Level
>
5
)
>
2
)
if
(
Bot
.
Hand
.
GetMatchingCardsCount
(
card
=>
card
.
Level
>
5
)
>
2
)
AI
.
SelectCard
(
CardId
.
最强战旗
,
CardId
.
钢机神
,
CardId
.
恶德
);
else
if
(
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
Level
>
5
)
==
1
&&
(
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
Level
<
5
)
+
Bot
.
Hand
.
GetMatchingCardsCount
(
card
=>
card
.
Level
<
5
))
==
1
)
else
if
(
Bot
.
Hand
.
GetMatchingCardsCount
(
card
=>
card
.
Level
>
5
)
==
1
&&
(
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
Level
<
5
)
+
Bot
.
Hand
.
GetMatchingCardsCount
(
card
=>
card
.
Level
<
5
))
==
1
)
{
AI
.
SelectCard
(
CardId
.
最强战旗
,
CardId
.
钢机神
,
CardId
.
恶德
);
return
true
;
...
...
@@ -450,7 +470,7 @@ namespace WindBot.Game.AI.Decks
}
private
bool
圣防
Repos
()
{
if
(
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
(
card
.
Race
&
(
int
)
CardRace
.
SpellCaster
)
>
0
)
>=
4
&&
Enemy
.
GetSpellCountWithoutField
()
>=
1
)
if
(
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
(
card
.
Race
&
(
int
)
CardRace
.
SpellCaster
)
>
0
)
>=
4
&&
Enemy
.
GetSpellCountWithoutField
()
>=
1
&&
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
card
.
IsCode
(
CardId
.
暗黑释放
))
<
3
)
{
if
(
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
IsAttack
()
&&
card
.
Level
>=
5
)
>=
2
&&
!
Bot
.
HasDefendingMonster
())
return
true
;
...
...
Game/AI/Decks/TheLegendExecutor.cs
View file @
7cddc1c9
...
...
@@ -31,6 +31,7 @@ namespace WindBot.Game.AI.Decks
public
const
int
落穴
=
120150019
;
public
const
int
圣防
=
120198003
;
public
const
int
炸甲
=
120194005
;
public
const
int
暗黑释放
=
120105013
;
}
public
TheLegendExecutor
(
GameAI
ai
,
Duel
duel
)
...
...
@@ -43,14 +44,13 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
机器栗子
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
连击龙
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
斗牛士
,
斗牛士
Effect
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
青眼白龙
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
破坏之剑士
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
连击龙
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
青眼白龙
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
破坏之剑士
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
连击龙
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
人造人
,
DefaultMonsterSummon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
机器栗子
,
栗子
summon
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
机器栗子
,
栗子
summon2
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
死苏
,
死苏
effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
死苏
,
死苏
effect2
);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
斗牛士
,
Monsterset
);
...
...
@@ -58,7 +58,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
凤凰龙
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
对死者的供奉
,
死供
Effect
);
AddExecutor
(
ExecutorType
.
Repos
,
CardId
.
成金恐龙王
,
成金恐龙王
Summon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
成金恐龙王
,
成金恐龙王
Summon
);
AddExecutor
(
ExecutorType
.
SummonOrSet
,
CardId
.
血腥魔兽人
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
凤凰龙
,
凤凰龙
summon
);
...
...
@@ -222,10 +222,16 @@ namespace WindBot.Game.AI.Decks
}
private
bool
栗子
summon
()
{
if
(
Bot
.
HasIn
Han
d
(
CardId
.
机器栗子
)
&&
(
Bot
.
GetMonstersInMainZone
().
Count
==
0
))
if
(
Bot
.
HasIn
Graveyar
d
(
CardId
.
机器栗子
)
&&
(
Bot
.
GetMonstersInMainZone
().
Count
==
0
))
return
true
;
return
false
;
}
private
bool
栗子
summon2
()
{
if
(
Bot
.
HasInGraveyard
(
CardId
.
机器栗子
)
&&
(
Bot
.
GetMonstersInMainZone
().
Count
==
1
))
return
true
;
return
false
;
}
private
bool
凤凰龙
summon
()
{
if
(
Bot
.
HasInGraveyard
(
new
[]
{
CardId
.
连击龙
,
CardId
.
青眼白龙
}))
...
...
@@ -265,7 +271,7 @@ namespace WindBot.Game.AI.Decks
}
private
bool
圣防
Repos
()
{
if
(
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
(
card
.
Race
&
(
int
)
CardRace
.
SpellCaster
)
>
0
)
>=
4
&&
Enemy
.
GetSpellCountWithoutField
()
>=
1
&&
!
Bot
.
HasInMonstersZone
(
CardId
.
人造人
))
if
(
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
(
card
.
Race
&
(
int
)
CardRace
.
SpellCaster
)
>
0
)
>=
4
&&
Enemy
.
GetSpellCountWithoutField
()
>=
1
&&
!
Bot
.
HasInMonstersZone
(
CardId
.
人造人
)
&&
Enemy
.
Graveyard
.
GetMatchingCardsCount
(
card
=>
card
.
IsCode
(
CardId
.
暗黑释放
))
<
3
)
{
if
(
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
IsAttack
()
&&
card
.
Level
>=
5
)
>=
2
&&
!
Bot
.
HasDefendingMonster
())
return
true
;
...
...
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