pcacc 8 mēneši atpakaļ
revīzija
8204aaa017
100 mainītis faili ar 273 papildinājumiem un 0 dzēšanām
  1. 6 0
      .gitignore
  2. 3 0
      .gitmodules
  3. 264 0
      app.py
  4. BIN
      img/baigui/1.png
  5. BIN
      img/baigui/2.png
  6. BIN
      img/baigui/3.png
  7. BIN
      img/baigui/4.png
  8. BIN
      img/baigui/begin.png
  9. BIN
      img/baigui/end.png
  10. BIN
      img/baigui/enter.png
  11. BIN
      img/baigui/friend.png
  12. BIN
      img/baigui/head.png
  13. BIN
      img/baigui/invite.png
  14. BIN
      img/baigui/zero.png
  15. BIN
      img/chaoguiwang/first.png
  16. BIN
      img/chaoguiwang/getbox.png
  17. BIN
      img/chaoguiwang/jijie.png
  18. BIN
      img/chaoguiwang/kongbai.png
  19. BIN
      img/chaoguiwang/main.png
  20. BIN
      img/chaoguiwang/monster.png
  21. BIN
      img/chaoguiwang/normal.png
  22. BIN
      img/chaoguiwang/second.png
  23. BIN
      img/chaoguiwang/strong.png
  24. BIN
      img/chaoguiwang/todayhelp.png
  25. BIN
      img/chaoguiwang/type_hard.png
  26. BIN
      img/chaoguiwang/type_high.png
  27. BIN
      img/chaoguiwang/type_ji.png
  28. BIN
      img/chaoguiwang/xiaohao.png
  29. BIN
      img/douji/AutoGo.png
  30. BIN
      img/douji/douji.png
  31. BIN
      img/douji/fight.png
  32. BIN
      img/douji/fight2.png
  33. BIN
      img/douji/shoudong.png
  34. BIN
      img/douji/shuju.png
  35. BIN
      img/douji/success.png
  36. BIN
      img/fengmo/enter.png
  37. BIN
      img/fengmo/fengmo.png
  38. BIN
      img/fengmo/fight.png
  39. BIN
      img/fengmo/people.png
  40. BIN
      img/gameStart/close.png
  41. BIN
      img/gameStart/gameIn.png
  42. BIN
      img/gameStart/ico.png
  43. BIN
      img/miwen/Enter.png
  44. BIN
      img/miwen/challenge.png
  45. BIN
      img/miwen/challenge2.png
  46. BIN
      img/miwen/two.png
  47. BIN
      img/miwen/yi.png
  48. BIN
      img/place/Town.png
  49. BIN
      img/place/back1.png
  50. BIN
      img/place/back2.png
  51. BIN
      img/place/close.png
  52. BIN
      img/place/fightBack.png
  53. BIN
      img/place/fightBackEnter.png
  54. BIN
      img/place/goOutside.png
  55. BIN
      img/place/ico.png
  56. BIN
      img/place/ico2.png
  57. BIN
      img/place/juanzhou.png
  58. BIN
      img/place/juanzhou2.png
  59. BIN
      img/place/mao.png
  60. BIN
      img/place/outside.png
  61. BIN
      img/place/search.png
  62. BIN
      img/place/searchBackEnter.png
  63. BIN
      img/place/title.png
  64. BIN
      img/place/title2.png
  65. BIN
      img/public/accept.png
  66. BIN
      img/public/enter.png
  67. BIN
      img/public/fight_begin.png
  68. BIN
      img/public/fight_fail.png
  69. BIN
      img/public/fight_fail2.png
  70. BIN
      img/public/fight_fail3.png
  71. BIN
      img/public/fight_success.png
  72. BIN
      img/public/fight_success2.png
  73. BIN
      img/public/guiwang.png
  74. BIN
      img/public/guiwangFight.png
  75. BIN
      img/public/guiwang_success.png
  76. BIN
      img/public/miwen_success.png
  77. BIN
      img/public/tiaozhan.png
  78. BIN
      img/public/tiaozhan2.png
  79. BIN
      img/public/tiaozhan3.png
  80. BIN
      img/public/tiaozhan4.png
  81. BIN
      img/public/tiaozhan5.png
  82. BIN
      img/public/tiaozhan6.png
  83. BIN
      img/public/tiaozhan7.png
  84. BIN
      img/public/tiaozhan8.png
  85. BIN
      img/public/xiezhu.png
  86. BIN
      img/special/tiaozhan.png
  87. BIN
      img/special/yaoqing.png
  88. BIN
      img/special/zhaohuan.png
  89. BIN
      img/tansuo/1.png
  90. BIN
      img/tansuo/10.png
  91. BIN
      img/tansuo/11.png
  92. BIN
      img/tansuo/12.png
  93. BIN
      img/tansuo/13.png
  94. BIN
      img/tansuo/14.png
  95. BIN
      img/tansuo/15.png
  96. BIN
      img/tansuo/16.png
  97. BIN
      img/tansuo/17.png
  98. BIN
      img/tansuo/18.png
  99. BIN
      img/tansuo/19.png
  100. BIN
      img/tansuo/2.png

