def Combat_Animation(): click(randint(1300, 1700), randint(750, 900)) Delay(4, 6) click(randint(1300, 1700), randint(750, 900)) Delay(2, 4) click(randint(1300, 1700), randint(750, 900)) Delay(4, 6)
def round3(): ## 主力队向上1格 pot2_2() Delay(0, 1) pot3_2() Delay(18, 19) CombatWindow.Combat_EndClear() ## 狗粮队1向上1格 pot1_2() Delay(0, 1) pot2_2() Delay(1, 2) ## 狗粮队2向上1格 Headquarters_2() Delay(0, 1) pot1_2() Delay(2, 3) CombatWindow.Choose_Cancel() ## 部署狗粮队3 Headquarters_2() Delay(1, 2) CombatWindow.Deploy_Confirm() ## 第三回合结束 CombatWindow.Round_End() # 等待 Delay(21, 23) CombatWindow.Combat_EndClear() Delay(6, 7)
def round1(): # 主力队补充弹药 Headquarters() Delay(1, 2) Headquarters() Delay(1, 2) CombatWindow.Supply() # 前进 pot1_1() Delay(2, 3) CombatWindow.Choose_Cancel() # 部署守家队并补充弹药 Headquarters() Delay(1, 2) CombatWindow.Deploy_Confirm() Headquarters() Delay(1, 2) Headquarters() Delay(1, 2) CombatWindow.Supply() # 结束回合 CombatWindow.Round_End() Delay(19, 20) # 检测是否进入下一回合 matching = image.match('e:/code/girls_frontline_script/images/round_end.png', image.capture_screen()) # 未进入下一回合 if (matching[0] < 100000000): Delay(15, 16) CombatWindow.Combat_EndClear() Delay(6, 7)
def round6(): ## 补给 pot5_6() Delay(1, 2) pot5_6() Delay(1, 2) CombatWindow.Supply() ## 计划模式 CombatWindow.PlanMode() pot7_6() Delay(0, 1) pot8_6() Delay(0, 1) CombatWindow.Choose_Cancel() pot6_6() Delay(0, 1) pot9_6() Delay(0, 1) CombatWindow.Plan_Confirm() Delay(65, 67) ## 第六回合结束 CombatWindow.Round_End() # 等待 Delay(21, 23) CombatWindow.Combat_EndClear() Delay(6, 7)
def Combat_EndClear(): click(randint(1300, 1700), randint(750, 900)) Delay(2, 3) click(randint(1300, 1700), randint(750, 900)) Delay(1, 2) click(randint(1300, 1700), randint(750, 900)) Delay(1, 2) click(randint(1300, 1700), randint(750, 900)) Delay(2, 3) click(randint(1300, 1700), randint(750, 900)) Delay(0, 1)
def ChooseLevel(level): if level is 1: click(randint(600, 1000), randint(520, 722)) elif level is 2: click(randint(1345, 1770), randint(290, 500)) elif level is 3: click(randint(1200, 1600), randint(690, 880)) Delay(1, 2) ## 开始战斗 click(randint(848, 1064), randint(817, 920)) Delay(3, 4)
def round3(): CombatWindow.Round_End() Delay(21, 22) CombatWindow.Combat_EndClear() Delay(3, 4) # 检测是否进入战斗 matching = image.match('e:/code/girls_frontline_script/images/round_end.png', image.capture_screen()) # 进入战斗 if (matching[0] < 100000000): Delay(11, 12) CombatWindow.Combat_EndClear() Delay(6, 7)
def ChooseLevel(level): if level is 1: click(randint(675, 1090), randint(260, 446)) elif level is 2: click(randint(1345, 1723), randint(362, 519)) elif level is 3: click(randint(593, 977), randint(632, 812)) elif level is 4: click(randint(1246, 1656), randint(722, 911)) Delay(1, 2) ## 开始战斗 click(randint(848, 1064), randint(817, 920)) Delay(3, 4)
def Figure(row, number): if row is 1: if number is 2: click(randint(290, 530), randint(175, 580)) elif number is 3: click(randint(559, 800), randint(175, 580)) elif number is 4: click(randint(825, 1065), randint(175, 580)) elif number is 5: click(randint(1090, 1335), randint(175, 580)) elif number is 6: click(randint(1361, 1600), randint(175, 580)) elif row is 2: if number is 1: click(randint(25, 255), randint(630, 1050)) elif number is 2: click(randint(290, 530), randint(630, 1050)) elif number is 3: click(randint(559, 800), randint(630, 1050)) elif number is 4: click(randint(825, 1065), randint(630, 1050)) elif number is 5: click(randint(1090, 1335), randint(630, 1050)) elif number is 6: click(randint(1361, 1600), randint(630, 1050)) Delay(1, 2)
def Combat_34e(): # 选择关卡 CombatWindow.ChooseLevel(4) # 点击机场 Airport() Delay(1, 2) # 点击确定,部署打手队 CombatWindow.Deploy_Confirm() # 点击指挥部 Headquarters() Delay(1, 2) # 点击确定,部署狗粮队 CombatWindow.Deploy_Confirm() # 开始作战 CombatWindow.Combat_Start() # 点击梯队2次 Airport() Delay(1, 2) Airport() Delay(1, 2) # 补充弹药 CombatWindow.Supply() # 进入计划模式 CombatWindow.PlanMode() # 规划路径 pot1() Delay(0, 1) pot2() Delay(0, 1) # 执行计划 CombatWindow.Plan_Confirm() Delay(2, 4) #TODO
def Combat_11(): # 选择关卡 CombatSet.ChooseLevel(1) # 部署主力队 Headquarters() Delay(1, 2) CombatWindow.Deploy_Confirm() CombatWindow.Combat_Start() # 补充弹药 Headquarters() Delay(1, 2) Headquarters() Delay(1, 2) CombatWindow.Supply() CombatWindow.PlanMode() pot1() Delay(1, 2) pot2() Delay(1, 2) pot3() Delay(1, 2) CombatWindow.Plan_Confirm() Delay(135, 136) # 结束回合 CombatWindow.Combat_Animation()
def round4(): # 往上拖动界面 moveTo(randint(1400, 1600), randint(250, 400)) dragRel(randint(-50, 50), randint(400, 500), 0.5) Delay(0, 1) Airport() Delay(1, 2) Airport() Delay(1, 2) CombatWindow.Supply() CombatWindow.PlanMode() pot4_1() Delay(1, 2) CombatWindow.Plan_Confirm() Delay(54, 56) while(1): # 检测是否在战斗中 matching = image.match('e:/code/girls_frontline_script/images/round_end.png', image.capture_screen()) # 战斗中 if (matching[0] < 100000000): Delay(1, 2) else: break CombatWindow.Round_End() Delay(12, 14) CombatWindow.Combat_Animation()
def ChooseLevel(level): if level is 1: click(randint(640, 1800), randint(359, 478)) elif level is 2: click(randint(640, 1800), randint(527, 666)) elif level is 3: click(randint(640, 1800), randint(709, 836)) elif level is 4: click(randint(640, 1800), randint(881, 1015)) elif level is 5: TO56() click(randint(640, 1800), randint(652, 766)) elif level is 6: TO56() click(randint(640, 1800), randint(830, 950)) Delay(1, 2) NormalCombat() Delay(3, 4)
def round2(): # 守家梯队撤退 Headquarters_2() Delay(1, 2) Headquarters_2() Delay(1, 2) CombatWindow.Retreat() # 选择主力队 pot1_2() Delay(1, 2) # 检测小飞机 matching = image.match( 'e:/code/girls_frontline_script/images/Combat/34n_fly.png', image.capture_screen()) if (matching[0] > 20000000): CombatWindow.Fairy_release() pot2_2() Delay(18, 19) CombatWindow.Combat_EndClear() pot2_2() Delay(1, 2) # 检测小飞机 matching = image.match( 'e:/code/girls_frontline_script/images/Combat/34n_fly.png', image.capture_screen()) if (matching[0] > 20000000): CombatWindow.Fairy_release() pot3_2() Delay(18, 19) CombatWindow.Combat_EndClear() pot3_2() Delay(1, 2) # 检测boss matching = image.match( 'e:/code/girls_frontline_script/images/34n_boss.png', image.capture_screen()) # boss出现 if (matching[0] > 20000000): pot4_2() else: pot5_2() Delay(1, 2) pot6_2() Delay(19, 20) CombatWindow.Combat_EndClear() # 撤退 CombatWindow.Combat_Terminate()
def round1(): # 点击梯队2次 Headquarters_1() Delay(1, 2) Headquarters_1() Delay(1, 2) # 补充弹药 CombatWindow.Supply() # 行动 pot1_1() Delay(2, 3) CombatWindow.Choose_Cancel() # 部署狗粮队1 Headquarters_1() Delay(1, 2) CombatWindow.Deploy_Confirm() # 第一回合结束 CombatWindow.Round_End() Delay(21, 23)
def Combat_13(): # 选择关卡 CombatSet.ChooseLevel(3) # 往上拖动界面 moveTo(randint(1400, 1600), randint(250, 400)) dragRel(randint(-50, 50), randint(400, 500), 0.5) Delay(0, 1) # 点击指挥部 Headquarters() Delay(1, 2) # 部署主力队 CombatWindow.Deploy_Confirm() # 开始作战 CombatWindow.Combat_Start() round1() round2() round3() round4()
def ChooseFigure(number): if number is 1: click(randint(225, 465), randint(175, 735)) elif number is 2: click(randint(500, 730), randint(175, 735)) elif number is 3: click(randint(775, 1000), randint(175, 735)) elif number is 4: click(randint(1050, 1285), randint(175, 735)) elif number is 5: pass Delay(1, 2)
def FigureKindDisplay(kind, is_max_level): click(randint(1645, 1867), randint(350, 500)) Delay(1, 2) if kind is 'HG': click(randint(800, 1050), randint(540, 650)) elif kind is 'SMG': click(randint(1073, 1318), randint(540, 650)) elif kind is 'RF': click(randint(1345, 1585), randint(540, 650)) elif kind is 'AR': click(randint(800, 1050), randint(675, 785)) elif kind is 'MG': pass elif kind is 'SG': pass Delay(1, 2) if is_max_level == True: click(randint(1100, 1300), randint(875, 960)) Delay(1, 2) # 确认 click(randint(1200, 1600), randint(985, 1060)) Delay(2, 3)
def Combat_34n(): # 选择关卡 CombatWindow.ChooseLevel(4) # 部署梯队 # 点击指挥部 Headquarters_1() Delay(1, 2) # 点击确定,部署主力队 CombatWindow.Deploy_Confirm() # 开始作战 CombatWindow.Combat_Start() round1() round2()
def Combat_46(): # 选择关卡 CombatWindow.ChooseLevel(6) # 向上拖动 moveTo(randint(627, 1715), randint(200, 450)) dragRel(randint(-50, 50), randint(800, 900), 0.5) Delay(0, 1) # 点击机场 Airport() Delay(1, 2) # 点击确定,部署打手队 CombatWindow.Deploy_Confirm() # 点击指挥部 Headquarters() Delay(1, 2) # 点击确定,部署狗粮队 CombatWindow.Deploy_Confirm() # 开始作战 CombatWindow.Combat_Start() # 点击梯队2次 Airport() Delay(1, 2) Airport() Delay(1, 2) # 补充弹药 CombatWindow.Supply() # 进入计划模式 CombatWindow.PlanMode() pot1() Delay(1, 2) # 执行计划 CombatWindow.Plan_Confirm() # 等待 Delay(100, 102) # 结束回合 CombatWindow.Round_End() Delay(12, 14) # 结算动画 CombatWindow.Combat_Animation()
def Combat_2(): # 选择关卡 CombatSet.ChooseLevel(2) # 部署梯队 # 点击指挥部 Headquarters() Delay(1, 2) # 点击确定,部署梯队 CombatWindow.Deploy_Confirm() # 开始作战 CombatWindow.Combat_Start() # 点击指挥部2次 Headquarters() Delay(1, 2) Headquarters() Delay(1, 2) # 补充弹药 CombatWindow.Supply() # 进入计划模式 CombatWindow.PlanMode() # 规划路径 pot1() Delay(1, 2) # 执行计划 CombatWindow.Plan_Confirm() # 等待 Delay(83, 85) # 回合结束 CombatWindow.Round_End() Delay(12, 14) # 结算动画 CombatWindow.Combat_Animation() ## 如果有碎片就取消注释 click(randint(1800, 1900), randint(750, 900)) Delay(1, 2) click(randint(1800, 1900), randint(750, 900)) Delay(2, 3)
def Combat_64e(): # 选择关卡 CombatWindow.ChooseLevel(4) # 点击指挥部 Headquarters_1() Delay(1, 2) # 部署主力队 CombatWindow.Deploy_Confirm() # 开始作战 CombatWindow.Combat_Start() round1() round2() round3() round4() round5() round6() round7()
def Combat_26(): # 选择关卡 CombatWindow.ChooseLevel(6) # 点击指挥部 Headquarters() Delay(1, 2) # 点击确定,部署第一梯队 CombatWindow.Deploy_Confirm() # 开始作战 CombatWindow.Combat_Start() # 点击梯队2次 Headquarters() Delay(1, 2) Headquarters() Delay(1, 2) # 补充弹药 CombatWindow.Supply() # 进入计划模式 CombatWindow.PlanMode() # 规划路径 pot1() Delay(1, 2) pot2() Delay(1, 2) # 执行计划 CombatWindow.Plan_Confirm() # 等待 Delay(94, 96) # 结束回合 CombatWindow.Round_End() Delay(12, 14) # 结算动画 CombatWindow.Combat_Animation()
def round5(): ## 计划模式 CombatWindow.PlanMode() pot4_2() Delay(0, 1) pot5_2() Delay(0, 1) CombatWindow.Choose_Cancel() pot3_2() Delay(0, 1) pot6_2() Delay(0, 1) CombatWindow.Plan_Confirm() Delay(50, 52) # 打开妖精 CombatWindow.Fairy_AUTO() ## 第五回合结束 CombatWindow.Round_End() # 等待 Delay(21, 23) CombatWindow.Combat_EndClear() Delay(6, 7)
def round7(): ## 计划模式 CombatWindow.PlanMode() pot8_7() Delay(0, 1) pot10_7() Delay(0, 1) pot8_7() Delay(0, 1) CombatWindow.Plan_Confirm() Delay(63, 65) # 关闭妖精 CombatWindow.Fairy_AUTO() ## 撤退 pot8_7() Delay(1, 2) pot8_7() Delay(2, 3) CombatWindow.Retreat() CombatWindow.Combat_Terminate()
def round1(): # 点击主力队2次 Headquarters_1() Delay(1, 2) Headquarters_1() Delay(1, 2) # 补充弹药 CombatWindow.Supply() # 移动到左下机场 pot1_1() # 战斗 Delay(16, 18) CombatWindow.Combat_EndClear() # 部署守家队伍 # 取消选择 CombatWindow.Choose_Cancel() # 点击指挥部 Headquarters_2() Delay(1, 2) # 点击确定,部署梯队 CombatWindow.Deploy_Confirm() # 点击守家队2次 Headquarters_2() Delay(1, 2) Headquarters_2() Delay(1, 2) # 补充弹药 CombatWindow.Supply() # 结束回合 CombatWindow.Round_End() Delay(4, 5) # 检测是否进入下一回合 matching = image.match( 'e:/code/girls_frontline_script/images/round_end.png', image.capture_screen()) # 未进入下一回合 if (matching[0] < 100000000): Delay(22, 23) CombatWindow.Combat_EndClear() Delay(6, 7) # 检测是否进入下一回合 matching = image.match( 'e:/code/girls_frontline_script/images/round_end.png', image.capture_screen()) # 未进入下一回合 if (matching[0] < 100000000): Delay(22, 23) CombatWindow.Combat_EndClear() Delay(6, 7)
def MainWindow_Factory(): click(randint(1580, 1885), randint(435, 590)) Delay(3, 4)
def ChooseEchelon(number): if number is 1: click(randint(0, 170), randint(165, 270)) elif number is 2: click(randint(0, 170), randint(300, 400)) Delay(1, 2)
def MainWindow_Formation(): click(randint(1580, 1885), randint(624, 622)) Delay(3, 4)
def MainWindow_Shortcut(): click(randint(0, 60), randint(483, 590)) Delay(1, 2)