Xe tự động

Một phần của tài liệu ứng dụng trí tuệ nhân tạo trong xây dựng game (Trang 117 - 120)

Tránh chướng ngại vật trên đường đi

Giả sử người chơi muốn di chuyển từ một điểm bắt đầu đến điểm kết thúc. Tất nhiên nếu giữa nó khơng có chướng ngại vật nào hết thì rất đơn giản, chỉ cần cho nó di chuyển theo một đường thẳng đi qua điểm bắt đầu và điểm kết

thúc.

Ở đây chúng ta đặc biệt chú ý đến trường hợp: giữa 2 điểm bắt đầu và kết

thúc có các chướng ngại vật: là các chiếc xe khác hoặc là các chướng ngại vật tĩnh.

Chương 4: Cài đặt

Ví dụ ở đây: để người chơi di chuyển đến một vị trí nào đó ta có thể nhấp chuột đến vị trí cần người chơi cần đến:

Lúc này điểm bắt đầu là vị trí của người chơi, điểm kết thúc là vị trí nút

nhất của chuột.

Có 8 hướng khác nhau xung quanh một người chơi, mỗi một hướng khác nhau ta xem đó là một nút. Một nút có thể có độ rộng khác nhau tùy thuộc vào chúng ta muốn chọn bao nhiêu.

Hình 2

Nếu một nút chứa một chướng ngại vật thì ta xem nút đó là nút khơng có giá trị, sẽ khơng được chọn trong lúc tìm đường đến đích.

Hình 3

3 4 5 kt 2 v v 1 v v

Chương 4: Cài đặt

Giả sử từ nút bắt đầu bđ, muốn tìm một đường đi đi đến nút cần đến (nút kt).

Và các nút v là các chướng ngại vật:

Ở đây, mỗi nút trung gian (như các nút 0, 1 … 7), sẽ chứa 2 giá trị là chi phí đường đi (waycost), và chi phí tồn bộ nút (nodecost).

Mỗi nút có một nút cha, và một nút cha có 8 nút con (trong trường hợp bình thường), nằm xung quanh nút này.

Giả sử một nút có chi phí đường đi là waycost, thì các nút con của nó sẽ có

waycostcon=waycostcha+1;

Trong đó nút bắt đầu khơng có nút cha và ta cho waycost của nó là 0.

Ở đây ta sử dụng một heuristic, đó là khoảng cách từ nút đó đến nút đích (nút

kt), ta kí hiệu là goal_dist, thì chi phí của một nút sẽ là:

nodecost=waycost+goal_dist

Như vậy thuật toán sẽ gồm các bước sau:

Với thuật toán như vậy, trong hình 3 để tìm đường đi từ điểm bắt đầu (bd) đến

điểm kết thúc (kt), ta sẽ đi qua con đường đi qua các nút 1, 2, 3, 4, 5.

Bước 1:

Mở nút bắt đầu Bước 2:

- Chọn trong danh sách các nút mở ra một nút có nodecost nhỏ nhất. - Nếu khơng cịn nút nào nữa thì kết thúc thuật tốn.

Bước 3:

- Nếu nút này là nút đích thì thuật tốn kết thúc. - Nếu khơng thì:

+ Tạo ra các nút con từ nút này, với điều kiện các nút con không

phải là nút chứa các chướng ngại vật.

+ Đóng nút này lại và mở tất cả các nút con được tạo ra.

Chương 4: Cài đặt

TÀI LIỆU THAM KHẢO

[1] Hướng dẫn có sẵn trong chương trình 3D Game Studio.

[2] Các tài liệu hướng dẫn trên trang web: www.3DGameStudio.com. [3] Bạch Hưng Khang, Hồng Kiếm, Trí tuệ nhân tạo, các phương pháp và

Một phần của tài liệu ứng dụng trí tuệ nhân tạo trong xây dựng game (Trang 117 - 120)

Tải bản đầy đủ (PDF)

(120 trang)