Skip to content

Commit

Permalink
add boss fight
Browse files Browse the repository at this point in the history
  • Loading branch information
AcademicDog committed Aug 4, 2019
1 parent 74e25c4 commit 811c2f8
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 29 deletions.
28 changes: 4 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
目前已开通项目网站,请访问[此地址](https://academicdog.github.io/onmyoji_bot/)获取最新信息。
**目前已开通项目网站,请访问[此地址](https://academicdog.github.io/onmyoji_bot/)获取最新信息。**

![avatar](https://raw.githubusercontent.com/AcademicDog/myresource/master/usage.png)

Expand All @@ -25,8 +25,6 @@

7、该脚本仅使用了画面找色,鼠标后台点击的函数,完全模拟人类玩家行为,没有使用任何内存读写函数。在敏感位置添加了均匀分布的随机时间漂移,和随机坐标漂移;

# 目前进展
目前已经完成了御魂的单刷、单人司机和单人打手、单人探索的工作,其他工作待完成。

# 注意事项
1、点怪目前不可用,因为有的模型太大,挡住了点怪图标;
Expand All @@ -39,28 +37,8 @@

5、请关闭模型描边。

# 使用方法
6、如果不想安装运行环境,可以访问下载最新已[编译](https://github.com/AcademicDog/onmyoji_bot/releases)版本,该版本有图形界面,同时注意.exe文件和/img文件夹应该放在同一目录后再运行。

第一步,准备yys

1、如果御魂单刷,则进入御魂/业原火/御灵主界面(就是有“挑战”按钮的页面),备好式神,锁定阵容;

2、如果单人司机御魂,则进入组队页面,锁定阵容;

3、如果单人打手御魂,则进入组队页面,锁定阵容;

4、如果单人探索,则进入需要的章节主界面(就是有“探索”按钮的页面),备好式神,锁定阵容;

第二步,开打

1、双击运行run.bat,会弹出设置界面,点击确认后再根据个人情况选择参数;

2、如果不想安装环境,可以访问下载最新已[编译](https://github.com/AcademicDog/onmyoji_bot/releases)版本,该版本有图形界面,同时注意.exe文件和/img文件夹应该放在同一目录后再运行。

# 下一步计划
1、更新探索部分;

2、完善点怪操作;

# 更新说明
v1.0.0.0619--抛弃dll插件,用win32api,同时用图像识别替代简单找色。
Expand All @@ -85,6 +63,8 @@ v1.0.0.0724--优化了探索代码。

v1.0.0.0728--根据[#6](https://github.com/AcademicDog/onmyoji_bot/issues/6),优化了满级狗粮识别代码。

v1.0.0.0804--增加了探索完成后打BOSS的代码。

# 协议 (License)

该源代码使用了 [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html) 开源协议。
Expand Down
25 changes: 21 additions & 4 deletions explore.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,21 @@ def find_exp_moster(self):
fight_pos = ((find_pos[0]+exp_pos[0]-150),(find_pos[1]+exp_pos[1]-250))
return fight_pos

def find_boss(self):
'''
寻找BOSS
:return: 成功返回BOSS的攻打图标位置;失败返回-1
'''
# 查找BOSS攻打图标位置
find_pos = self.yys.find_game_img(
'img\\BOSS.png', 1, (2, 205), (1127, 545))
if not find_pos:
return -1

# 返回BOSS攻打图标位置
fight_pos = ((find_pos[0]+2), (find_pos[1]+205))
return fight_pos

def fight_moster(self, mood1, mood2):
'''
打经验怪
Expand All @@ -95,13 +110,15 @@ def fight_moster(self, mood1, mood2):
self.yys.wait_game_img('img\\YING-BING.png')
self.log.writeinfo('In tan-suo field')

# 寻找经验怪,未找到则退出
# 寻找经验怪,未找到则寻找boss,再未找到则退出
fight_pos = self.find_exp_moster()
if fight_pos == -1:
self.log.writeinfo('Exp moster not found')
return False
fight_pos = self.find_boss()
if fight_pos == -1:
self.log.writeinfo('Monster not found')
return False

# 攻击经验怪
# 攻击怪
self.yys.mouse_click_bg(fight_pos)
if not self.yys.wait_game_img('img\\ZHUN-BEI.png', 3, False):
break
Expand Down
2 changes: 1 addition & 1 deletion game_ctl.py
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ def find_game_img(self, img_path, part=0, pos1=None, pos2=None, gray=0):
:param pos1=None: 欲查找范围的左上角坐标
:param pos2=None: 欲查找范围的右下角坐标
:param gray=0: 是否查找黑白图片,0:查找彩色图片,1:查找黑白图片
:return: 查找成功返回True,否则返回False
:return: 查找成功返回位置坐标,否则返回False
'''
self.rejectbounty()
maxVal, maxLoc = self.find_img(img_path, part, pos1, pos2, gray)
Expand Down
Binary file added img/BOSS.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 811c2f8

Please sign in to comment.