+ 6 - 0
.gitignore

@@ -0,0 +1,6 @@
+yys_tmp.png
+yys.png
+yys2.png
+__pycache__/yys_define.cpython-311.pyc
+__pycache__/yys_pic.cpython-311.pyc
+__pycache__/yys_task.cpython-311.pyc

+ 3 - 0
.gitmodules

@@ -0,0 +1,3 @@
+[submodule "scriptBase"]
+	path = scriptBase
+	url = http://192.168.50.102:3000/pcacc/scriptBase

+ 264 - 0
app.py

@@ -0,0 +1,264 @@
+# -*- coding: utf-8 -*-
+import datetime
+from flask import Flask, render_template
+from flask_socketio import SocketIO, emit
+from scriptBase.comon import *
+import pyautogui
+import base64
+import threading
+from yys_task import *
+from collections import deque
+import json
+
+app = Flask(__name__)
+socketio = SocketIO(app)
+event = threading.Event()
+g_status = ''
+last_time = 0.0
+task_queue = deque()
+last_process = ''
+isGameBegin = True
+autoTask = None
+isReset = False
+
+def thread_runTask():
+    global last_process
+    global task_queue,isReset
+    while True:
+        if event.is_set():
+            task_queue.clear()
+        if len(task_queue) != 0:
+            task = task_queue[-1]
+            task_queue.pop()
+            last_process = task.name
+            task.run()
+            myTimeSleep_small()
+        else:
+            myTimeSleep_big()
+        if isReset:
+            isReset = False
+            restart_game()
+
+
+@app.route('/')
+def index():
+    return render_template('index.html')
+
+@socketio.on('connect')
+def handle_connect():
+    print('Client connected')
+
+@socketio.on('disconnect')
+def handle_disconnect():
+    print('Client disconnected')
+
+def send_hint(msg):#数组信息
+    emit('processing_hint', msg)
+
+def send_status(msg):#软件执行状态
+    global g_status
+    try:
+        if msg == '':
+            emit('processing_status', g_status)
+            return
+        else:
+            g_status = msg
+        
+        if msg == "结束":
+            event.clear()
+        emit('processing_status', msg)
+    except:
+        return
+
+
+@socketio.on('monitor_begin')
+def monitor_begin():
+    global last_time, last_process
+    current_time = time.time()
+    elapsed_time = current_time - last_time
+    if elapsed_time < 0.5:
+        return
+    last_time = current_time
+    screenshot = pyautogui.screenshot()
+    binary_img = binarize_image(screenshot)
+    compressed_data = compress_image(binary_img)
+    
+    image_data_base64 = base64.b64encode(compressed_data).decode('utf-8')
+    socketio.emit('image_data', image_data_base64)
+    task_arr = []
+    if not event.is_set():
+        task_arr.append(last_process)
+    for item in reversed(task_queue):
+        task_arr.append(item.name)
+    send_hint(json.dumps(task_arr, ensure_ascii=False))
+    send_status('')
+    #print("send img")
+
+@socketio.on('end_script')
+def handle_end_script():
+    event.set()
+
+@socketio.on('end_game')
+def handle_end_game():
+    event.set()
+    task_close_game()
+    send_status("结束")
+    event.clear()
+
+@socketio.on('beigin_baigui')
+def handle_beigin_baigui():
+    task_queue.append(task_baigui())
+
+@socketio.on('get_title')
+def handle_get_title():
+    str = task_getComputerName()
+    dst = str + ' machine'
+    emit('processing_title', dst)
+
+@socketio.on('reset_script')
+def handle_reset_script():
+    python = sys.executable
+    if '--reset' in sys.argv:
+    # 从 sys.argv 列表中删除 --reset 参数
+        sys.argv.remove('--reset')
+    os.execl(python, python, *sys.argv)
+
+@socketio.on('restart_game')
+def handle_restart_game():
+    python = sys.executable
+    os.execl(python, python, *sys.argv, '--reset')
+
+def restart_game():
+    global isGameBegin, autoTask
+    isGameBegin = False
+    while True:
+        task_close_game()
+        if True == task_start_game():
+            break
+        else:
+            send_status("启动失败")
+    isGameBegin = True
+    send_status("结束")
+    auto_task(None)
+
+
+@socketio.on('begin_tansuo')
+def handle_begin_tansuo(data):
+    pageNum = data['pageNum'], timesNum = data['timesNum']
+    for i in range(1, timesNum + 1):
+        task_queue.append(task_tansuo(pageNum))
+
+@socketio.on('begin_teamer')
+def handle_begin_teamer():
+    task_queue.appendleft(task_fightzuidui())
+
+
+@socketio.on('begin_yuhun')
+def handle_begin_yuhun():
+    task_queue.appendleft(task_yuhun())
+
+@socketio.on('begin_tupo')
+def handle_begin_tupo():
+    task_queue.append(task_topo(3))
+
+@socketio.on('begin_AddPersion')
+def handle_begin_AddPersion():
+    task_queue.append(task_AddPerson(20))
+
+@socketio.on('begin_jiyang')
+def handle_begin_jiyang():
+    task_queue.append(task_jiyang())
+
+@socketio.on('begin_zhaohuan')
+def handle_begin_zhaohuan():
+    task_queue.append(task_zhaohuan())
+
+@socketio.on('begin_yeyuanhuo')
+def handle_begin_yeyuanhuo():
+    task_queue.append(task_yeyuanhuo())
+
+def add_auto_task(pageNum):
+    global isGameBegin
+    tmp_num = 0
+    ten_pm = datetime.time(4, 0, 0)
+    three_am = datetime.time(5, 0, 0)
+    ten_am = datetime.time(10, 0, 0)
+    while not event.is_set():
+        if len(task_queue) != 0:
+            time.sleep(5)
+            continue
+        current_time = datetime.datetime.now().time()
+        if current_time > three_am and current_time < ten_am:
+            task_close_game()
+            time.sleep(1000)
+            isGameBegin = False
+            continue
+        
+        if isGameBegin == False:
+            while True:
+                task_close_game()
+                if True == task_start_game():
+                    break
+            isGameBegin = True
+            time.sleep(200)
+
+        tansuo_times = random.randint(3, 6)
+        tupo_times = 3
+        liaotupo_times = 0
+        if current_time < ten_pm:
+            liaotupo_times = 2
+        for i in range(liaotupo_times):
+            task_queue.appendleft(task_topo(2, False))
+        for i in range(tansuo_times):
+            task_queue.appendleft(task_tansuo(pageNum))
+        for i in range(tupo_times):
+            task_queue.appendleft(task_topo(2))
+        task_queue.appendleft(task_jiyang())
+    task_queue.clear()
+    send_status(f'自动模式结束')
+    event.clear()
+        
+        
+
+@socketio.on('begin_auto')
+def handle_auto(data):
+    auto_task(data)
+
+def auto_task(data):
+    global autoTask
+    if data == None:
+        pageNum = 28
+    else:
+        pageNum = data['pageNum']
+    send_status(f'开始自动模式')
+    autoTask = threading.Thread(target=add_auto_task, args=(pageNum,))#启动线程往里面添加任务
+    autoTask.daemon = True
+    autoTask.start()
+
+
+@socketio.on('begin_daoguan')
+def handle_begin_daoguan():
+    while not event.is_set():
+        task_daoguan()
+    send_status("结束")
+
+
+@socketio.on('begin_douji')
+def handle_begin_douji():
+    task_queue.append(task_douji(20))
+
+@socketio.on('begin_chaoguiwang')
+def handle_begin_chaoguiwang():
+    task_queue.append(task_chaoguiwang())
+
+
+if __name__ == '__main__':
+    init()
+    if '--reset' in sys.argv:
+        isReset = True
+        print("需要重启游戏")
+    runTask = threading.Thread(target=thread_runTask)#启动线程往里面添加任务
+    runTask.daemon = True
+    runTask.start()
+    
+    socketio.run(app, host= '0.0.0.0', debug=True)

