1645323
Robocode
https://vi.wikipedia.org/wiki?curid=1645323
Title: Robocode
Chiến trường Robocode là nơi mà tất cả các trận đấu diễn ra. Mỗi điểm có tọa độ x là tọa độ theo chiều ngang và y là tọa độ theo chiều dọc cặp tọa độ này sẽ thay đổi tùy theo vị trí của chiến trường. Vị trí ban đầu (0, 0) của chiến trường được đặt ở dưới cùng bên trái của chiến trường, một tọa độ (x, y) trên chiến trường luôn luôn là một cặp số thực dương.
Heading and Bearing.
Để robot biết được vị trí và hướng di chuyển của các đối thủ, chúng phải có các dữ liệu để tính toán. Đó chính là heading và bearing. Phần sau đây sẽ mô tả làm sao heading và bearing được thực hiện trong Robocode.
Heading (hướng tuyệt đối).
Khi robot đang di chuyển, nó có heading. Heading này có thể lấy được cho các robot bằng phương thức getHeading() ở một thể hiện của lớp Robot. Chúng ta có thể lấy được heading của chính con robot của ta cũng như heading của các con robot khác bằng bộ quét rađa.
Heading trong Robocode được đo trong khoảng từ 0 độ tới 360 độ.
Nếu robot hướng mặt về phía bắc của chiến trường thì heading là 0 độ.
Thông thường thì trong toán học, khi robot hướng mặt về phía đông của chiến trường nó có heading bằng 0 độ. 
Bearing (hướng tương đối).
Bearing là một hướng trong khoảng từ -180 độ tới 180 độ tương ứng với vị trí heading hiện tại. Một bearing từ 0 độ tới -180 độ sẽ ở bên trái của robot và bearing từ 0 độ tới 180 độ sẽ là ở bên phải của robot.
Môi trường Robocode.
Để cài đặt được cho một robot hoạt động, điều quan trọng là phải hiểu rõ môi trường hoạt động của các robot. Chúng ta hãy bắt đầu bằng cách giải thích cách Robocode xử lý thời gian và khoảng cách của nó.
Vòng lặp chính.