Mình có một đề tài về làm game kim cương trên C++.
Để đơn giản mình chỉ đề cập đến vấn đề ăn 3 viên theo chiều ngang hoặc dọc thôi. Các trường hợp còn lại mình sẽ tự code.
Theo ý của mình, sau khi cho đổi ô, nếu 3 viên liền kề (dọc hoặc ngang) nhau giống nhau thì điểm "Score" sẽ cộng thêm 3 và 3 ô đó sẽ trở về rỗng (0).
Sau đó mình định nghĩa 1 hàm, hàm đó sẽ duyệt mảng 2 chiều, nếu ô nào rỗng và giá trị ô bên trên nó là khác rỗng thì đưa dồn ô trên xuống.
Nếu trong quá trình dồn mà vô tình các ô lại "ăn 3" thì vẫn tăng điểm lên 3 (dù không có tác động của người chơi)
Ý tưởng là vậy nhưng mà khi code thì nó cứ bảo là không đọc được ô nhớ.
Các bạn xem giúp mình nhé.
Mình có up file code nguồn Jewel chứa các điều kiện nhập xuất dữ liệu, các file input, output
Còn file Jewel_coding.cpp chứa chương trình mình đang code dỡ.
Các bạn giúp mình nhé. Mình mới biết C++ nên còn gà lắm :shy:
Để đơn giản mình chỉ đề cập đến vấn đề ăn 3 viên theo chiều ngang hoặc dọc thôi. Các trường hợp còn lại mình sẽ tự code.
Theo ý của mình, sau khi cho đổi ô, nếu 3 viên liền kề (dọc hoặc ngang) nhau giống nhau thì điểm "Score" sẽ cộng thêm 3 và 3 ô đó sẽ trở về rỗng (0).
Sau đó mình định nghĩa 1 hàm, hàm đó sẽ duyệt mảng 2 chiều, nếu ô nào rỗng và giá trị ô bên trên nó là khác rỗng thì đưa dồn ô trên xuống.
Nếu trong quá trình dồn mà vô tình các ô lại "ăn 3" thì vẫn tăng điểm lên 3 (dù không có tác động của người chơi)
Ý tưởng là vậy nhưng mà khi code thì nó cứ bảo là không đọc được ô nhớ.
Các bạn xem giúp mình nhé.
Mình có up file code nguồn Jewel chứa các điều kiện nhập xuất dữ liệu, các file input, output
Còn file Jewel_coding.cpp chứa chương trình mình đang code dỡ.
Các bạn giúp mình nhé. Mình mới biết C++ nên còn gà lắm :shy:
Comment