Giới thiệu về bài học
Trong bài học này, chúng ta sẽ học cách tạo ra các mục tiêu trong trò chơi mà chúng ta tạo ra. Ngoài ra chúng ta sẽ học cách tấn công kẻ thù bằng cách nhấp chuột hay sử dụng trackpad.
I. Mục tiêu (Goal)
Ở các bài học trước, chúng ta hay bắt gặp mục tiêu ở các level như sau:
- Các nhân vật cần phải sống sót
- Tránh xa các gai nhọn
- Tiêu diệt lính gác
- Anh hùng cần phải thu thập đầy đủ kim cương
- …
Đó chính là các mục tiêu mà chúng ta sẽ cần thiết lập khi ta tạo ra một trò chơi hoàn chỉnh.

Vậy, để tạo ra một mục tiêu thì ta có 2 phương thức như sau:
1. PHƯƠNG THỨC THỨ NHẤT:
Để tạo một mục tiêu là anh hùng đánh bại một số kẻ thù nhất định thì ta làm như sau:
Đây là phương thức thuộc về đối tượng ‘game’. Tên của phương thức này là addDefeatGoal, và phương thức này cần một đối số: số kẻ thù cần đánh bại trước khi anh hùng hoàn thành mục tiêu của cảnh này. Nếu không truyền đối số nào vào phương thức này, anh hùng sẽ phải đánh bại tất cả kẻ thù trong cảnh trước khi hoàn thành mục tiêu.
2. PHƯƠNG THỨC THỨ HAI: Tạo lại mục tiêu mới
Để tạo mục tiêu là anh hùng cần phải sống xót trong một khoảng thời gian cụ thể thì ta làm như sau:
Đây là phương thức thuộc về đối tượng ‘game’. Tên của phương thức này là addSurviveGoal, và phương thức này cần một đối số: số giây mà anh hùng cần sống sót. Nếu không truyền đối số nào vào phương thức này, anh hùng sẽ phải sống sót đến khi hoàn thành tất cả các mục tiêu khác trong cảnh đó (ví dụ như đánh bại một số kẻ thù cụ thể).
Ngoài việc tạo mục tiêu ở trên, chúng ta sẽ tìm hiểu thêm một phương thức giúp chúng ta có thể tạo một mê cung mới trong trò chơi như sau:
Đây là phương thức thuộc về đối tượng ‘game’. Tên của phương thức này là spawnMaze, và phương thức này cần một đối số: id độc nhất của mê cung mà bạn muốn tạo trong cảnh này. Bạn có thể chọn số mà mình muốn truyền vào phương thức này (thực hành trong cấp độ 11 của học phần này)
II. Cơ chế trò chơi: Thao tác Click để tấn công
Ở bài học trước, ta đã làm quen cơ chế trò chơi rồi. Trong buổi học ngày hôm nay, chúng ta sẽ tìm hiểu về cơ chế mới là thao tác click chuột để tấn công. Các em hãy xem hình ảnh dưới đây để có thể hình dung được cơ chế này một cách dễ dàng nhé:
III. Mini game
Giả sử chúng muốn thiết kế một trò chơi mà anh hùng phải đánh bại 3 người lùn trong mê cung #5 (mã số là 5). Khi đó, ta sẽ viết chương trình như thế nào để người chơi có thể chơi? Hãy hồi sinh đội trưởng (captain), 3 người lùn (munchkin) và tất cả các mục tiêu liên quan!
Dưới đây là giải pháp cho yêu cầu trên:
Đầu tiên, ta cần tạo lại mê cung bên phải. Vì muốn có mê cung thứ 5, nên ta sẽ truyền 5 vào phương thức spawnMaze. Tiếp đó, ta cần có anh hùng (captain). Ta có thể hồi sinh đội trưởng nhờ có phương thức spawnPlayerXY. Ta muốn anh hùng chiến thắng sau khi đánh bại 3 người lùn, nên ta sẽ gọi addDefeatGoal(3) và spawnXY(“munchkin”, x, y) ba lần.
Kết luận
Như vậy, các em đã biết cách tạo lại (Spawn) các mục tiêu mới trong trò chơi cũng như tấn công kẻ thù bằng cách nhấp chuột/sử dụng trackpad. Hãy thực hành nhiều hơn và thử sáng tạo những trò chơi của riêng mình. Sau khi kết thúc bài học này, các em có thể thực hành thông qua các màn chơi từ levels 6 – 11 trong Game Dev 1 của CodeCombat nhé!