2010-01-09 23 views
8

Tôi cần kiểm tra phần mềm xử lý một số chuyển động của chuột là "cử chỉ". Đối với một nhiệm vụ như vậy, tôi cần mô phỏng chuyển động của chuột từ điểm A đến điểm B, không phải theo đường thẳng, nhưng khi di chuyển chuột thực - với các đường cong, một chút lởm chởm ... Có bất kỳ giải pháp nào (thuật toán/mã, không một thư viện/exe) mà tôi có thể sử dụng?Thuật toán để mô phỏng chuyển động của chuột như con người?

Tất nhiên tôi có thể tự viết một số phép toán hình sin đơn giản, nhưng đây sẽ là một mô phỏng rất thô sơ của bàn tay con người dẫn đầu chuột. Có lẽ một nhiệm vụ như thế đã được giải quyết nhiều lần, và tôi có thể mượn một mã hiện có? :)

Trả lời

7

Hãy xem tệp Mouse.simba là một phần của SRL Framework, một chương trình macro được thiết kế để hoạt động với các trò chơi trực tuyến như Runescape. Runescape có mở rộng khả năng phát hiện macro để tất cả các phần của Khuôn khổ SRL đã được phát triển để trông giống như con người nhất có thể - các chức năng của chuột nói riêng.

Mã nằm trong Pascal nhưng khá dễ đọc. Nhìn vào thủ tục MMouse() bởi BenLand100 nó di chuyển rất thực tế làm các chuyển động tiên tiến như vòng lặp và vượt quá mục tiêu của nó cũng như liên tục tăng tốc và hướng khác nhau (bây giờ cũng có phong trào di chuyển kiểu máy tính xách tay). Nếu bạn muốn thử nghiệm nó, bạn sẽ cần phải tải về SIMBAenable the SRL-include.

+0

Trường hợp Pascal có nhạy cảm hay không? :) – grigoryvp

+2

Không, nó không phân biệt chữ hoa chữ thường. Tiêu chuẩn là viết hoa tất cả các từ trong các thủ tục/tên hàm (như ThisIsAProcedure và AndSoIsThis) và sử dụng thisType ofCapitalisation cho các biến. Nhiều chức năng mà nó sử dụng liên quan đến phần còn lại của khung công tác hoặc là các hàm được tích hợp vào SCAR như GetMousePos. –

4

Làm thế nào để ghi lại một số cử chỉ thực sự và tạo một cách để phát lại chúng? Điều đó sẽ trở nên thực tế như bất cứ thứ gì bạn có thể tổng hợp, và nó sẽ lặp lại được (rất tốt để thử nghiệm).

+0

Đó là một cách hay, nhưng nó sẽ đảm bảo chỉ chương trình được đề cập đó hoạt động trên một số chuyển động được xác định trước. Và tôi muốn cho nó một triệu động tác khác nhau để kiểm tra :). – grigoryvp

+0

Sau đó, có lẽ bạn nên bắt đầu với một vài đường dẫn được ghi lại và áp dụng thử nghiệm mờ để tạo ra hàng triệu biến thể. –

1

Tạo ứng dụng thử nghiệm đơn giản hiển thị chấm vị trí ngẫu nhiên sau mỗi hai giây. Thực hiện theo các dấu chấm cho mình và ghi lại các chuyển động của chuột tự nhiên của bạn.

1

Một cách để nắm bắt hành vi này có thể là xác định "lưới" ẩn trên màn hình, nơi bạn theo dõi ô vuông nào di chuột qua hành trình của nó.

Nếu phần này hoạt động và ghi lại đúng cách, không cần phải bắn phá nó bằng các thử nghiệm, vì bạn biết rằng mỗi ô vuông đều thực hiện công việc của mình. Giải thích cử chỉ cũng dễ dàng hơn với điều này.

Các vấn đề liên quan