Cách tạo ra hai tốc độ khác nhau tron game console

Thường mình làm vòng lặp như sau:

while (1)
{
       .....
       .....
       Sleep( ThoiGian );
}

Như vậy thì tốc độ của mọi đối tượng trong vòng lặp đó như nhau, sau một khoảng ThoiGian thì tất cả đều cập nhập di chuyển một lần. Vậy muốn tạo tốc độ khác nhau cho mỗi đối tượng thì làm sao ạ? Chẳng hạn như trong game Pingpong thì tốc độ của thanh đỡ nhanh gấp đôi tốc độ quả bóng.

This post was flagged by the community and is temporarily hidden.

1 Like
KiemTra = 0;
while (1) {
    // ......
    if (KiemTra % 3) {
        // đối tượng 1
    }

    if (KiemTra % 2) {
        // đối tượng 2
    }

        // đối tượng 3
    Sleep (ThoiGian)
    KiemTra++;
    if (KiemTra == 6)
         KiemTra = 0;
}

Ở đây, mỗi lần lặp thì KiemTra tăng lên 1. Đối tượng 3 di chuyển trong mỗi lần lặp, đối tượng 2 di chuyển khi KiemTra chia hết cho 2 (tức là cách 1 lần di chuyển 1 lần), nên đối tượng 3 di chuyển nhanh gấp đôi đối tượng 2, tương tự: đối tượng 3 di chuyển nhanh gấp 3 lần đối tượng 1…
Khi KiemTra = 6 ( KiemTra chia hết cho 321) thì cho KiemTra quay về 0 để tránh tràn số.

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?