BIN
img/baigui/1.png


BIN
img/baigui/2.png


BIN
img/baigui/3.png


BIN
img/baigui/4.png


BIN
img/baigui/begin.png


BIN
img/baigui/end.png


BIN
img/baigui/enter.png


BIN
img/baigui/friend.png


BIN
img/baigui/head.png


BIN
img/baigui/invite.png


BIN
img/baigui/zero.png


BIN
img/chaoguiwang/first.png


BIN
img/chaoguiwang/getbox.png


BIN
img/chaoguiwang/jijie.png


BIN
img/chaoguiwang/kongbai.png


BIN
img/chaoguiwang/main.png


BIN
img/chaoguiwang/monster.png


BIN
img/chaoguiwang/normal.png


BIN
img/chaoguiwang/second.png


BIN
img/chaoguiwang/strong.png


BIN
img/chaoguiwang/todayhelp.png


BIN
img/chaoguiwang/type_hard.png


BIN
img/chaoguiwang/type_high.png


BIN
img/chaoguiwang/type_ji.png


BIN
img/chaoguiwang/xiaohao.png


BIN
img/douji/AutoGo.png


BIN
img/douji/douji.png


BIN
img/douji/fight.png


BIN
img/douji/fight2.png


BIN
img/douji/shoudong.png


