Hướng Dẫn Code Game Rắn Săn Mồi Trong C++

Hướng Dẫn Code Game Rắn Săn Mồi Trong C++

Trước khi đi vào chi tiết hướng dẫn trò chơi, chúng ta sẽ xem qua sản phẩm cuối cùng mà chúng ta sẽ nhận được nhé. Ở đây mình có quay một video ở bước gần hoàn thiện sản phẩm. Nếu bạn để ý thì trong clip có bị một lỗi nhỏ. Tuy nhiên, nó đã được khắc phục ở sản phẩm cuối cùng.

Nếu bạn thấy hứng thú với sản phẩm này thì hãy tiếp tục đọc bài hướng dẫn nhé. À, tất nhiên là bạn có thể tiếp tục hoàn thiện nó rồi. Nhìn thì cũng ok đấy nhưng cần cải tiến nhiều cả về chức năng lẫn thiết kế. Hi vọng sau hướng dẫn này chúng ta sẽ có nhiều phiên bản nâng cấp, hay hơn so với bản gốc.

Kiến thức cần có

Để hoàn thành trò chơi rắn săn mồi này, chúng ta cần rất nhiều các kiến thức. Tuy nhiên bạn không cần bắt buộc phải nắm được các kiến thức dưới đây mà chỉ cần hoàn thành khóa học lập trình C/C++ là có thể lao vào chiến đấu được rồi. Khi gặp kiến thức mới các bạn cần tự tìm hiểu bổ sung nhé. Dưới đây là các kiến thức cần có mình liệt kê ra để các bạn chuẩn bị trước, hoặc khi dùng tới nó thì tìm hiểu:

  • Kiến thức lập trình C/C++ và tư duy lập trình cơ bản
  • Kiến thức lập trình đồ họa trong C, thư viện graphics.h/ winbgim.h (xem Chương 9 tài liệu lập Kỹ thuật lập trình C thầy Phạm Văn Ất)
  • Kỹ thuật đọc ghi file
  • Thao tác với bàn phím và chuột sử dụng ngôn ngữ C++
  • Các kiến thức còn lại tự học là chủ yếu (Cách điều khiển chuột, Phát nhạc trong C++,...)

Trừu tượng hóa, xác định các đối tượng của game

Để có thể triển khai code, trước tiên chúng ta cần phân tích trò chơi này, xem nó có những đối tượng nào. Mỗi đối tượng có những hành vi gì,...

Hệ tọa đồ của màn hình đồ họa

Bạn cần nắm được hệ tọa độ của màn hình đồ họa, bởi chúng ta làm việc với nó rất nhiều. Bạn muốn vẽ cái gì lên màn hình thì đều cần chỉ định tọa độ mà bạn cần vẽ.

Game Rắn Săn Mồi 3

Hướng của trục tọa độ trong màn hình Console, trục Oy có chiều hướng xuống dưới.

Phân tích đối tượng rắn trong game

Con rắn săn mồi của chúng ta sẽ là một chuỗi các hình tròn nhỏ (các đốt của con rắn) nối lại với nhau (số hình tròn nhỏ chính là độ dài của con rắn). Khởi tạo trò chơi, chúng ta có thể đặt độ dài ban đầu của nó là 3 chẳng hạn. Trong quá trình trò chơi diễn ra, ta phải lưu vết được tọa độ của từng hình tròn đó.

Game rắn săn mồi

Đối tượng con rắn có thể mô phỏng là chuỗi các hình tròn nhỏ (các chấm xanh liên tiếp trong ảnh chính là đối tượng rắn của chúng ta).

Tại mỗi bước dịch chuyển của rắn, mỗi đốt thân của rắn sẽ dịch chuyển đi 1 đơn vị độ dài bằng nhau. Trong đó, đốt thân đầu tiên (đầu của rắn) sẽ tiến lên theo hướng dịch chuyển, các  đốt thân phía sau di chuyển đến vị trí cũ của đốt thân phía trước nó. Ví dụ:

Giả sử con rắn có 3 đốt và tọa độ của nó hiện tại là: x1(3,0) – đầu, x2(2,0) và x3(1,0) và đang đi theo hướng trục Ox. Bây giờ rắn đổi hướng di chuyển sang bên trái. Khi đó tọa độ mới của từng đốt là: x1(3,-1), x2 sẽ là tọa độ của x1 cũ (3, 0) và x3 chuyển sang vị trí của x2 cũ là (2, 0).

Trừu tượng hóa các đối tượng trong game

Như vậy, ta sẽ xây dựng một đối tượng Điểm. Đối tượng này giúp ta lưu được tọa độ của một điểm trên trục tọa độ 2 chiều Oxy. Ta có cấu trúc Điểm như sau: