Giới thiệu về Delphi - Công cụ lập trình Auto Game tốt nhất hiện nay

XTC™

Administrator
Thành viên BQT
Trước đây thì XTC dùng AutoIt để code Auto Boom và AutoIt cũng là ngôn ngữ chính thảo luận trong diễn đàn. Ưu điểm của AutoIt là rất nhẹ, bộ cài dưới 10mb , các câu lệnh được xây dựng sẵn với rất nhiều chức năng chuyên sâu vào lập trình Game như ControlClick, ControlSend, PixelGetColor,... và đơn giản, dễ học, dễ sử dụng. Vì vậy có một bộ phận khá lớn các bạn sử dụng nó để viết Auto Game và một số Soft.

Tuy nhiên, càng đi sâu vào AutoIt thì nó càng lộ rõ nhiều yếu điểm và bất cập. Điểm yếu lớn nhất có lẽ là khả năng bảo mật mã nguồn, vì là ngôn ngữ kịch bản nên khi biên dịch sang file thực thi ( .exe ) nó chứa luôn mã nguồn gốc cửa chương trình rồi sau đó khi chạy sẽ giải nén vào bộ nhớ. Do vậy mà hầu như bất cứ chương trình nào viết bằng AutoIt dù có mã hóa bảo vệ tới đâu thì cũng có cách để dịch ngược mã nguồn. Điểm yếu thứ hai là về tốc độ xử lý, độ đa dạng của câu lệnh. Vì là các lệnh của AutoIt chủ yếu là được xây dựng sẵn nên để viết các ứng dụng lớn ( như Auto của XTC chẳng hạn ), thì sẽ gặp rất nhiều khó khăn.

Mình nêu một số nhược điểm của các câu lệnh trong AutoIt như sau :

- Tốc độ quá chậm. Khi chạy 1 2 lệnh thì các bạn sẽ không thể cảm nhận được tốc độ của nó, nhưng chạy 1 chuỗi 100 lệnh liên tục thì chắc chắn là các bạn có thể cảm nhận được nếu các bạn lập trình song song với một ngôn ngữ lập trình khác như Delphi,C++... Chắc AutoIt nó chạy thời gian lâu gấp 2 3 lần.
- Các lệnh được xây dựng sẵn nên không thể tối ưu cho chương trình của bạn.
VD : Lệnh PixelGetColor là lấy màu từng điểm bằng tọa độ trên màn hình. Tuy nhiên nếu lấy 10 điểm thì nó thực sự quá chậm chạp. Nếu tự viết hàm trong Delphi thì các bạn có thể lấy cùng lúc 10 điểm với tốc độ cực kỳ nhanh.
- Không thể viết các file DLL, Auto Game mà không có DLL Hook hỗ trợ thì không thể nào phát huy được sức mạnh. DLL Hook hiểu cơ bản là tiêm một file DLL vào một Game. Thông qua file DLL đó để đọc các dữ liệu, sửa các Api mà Game gọi tới để hỗ trợ cho Auto.

Nhưng tại sao lại là Delphi mà không phải là C++, C#, VB,... ?

- Ngôn ngữ Delphi có thể nói là dễ học hơn những cái kia rất nhiều vì nó được xây dựng từ Pascal ( được dạy cả ở cấp 2 và cấp 3 ) nên thực ra nó là ngôn ngữ Pascal.
- File biên dịch ( .exe ) có thể chạy trên mọi máy mà không cần phải cài thư viện như những ngôn ngữ lập trình của Microsoft ( C++ phải cài c++ redestributable mới chạy được, C#,VB phải cài netframe work ) . Do vậy nếu các bạn viết phần mêm thương mại bằng Delphi sẽ rất dễ cài đặt và sử dụng.
- Tốc độ nhanh. Khi biên dịch thì mã nguồn được dịch sang mã máy, có một số phần sẽ được mã hóa rất kỹ và hoàn toàn không bao giờ có chuyện dịch ngược được Delphi ( các phiên bản XE thôi nhé ).
- Hỗ trợ hầu như tất cả những thứ mà các ngôn ngữ khác có. Như C++ có gì thì Delphi cũng có, nếu không có thì sẽ có người viết :v
- Cộng đồng Delphi cực kỳ lớn, tuy ở Việt Nam rất ít nhưng nếu các bạn tìm kiếm bằng tiếng anh thì có thể thấy nó được sử dụng cả ở châu Âu, châu Mỹ, Nga, Trung Quốc, Do Thái, Ả Rập... :v cộng đồng có thể nói là gấp khoảng 100.000 lần AutoIt nên các bạn muốn tìm tài liệu hoặc mã nguồn thì hầu như là trên mạng cái gì cũng có sẵn rồi.
- Cuối cùng, biết lập trình tốt Delphi sẽ mở ra tương lai rất sáng sủa :like:

Ai có thắc mắc gì về Delphi thì up lên đây nha
:005:
 

AlohaDN

Thành viên mới
mở lớp hướng dẫn đi đại ca:ngo:có dễ nhai hơn autoit k :okaytroll:
 
Top