Đây là game đầu tiên của mình. Ngay khi vừa được chỉ làm game thì mình bắt đầu làm game này luôn. Được viết trong 4 ngày.Do người mới học làm game viết nên code hơi dài tí, nhưng cực dễ hiểu, lại có báo cáo giải thích công dụng từng nên đọc code hiểu ngay
Các class trong chương trình :
class CBrick
{
private:
int matrix[BRICK_ROW][BRICK_COL];
int value; // bằng 0 là ô gạch trống, != 0 có tồn tại viên gạch
public:
//..
}
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
Thuật toán game như sau:
Hàm PlayGame
{
Tùy theo tham số mode mà có thiết lập bảng Board và thông tin người chơi hay không, nếu không thì tất cả các ô gạch giá trị bằng 0 và nhập thông tin người chơi.
Tạo một viên gạch hiện tại để chơi
Tạo một viên gạch kế tiếp
Tạo một cái bóng có dữ liệu từ viên gạch hiện tại
do // một nhịp game ban đầu là 0.3s
{
Xuất thông tin người chơi(do điểm có thể thay đổi nên xuất liên tục)
Nếu nhận được kí tự từ bàn phím:
+ Xóa khối gạch,bóng
+ Xử lí kí tự
+ Cập nhật lại tình trạng gạch, bóng sau khi xử kí
}while(thời gian <0.3s) // về sau level cao thì nhịp game tăng lên
Kiểm tra đi xuống (cứ hết nhịp game là kiểm tra đi xuống)
If Đi xuống tiếp được
Xóa cũ, cập nhật, vẽ mới
Else
Gán giá trị viên gạch cho bảng
In ra bảng mới
Kiểm tra thắng/ thua
If(thắng/thua)
Break;
Else
Xóa khối hiện tại
Hiện tại trỏ tới next, next tạo mới, bóng lấy dữ liệu từ gạch hiện tại;
} (trong khi chưa thắng/ thua)
Lấy dữ liệu từ Rank, sắp xếp để cập nhật mới Rank.