Hướng dẫn lập trình Robocode với ngôn ngữ C++

Nếu bạn đang tham gia cuộc thi Robocode 2014 ĐH Mở TpHCM
Nếu bạn chọn ngôn ngữ tham gia là C++
Nếu bạn là 1 tân binh chưa biết lập trình 1 chiếc xe tăng bằng C++ như thế nào

Bài viết này đơn giản muốn giúp bạn giải quyết

clip_image002
Hướng dẫn lập trình Robocode với ngôn ngữ C++

Trước tiên bạn phải hiểu rằng Robocode chỉ support .NET và Java chứ không có cho Native C/C++. Vì vậy ở trong cuộc thi hay trong bài viết này, khi nhắc đến C++ thì các bạn hiểu đó chính là chuẩn C++/CLI của .NET. Và để cho dễ dàng thì mình sẽ dùng IDE là Visual Studio (2010 trở lên)

Có thể xem wiki để hiểu thêm C++/CLI: http://en.wikipedia.org/wiki/C%2B%2B/CLI

1. Cách tra cứu Robocode C++ API

Vẫn tương tự như .NET: http://robocode.sourceforge.net/docs/robocode.dotnet/Index.html

Tuy nhiên ở mỗi section Syntax, thì các bạn chọn qua tab C++, ví dụ:

clip_image004

Điểm cơ bản khi bạn làm quen C++/CLI là kiểu con trỏ ^ (thay vì *) và tham chiếu % (thay vì &)

2. Lập trình

Bước 1. Vào Visual Studio, File/New Project/Visual C++/CLR/Class Library (nhớ là CLR chứ không chọn Win32)

clip_image006

Bước 2. Nhấp phải project chọn Add/References…/Add new reference và chọn đến robocode.dll (thường là C:\robocode\libs\robocode.dll). Sau đó Ok

Bước 3. Nhấp phải project chọn Properties/Configuration Properties, chỉnh Common Language runtime Support sang mode Safe MSIL Common Language Runtime Support (/clr:safe). Sau đó Ok.

Bước 4. Vào file <ten_project>.h để declare các hàm và file <ten_project>.cpp để implement các hàm đã declare (Phần này yêu cầu có 1 chút kiến thức hướng đối tượng).

Ví dụ:

clip_image008

clip_image010

Bước 5. Build thôi

Bước 6. Mở Robocode lên và cấu hình Development Options (Options/Preferences/Development Options) để trỏ đến thư mục debug của project vừa tạo. Lưu ý là C++ thì thường folder Debug nằm ngoài folder project (folder đó phải chứa file <ten_project>.dll)

Bước 7. Test thử bằng cách chạy Robocode, Battle/New và add robot mình đã tạo vào

clip_image012

clip_image014

3. Ruby và Python thì sao???

Có thể dùng IronLanguages thay thế https://github.com/IronLanguages

Hướng dẫn Robocode bằng C# – Hiếu Paul

Hướng dẫn Robocode bằng Java – An Phan

Cám ơn các bạn đã quan tâm!

1 responses to “Hướng dẫn lập trình Robocode với ngôn ngữ C++

Bình luận về bài viết này