Cơ chế mở rộng xử lý của game

Một phần của tài liệu nghiên cứu và phát triển game trên windows mobile (Trang 107)

Các xử lý trong game được mở rộng dưới dạng các plugin AI. Các plugin này giúp máy có thể thao tác với người chơi như chiến đấu, di chuyển trong thế giới game, xây dựng.

Các plugin AI này cần cài đặt interface IAIPlugins. public interface IAIPlugins

{

string Name { get; } int Level { get; }

List<int> NextAIBattle(ref UnitOnBM unit, byte[] matrix, int numCellOnRow);

List<int> NextAIWorld(List<TeamOnWM> listTeam, int idParty, byte[] matrix, int numCellOnRow);

}

Ý nghĩa các thành phần :

 Name : Tên của AI.  Level: Cấp độ của AI.

 NextAIBattle: Xử lý AI cho chiến đấu. o Ý nghĩa các tham số:

unit: đối tượng quân lính cần tính AI. UnitOnBM là đối tượng thể hiện của quân lính trên bản đồ chiến đấu của game.

matrix: mảng thể hiện ma trận lưu bản đồ của trận chiến trong game.

numCellOnRow: do ma trận lưu bản đồ của trận chiến được tổ chức dưới dạng một mảng 1 chiều nên cần thêm tham số cho biết có bao nhiêu ô trên một dòng.

o Giá trị trả về: danh sách các số nguyên thể hiện kết quả của AI. Ý nghĩa giá trị trả về:

Vị trí Ý nghía

0, 1 Tọa độ x, y quân lính cần di chuyển đến.

2 Hành động quân lính cần thực hiện sau khi di chuyển đến vị trí đó. Vị trí này có thể chứa 2 loại giá trị:

− Giá trị -1: không sử dụng phép thuật. Khi đó, giá trị tiếp theo ở vị trí thứ 3 sẽ lưu chỉ số của quân lính cần tấn công. Nếu giá trị ở vị trí 3 là -1 thì sẽ không tấn công.

− Các giá trị còn lại: chỉ số của phép sẽ sử dụng.

3

khác nhau:

− Nếu giá trị ở vị trí 2 là -1 thì giá trị ở vị trí 3 sẽ lưu chỉ số của quân lính sẽ tấn công. Khi đó, nếu giá trị ở vị trí thứ 3 là -1 thì sẽ không có quân lính nào cần tấn công.

− Nếu giá trị ở vị trí thứ 2 khác -1 thì giá trị ở vị trí thứ 3 sẽ tùy theo loại phép thuật cần thực hiện mà mang các ý nghĩa các nhau

o Nếu ở vị trí thứ 2 là chỉ số của phép thuật tấn công hay hỗ trợ thì vị trí 3 sẽ là chỉ số của quân lính cần tấn công.

o Nếu vị trí thứ 2 là chỉ số của phép thuật tạo quân lính thì ở vị trí 3 và 4 sẽ lưu tọa độ x, y sẽ tạo quân lính.

4

Lưu tọa độ y khi vị trí 2 là phép thuật tạo quân lính.

Bảng 6-17-Ý nghĩa giá trị trả về của hàm NextAIBattle

 NextAIWorld : hàm xử lý AI cho thế giới của game như di chuyển trong thế giới game và xây dựng các công trình trong thị trấn.

o Ý nghĩa các tham số:

listTeam: danh sách các đội chơi hiện tại. TeamOnWM là đối tượng thể hiện các đội chơi trong thế giới game.

idParty: chỉ số party cần tính AI.

matrix: mảng thể hiện ma trận lưu bản đồ của thế giới game.

numCellOnRow: do ma trận lưu bản đồ tổ chức dưới dạng mảng 1 chiều nên cần thêm tham số cho biết có bao nhiêu ô trên một dòng.

o Giá trị trả về: danh sách các số nguyên thể hiện kết quả của AI. Ý nghĩa giá trị trả về:

Vị trí Ý nghía

0, 1 Tọa độ x, y quân lính cần di chuyển đến.

2 Nếu có tác động đến các party hay thị trấn khác thì vị trí 2 sẽ lưu chỉ số của nhóm quân hay thị trấn bị tác động đến.

Chương 7 Game Editor

Nội dung của chương này sẽ trình bày chi tiết về ứng dụng dùng để tạo ra mã nguồn cho các dạng game có lối chơi tương tự cho môi trường mobile.

Một phần của tài liệu nghiên cứu và phát triển game trên windows mobile (Trang 107)