BIN
img/douji/shuju.png


BIN
img/douji/success.png


BIN
img/fengmo/enter.png


BIN
img/fengmo/fengmo.png


BIN
img/fengmo/fight.png


BIN
img/fengmo/people.png


BIN
img/gameStart/close.png


BIN
img/gameStart/gameIn.png


BIN
img/gameStart/ico.png


BIN
img/miwen/Enter.png


BIN
img/miwen/challenge.png


BIN
img/miwen/challenge2.png


BIN
img/miwen/two.png


BIN
img/miwen/yi.png


BIN
img/place/Town.png


BIN
img/place/back1.png


BIN
img/place/back2.png


BIN
img/place/close.png


BIN
img/place/fightBack.png


BIN
img/place/fightBackEnter.png


BIN
img/place/goOutside.png


BIN
img/place/ico.png


BIN
img/place/ico2.png


BIN
img/place/juanzhou.png


BIN
img/place/juanzhou2.png


BIN
img/place/mao.png


BIN
img/place/outside.png


BIN
img/place/search.png


BIN
img/place/searchBackEnter.png


BIN
img/place/title.png


BIN
img/place/title2.png


BIN
img/public/accept.png


BIN
img/public/enter.png


BIN
img/public/fight_begin.png


BIN
img/public/fight_fail.png


BIN
img/public/fight_fail2.png


BIN
img/public/fight_fail3.png


BIN
img/public/fight_success.png


BIN
img/public/fight_success2.png


BIN
img/public/guiwang.png


BIN
img/public/guiwangFight.png


BIN
img/public/guiwang_success.png


BIN
img/public/miwen_success.png


BIN
img/public/tiaozhan.png


BIN
img/public/tiaozhan2.png


BIN
img/public/tiaozhan3.png


BIN
img/public/tiaozhan4.png


BIN
img/public/tiaozhan5.png


BIN
img/public/tiaozhan6.png


BIN
img/public/tiaozhan7.png


BIN
img/public/tiaozhan8.png


BIN
img/public/xiezhu.png


BIN
img/special/tiaozhan.png


BIN
img/special/yaoqing.png


BIN
img/special/zhaohuan.png


BIN
img/tansuo/1.png


BIN
img/tansuo/10.png


BIN
img/tansuo/11.png


BIN
img/tansuo/12.png


BIN
img/tansuo/13.png


BIN
img/tansuo/14.png


BIN
img/tansuo/15.png


BIN
img/tansuo/16.png


BIN
img/tansuo/17.png


BIN
img/tansuo/18.png


BIN
img/tansuo/19.png


BIN
img/tansuo/2.png


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels