Dự án: Game hứng đồ vật
Dự án này ghép lại hầu hết kiến thức đã học: biến, vòng lặp, điều kiện, thông điệp và bản sao (clone) - để xây dựng một game nhỏ hoàn chỉnh: điều khiển giỏ hứng đồ vật rơi từ trên xuống, tính điểm, giới hạn thời gian.
Chuẩn bị
Phần tiêu đề “Chuẩn bị”Tạo 2 sprite:
- Giỏ - điều khiển bằng phím trái/phải
- Đồ vật - rơi từ trên xuống, tạo nhiều bản sao liên tục bằng clone
Tạo 2 biến toàn cục: điểm và thời gian.
Kịch bản sprite “Giỏ”
Phần tiêu đề “Kịch bản sprite “Giỏ””khi bấm vào @greenFlag đặt [điểm v] thành (0) đặt [thời gian v] thành (30) đi tới điểm x: (0) y: (-150) hiện biến số [điểm v] hiện biến số [thời gian v] phát tin [bắt đầu chơi v] khi bấm phím [mũi tên phải v] thay đổi x một lượng (10) khi bấm phím [mũi tên trái v] thay đổi x một lượng (-10)
Kịch bản đếm ngược thời gian, chạy song song (kịch bản riêng, cùng sprite Giỏ):
khi nhận [bắt đầu chơi v] lặp lại cho đến khi <(thời gian) = (0)> đợi (1) giây thay đổi [thời gian v] một lượng (-1)
Ngay sau khi vòng lặp trên kết thúc (lúc thời gian về 0), lệnh tiếp theo
trong cùng kịch bản sẽ chạy - báo cho các sprite khác biết là đã hết giờ:
phát tin [het-gio v]
Kịch bản sprite “Đồ vật”
Phần tiêu đề “Kịch bản sprite “Đồ vật””Liên tục tạo bản sao mới sau mỗi khoảng thời gian ngẫu nhiên, để đồ vật rơi không đều đặn:
khi nhận [bắt đầu chơi v] ẩn liên tục đợi (lấy ngẫu nhiên từ (0.5) đến (1.5)) giây tạo bản sao của [bản thân tôi v]
Kịch bản riêng cho mỗi bản sao - rơi xuống, kiểm tra va chạm với giỏ hoặc chạm đáy:
khi tôi bắt đầu là một bản sao hiện đi tới điểm x: (lấy ngẫu nhiên từ (-200) đến (200)) y: (170) liên tục thay đổi y một lượng (-5) nếu <đang chạm [Giỏ v]?> thì thay đổi [điểm v] một lượng (1) xóa bản sao này nếu không thì nếu <(tọa độ y) < (-170)> thì xóa bản sao này
Cuối cùng, kịch bản dừng game khi hết giờ (đặt ở sprite Đồ vật hoặc Giỏ):
khi nhận [het-gio v] nói (kết hợp [Hết giờ! Điểm của bạn: ] (điểm)) trong (3) giây dừng lại [tất cả v]
Mở rộng thêm
Phần tiêu đề “Mở rộng thêm”Sau khi hoàn thành phiên bản cơ bản, thử tự mở rộng:
- Thêm đồ vật xấu (ví dụ quả bom) - chạm vào thì trừ điểm thay vì cộng điểm
- Tăng dần tốc độ rơi theo thời gian để game khó hơn
- Lưu điểm cao nhất vào một danh sách để hiển thị bảng xếp hạng
- Thêm âm thanh khi hứng được đồ vật, và nhạc nền khi bắt đầu
Sang bài tiếp theo, thử sức với dự án câu chuyện hội thoại - tập trung vào thông điệp và cách các nhân vật giao tiếp với nhau.