30/09/2018, 18:39
Tạo 1 con rắn gồm 3 ô?
Xin chào mọi người,
Mình đang tìm hiểu cách để làm 1 game snake cơ bản (không ăn mồi để dài ra):
- 1 snake (gồm 3 ô vuông, kích thước mỗi ô do mình tự quy định : 20x20)
- Vì kích thước của con rắn khá nhỏ nên mình lên ý tưởng thuật toán như sau :
- Vẽ tất cả các trường hợp di chuyển có thể có của con rắn (Ảnh) trong 1 class Panel.
Sau đó ở class Frame mình dùng hotkey để set cho nó chạy : ví dụ như đang ở trường hợp (1) mà nhấn Right thì nó sẽ set lại trường hợp (2), đang trong trường hợp (3) mà nhấn Down thì nó sẽ vào trường hợp (4), …
Đó là ý tưởng của mình, mình không biết với 1 con rắn dài 4 ô, 5 ô, … n ô thì có thuật toán nào tối ưu không ? Mong mọi người giúp đỡ
Bài liên quan
Bạn thử khai báo 1 biến huongdi (1,2,3,4) cho con rắn , Mỗi lần nhấn phím thì tương ứng với 1 hướng đi, Con rắn cứ theo hướng đi đó mà lần lượt đổi hướng từng ô một.
Ví dụ bạn có con rắn 4 ô đang đi lên (huongdi = 1 chẳng hạn), bạn bấm sang phải, huongdi của rắn sẽ set lại bằng 2.
Tóm lại là Nguyên con rắn có 1 biến hướng đi. Mỗi ô cũng có 1 biến hướng đi. Hướng đi sẽ truyền lần lượt cho các ô sau.
Mình cũng chỉ nghĩ vậy thôi chứ chưa làm.
Về thân con rắn thì cứ đặt cho nó
Khi di chuyển thì sử dụng 4 biến hướng đi như trên.
Ví dụ di chuyển sang phải: