ربات انجام دهنده ی بازی پست قبل .

دوشنبه, ۲۱ تیر ۱۴۰۰، ۰۶:۵۲ ق.ظ

خیلی خب . رباتی که بتونه این بازی رو انجام بده رو با پایتون نوشتم و البته یه سری از مفاهیم مورد نیاز برای نوشتن ربات رو از اسکرپیت آقای کاپیتان فهمیدم .

 

کار این ربات اینجوری هستش که میاد صفحه رو اسکن میکنه و میبینه هر نقطه اون نقطه های قرمز بوجود اومد رو موقعیتش رو پیدا میکنه و با موس روش کلیک میکنه . 

 

سورس ربات :

import pyautogui as g
from time import sleep
import keyboard
from winsound import Beep
import threading
picture = "sample.png"

def findandclick():
    try:
        location = g.locateOnScreen(picture , region = region)
        pos = g.center(location)
        g.click(pos[0] , pos[1])
        Beep(1000,100)
        print("Click At ({} , {})".format(pos[0], pos[1]))
    except Exception as error:
        print("ERROR : " , error)
for i in range(5,0 , -1):
    print (i)
    sleep(1)

print("start")

region = (0 , 171 , 1365 ,499)

while True:
    if keyboard.is_pressed("q"):
        break
    findandclick()
    

هر بار که یه نقطه رو پیدا میکنه و روش کلیک میکنه یه بوق میزنه . ویدیو تست کردنش :

 

ولی خب مشکل اینجاس که چون با پایتون نوشته شده سرعتش پایینه . فعلا دنبال اینم با سی پلاس پلاس پیاده سازیش کنم . البته داخل سی پلاس پلاس هم یه سری مشکلاتی بوجود اومده . من برای گرفتن رنگ هر پیکسل از تابع GetPixel استفاده میکنم ولی سرعتش بازم خیلی خیلی پایینه . اگه تابعی یا روشی برای خوندن سریع رنگ پیکسل ها تو سی پلاس پلاس سراغ دارید ممنون میشم بگید . 

 

و نهایتا اینم رکورد زدن خودم (بدون ربات) به آهنگشم توجه نکنید همینجور داشتم گوش میکردم فیلم گرفتم :|| :

موافقین ۲ مخالفین ۰

آهنگه -______- 

 

اسمش چیه منم میخوام برم گوشش بدم -=-

سلام .قطعه Life On Mars

این بر چه اساسی امتیاز میده ؟

من دفعه اول با گوشی تمام قرمز هارو زدم 

و یه کلیک اشتباه رو صفحه داشتم

۳۰۹ داد...

نمیدونم شاید چون با گوشی بوده کل صفحه رو نشون نمیداده و یه سریش از دستت در رفته یا یه همچین مشکلایی .
و اینکه فک کنم هرچی سریع تر نقطه های قرمز رو بزنی اونم سریع تر نقطه های بعدی رو بهت نشون میده . 

ناراحت که نشدین که گفتین اهنگ رو بهش توجهی نکنین ولی من از اهنگه پرسیدم -________-

نه منظورم این بود آهنگ ربطی به کار اصلی نداره همینجوری پلی شده 😂
خوشحالم که از آهنگ خوشتون اومده :)

^^خخخخخخخخخخ

 

خواهش ^^

 

باز من فکر کردم که ناراحت شدین ^^

ಠ⌣ಠ
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">