Bài viết này sẽ hướng dẫn các bước chi tiết để lập trình game Đua xe công thức 1.
Phần 1. Vẽ Xe đua và Đường đua
Hướng dẫn vẽ Xe đua
Tìm kiếm Google với từ khóa ‘formula 1 car top view’ để tìm hình ảnh xe đua công thức 1, góc nhìn từ trên cao xuống.
Dựa trên hình ảnh tham khảo để vẽ sprite Xe đua có tỷ lệ đẹp và tương đối giống với xe đua thật.

Xoá sprite Chú mèo mặc định, Choose a New Sprite -> Paint -> Convert to Bitmap. Đặt tên cho sprite mới là Formula 1 Car.
Zoom màn hình thao tác, chọn Brush 1 hoặc 2, chọn màu để vẽ. Kết hợp với công cụ Circle hoặc Rectangle để vẽ đường thẳng, đường tròn trên xe.
Mới bắt đầu nên vẽ một cách đơn giản, kết hợp các khối hình (shape) để tạo hình xe.

Hoặc kết hợp phối màu và thêm nhiều chi tiết khác nhau để xe giống thật hơn, tuỳ vào khả năng vẽ của bạn.

Hướng dẫn vẽ Đường đua
Gõ cụm từ ‘Formula 1 circuit map’ để tìm hình ảnh sơ đồ đường đua làm tham khảo.
Đối với đường đua, chúng ta không vẽ trong sprite, mà sẽ vẽ trong backdrop.
Choose a Backdrop -> Paint -> Convert to Bitmap, đặt tên Circuit map và vẽ.
Sử dụng công cụ fill màu nền, sau đó sử dụng brush để vẽ đường đua và các chi tiết đích đến, chướng ngại vật màu đỏ.
Nên bắt đầu từ đơn giản trước. Càng vẽ nhiều khả năng vẽ sẽ càng lên tay. Tham khảo hình vẽ mẫu dưới đây.

Bạn có thể tải sprite Xe đua và backdrop đường đua tại đây.
Phần 2. Lập trình Đua xe
Bước 1: Lập trình giao diện Xe đua
Với sprite mẫu tải xuống, các bạn sẽ giảm kích thước còn 30% là phù hợp. Với sprite tự vẽ, hãy xem kích thước xe so với đường đua để điều chỉnh thông số này phù hợp nhé.
Trên màn hình chính, kéo xe đua tới vị trí vạch xuất phát, sau đó dùng lệnh Go to x … y. Toạ độ x, y sẽ tự động cập nhật.
Xe sẽ hướng về phía bên trái, dùng lệnh Point in direction -90.

Bước 2: Lập trình Xe đua di chuyển
Trước tiên sẽ lập trình cho xe có thể rẽ phải, rẽ trái bằng lệnh if… then. Xe quay về phía bên trái 5 độ khi bấm phím mũi tên trái, quay về bên phải 5 độ khi bấm phím mũi tên phải.
Các khối if… then trong game này sẽ đưa vào vòng lặp Forever

Để xe di chuyển tới phía trước với hiệu ứng drag giống thật hơn, hãy tạo biến speed. Sau đó Set speed to 0 khi xuất phát. Khi bấm up sẽ thay đổi tốc độ Change speed to 1.
Tuy nhiên, nếu luỹ tiến tốc độ sẽ rất cao, do đó sẽ giới hạn tốc độ = 3 nếu biến speed > 3.
Đồng thời khi không bấm phím nào (lưu ý NOT key any pressed) tốc độ sẽ giảm dần về 0, thông qua lệnh Set speed to speed * 0.8.

Ngoài ra, nếu chạm vào cỏ (màu xanh), xe sẽ bị giảm tốc độ nhiều hơn, bằng cách điều chỉnh speed * 0.5

Nếu xe chạm vào các chướng ngại vật (màu đỏ) sẽ quay trở lại vạch xuất phát.

Nếu chạm vạch đích màu vàng, sẽ dừng game, có thể thêm hiệu ứng âm thanh khi chạm vạch đích. Vào sound chọn Car Vroom trong tab sports.

Xem lại các bước lập trình, sau đó bấm chạy thử.

Hướng dẫn hiển thị thời gian mỗi lần đua
Để biết thời gian mỗi vòng đua, tạo biến Lap time. Vào sensing, chọn reset timer đưa vào thời điểm trước khi bắt đầu (trước vòng lặp forever). Sau đó Set Lap time to timer (trong forever), để có thể hiển thị thời gian đua.

Vào biến Variables, tick chọn Lap time giúp Lap time sẽ hiển thị trên màn hình chính.


Các bạn có thể điều chỉnh thông số, âm thanh, thiết kế chướng ngại vật… để tạo game đua xe thêm hấp dẫn nhé. Các bạn tham khảo bản lập trình mẫu game đua xe tại đây.