Advertisement
Guest User

asdasd

a guest
Jul 18th, 2014
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. import time
  2. myScriptPath = "C:\\Users\---------\\Downloads\\kancolle-auto-master\\kancolle-auto-master\\kancolle_auto.sikuli\\"
  3. if not myScriptPath in sys.path: sys.path.append(myScriptPath)
  4. import random
  5. import ensei as ensei_module
  6. import sys
  7. import os
  8. import datetime
  9.  
  10. # mapping from ensei id to suitable fleet id for the ensei.
  11. ensei_id_fleet_map = {38: [2],
  12. 2: [3],
  13. 6: [4]}
  14.  
  15. def check_and_click(pict):
  16. if exists(pict):
  17. click(pict)
  18. return True
  19. return False
  20.  
  21. def wait_and_click(pict):
  22. wait(pict)
  23. click(pict)
  24.  
  25. def go_next():
  26. if exists("next.png"):
  27. click("next.png")
  28. time.sleep(5)
  29. go_next()
  30.  
  31. def go_bokou():
  32. go_next()
  33. check_and_click("bokou.png")
  34. hover("senseki.png")
  35.  
  36. def shutsugeki():
  37. hover("senseki.png")
  38. wait_and_click("shutsugeki.png")
  39. wait_and_click("ensei.png")
  40.  
  41. ensei_list = map(ensei_module.ensei_factory, ensei_id_fleet_map.keys())
  42. random.shuffle(ensei_list)
  43. success_ensei_list = []
  44. for ensei in ensei_list:
  45. click(ensei.area_pict)
  46. sleep(2)
  47. click(ensei.name_pict)
  48. hover(ensei.area_pict)
  49. click("decision.png")
  50. if exists("ensei_enable.png"):
  51. print "try", ensei
  52. success_ensei = None
  53. print 'suitable fleets:', ensei_id_fleet_map[ensei.id]
  54. for fleet_id in ensei_id_fleet_map[ensei.id]:
  55. print 'try to use fleet', fleet_id
  56. fleet_name = "fleet_%d.png" % fleet_id
  57. click(fleet_name)
  58. sleep(3)
  59. click("ensei_start.png")
  60. sleep(5)
  61. if not exists("ensei_enable.png"):
  62. ensei.start()
  63. success_ensei = ensei
  64. time.sleep(10)
  65. break
  66. if success_ensei != None:
  67. print ensei, "successfully started"
  68. success_ensei_list.append(success_ensei)
  69. else:
  70. print "no fleets were aveilable for this ensei."
  71. click("ensei_area_01.png")
  72. else:
  73. print ensei, "is already running. skipped."
  74. go_bokou()
  75. return success_ensei_list
  76.  
  77. def kitou():
  78. try:
  79. wait("ensei_finish.png", 5)
  80. except:
  81. return False
  82. click("ensei_finish.png")
  83. time.sleep(10)
  84. go_next()
  85. kitou()
  86. return True
  87.  
  88. def hokyu():
  89. hover("senseki.png")
  90. wait("hokyu.png")
  91. click("hokyu.png")
  92. for fleet_id in [2, 3, 4]:
  93. fleet_name = "fleet_%d.png" % fleet_id
  94. click(fleet_name)
  95. click("hokyu_all.png")
  96. if check_and_click("matomete_hokyu.png"): time.sleep(5)
  97. time.sleep(3)
  98. click("bokou.png")
  99. return
  100.  
  101. running_ensei_list = []
  102.  
  103. def init():
  104. go_bokou()
  105. hokyu()
  106. while not running_ensei_list:
  107. main()
  108. time.sleep(120)
  109.  
  110. def main():
  111. if kitou():
  112. hokyu()
  113. global running_ensei_list
  114. running_ensei_list += shutsugeki()
  115.  
  116. def reflesh():
  117. hover("senseki.png")
  118. click("hokyu.png")
  119. time.sleep(3)
  120. go_bokou()
  121.  
  122. init()
  123. while True:
  124. if any(running_ensei_list):
  125. running_ensei_list = filter(lambda e: not e.is_end, running_ensei_list)
  126. reflesh()
  127. main()
  128. elif not running_ensei_list:
  129. init()
  130. else:
  131. end_time = min(map(lambda e: e.end_time(), running_ensei_list))
  132. print "next ensei end time:", end_time
  133. time.sleep(10)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement