相关文件
想学Python的小伙伴可以关注小编的公众号【Python日志】
有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!!
需要源码的小伙伴可以在公众号回复射击游戏
Python源码、问题解答学习交流群:773162165
开发环境
Python版本:3.7.8
相关模块:
time
mss
numpy
_init_paths
cv2
opts
multiprocessing
以及一些python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
效果展示
代码实现
单线程瞄准射击代码
'''
单线程瞄准射击代码
'''
from __future__ import absolute_import #绝对引用
from __future__ import division
from __future__ import print_function
import torch
import pyautogui
from input_controllers.native_win32_input_controller import NativeWin32InputController
from win32dll_input import Mouse
import mss
import time
import numpy as np
import cv2
import _init_paths
from input_controller import InputController, MouseButton, KeyboardKey, character_keyboard_key_mapping
import os
import cv2
from opts import opts
from detectors.detector_factory import detector_factory
names = ['enemy_0_head', 'enemy_0_body', 'enemy_1_head', 'enemy_1_body', 'enemy_2_head',
'enemy_2_body', 'hostage_0']
test={
"force":True}
def draw_res(img,names, results,show_txt=False,enable_bot=False):
heads_loc =[]
body_loc = []
for j in range(1, len(names) + 1):
for bbox in results[j]:
if bbox[4] > 0.3:
bbox = np.array(bbox, dtype=np.int32)
# cat = (int(cat) + 1) % 80
cat = int(j-1)
# print('cat', cat, self.names[cat])
head_c = (0,0,255)
body_c = (255,0,0)
c = (0,255,0)
if not enable_bot:
head_c =c
body_c =c
#print('cat', cat, self.names[cat])
conf = bbox[4]
txt = '{}{:.1f}'.format(names[cat], conf)
font = cv2.FONT_HERSHEY_SIMPLEX
cat_size = cv2.getTextSize(txt, font, 0.5, 2)[0]
if "head" in txt:
img = cv2.rectangle(
img, (bbox[0], bbox[1]), (bbox[2], bbox[3]), head_c, 2)
heads_loc.append((int((bbox[0]+bbox[2])/2),int((bbox[1]+bbox[3])/2)))
elif 'body' in txt:
img = cv2.rectangle(
img, (bbox[0], bbox[1]), (bbox[2], bbox[3]), body_c, 2)
body_loc.append((int((bbox[0]+bbox[2])/2),int((bbox[1