Skip to content

Commit

Permalink
#158 废弃移动速度配置 直接使用一个较为宽松的值
Browse files Browse the repository at this point in the history
  • Loading branch information
DoctorReid committed Jan 30, 2024
1 parent b9e8382 commit 7022300
Show file tree
Hide file tree
Showing 7 changed files with 7 additions and 12 deletions.
2 changes: 0 additions & 2 deletions config/game_sample.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ mini_map:
r: 93
x: 141
y: 151
walk_speed: 20
run_speed: 25
turn_dx: 0
server_region: CN
run_mode: 0
Expand Down
2 changes: 1 addition & 1 deletion src/sr/app/calibrator.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ def _check_running_distance(self) -> bool:
mm = mini_map.cut_mini_map(screen)

lx, ly = last_pos.x, last_pos.y
move_distance = self.ctx.controller.cal_move_distance_by_time(now_time - last_record_time, run=True) if last_record_time > 0 else 0
move_distance = self.ctx.controller.cal_move_distance_by_time(now_time - last_record_time) if last_record_time > 0 else 0
possible_pos = (lx, ly, move_distance)
lm_rect: Rect = large_map.get_large_map_rect_by_pos(lm_info.origin.shape[:2], mm.shape[:2], possible_pos)

Expand Down
2 changes: 1 addition & 1 deletion src/sr/cal_pos.py
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,7 @@ def is_valid_result_with_possible_pos(result: Optional[MatchResult],
next_pos = result.center

dis = cal_utils.distance_between(last_pos, next_pos)
if dis > move_distance:
if dis > move_distance * 1.1:
log.info('计算坐标 %s 与 当前坐标 %s 距离较远 %.2f 舍弃', next_pos, last_pos, dis)
return False

Expand Down
6 changes: 2 additions & 4 deletions src/sr/control/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def __init__(self, ocr: OcrMatcher):
self.ocr: OcrMatcher = ocr
self.turn_dx: float = None
self.run_speed: float = None
self.walk_speed: float = None
self.is_moving: bool = False

def init(self):
Expand Down Expand Up @@ -160,14 +159,13 @@ def move(self, direction: str, press_time: float = 0):
"""
pass

def cal_move_distance_by_time(self, seconds: float, run: bool = False):
def cal_move_distance_by_time(self, seconds: float):
"""
根据时间计算移动距离
:param seconds: 秒
:param run: 是否疾跑
:return:
"""
return (self.run_speed if run else self.walk_speed) * seconds
return self.run_speed * seconds

def move_towards(self, pos1: Point, pos2: Point, angle: float, run: bool = False) -> bool:
"""
Expand Down
3 changes: 1 addition & 2 deletions src/sr/control/pc_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@ def __init__(self, win: Window, ocr: OcrMatcher):
self.win: Window = win
self.gc: GameConfig = game_config.get()
self.turn_dx: float = self.gc.get('turn_dx')
self.run_speed: float = self.gc.get('run_speed')
self.walk_speed: float = self.gc.get('walk_speed')
self.run_speed: float = 30
self.is_moving: bool = False
self.is_running: bool = False # 是否在疾跑

Expand Down
2 changes: 1 addition & 1 deletion src/sr/operation/unit/move.py
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ def cal_pos(self, mm: MatLike, now_time: float) -> Tuple[Optional[Point], MiniMa
else:
move_time = 1

move_distance = self.ctx.controller.cal_move_distance_by_time(move_time, run=self.run_mode != game_config_const.RUN_MODE_OFF)
move_distance = self.ctx.controller.cal_move_distance_by_time(move_time)
last_pos = self.pos[len(self.pos) - 1] if len(self.pos) > 0 else self.start_pos
possible_pos = (last_pos.x, last_pos.y, move_distance)
log.debug('准备计算人物坐标 使用上一个坐标为 %s 移动时间 %.2f 是否在移动 %s', possible_pos,
Expand Down
2 changes: 1 addition & 1 deletion src/sr/sim_uni/op/move_in_sim_uni.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def cal_pos(self, mm: MatLike, now_time: float) -> Tuple[Optional[Point], MiniMa
move_time = 1
else:
move_time = 1
move_distance = self.ctx.controller.cal_move_distance_by_time(move_time, run=self.run_mode != game_config_const.RUN_MODE_OFF)
move_distance = self.ctx.controller.cal_move_distance_by_time(move_time)
last_pos = self.pos[len(self.pos) - 1] if len(self.pos) > 0 else self.start_pos
possible_pos = (last_pos.x, last_pos.y, move_distance)
log.debug('准备计算人物坐标 使用上一个坐标为 %s 移动时间 %.2f 是否在移动 %s', possible_pos,
Expand Down

0 comments on commit 7022300

Please sign in to comment.