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
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ụ:
Đ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)
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ụ:
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
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!
Reblogged this on Hieu Paul and commented:
Nếu muốn các bạn có thể tìm hiểu thêm C++ tại đây.
ThíchThích