Lập trình game và hiệu ứng
Câu trò chơi/hoạt hình xuất hiện ở gần như mọi đề thi Tin học trẻ bảng A và thường là câu nhiều điểm nhất (25-40 điểm): hứng táo, mèo bắn bóng, rắn săn mồi, game làm toán… Chuyên đề này gồm 2 phần: ôn các kỹ thuật cốt lõi mà game nào cũng dùng, sau đó thực hành 5 hiệu ứng và 10 game hoàn chỉnh. Mỗi bài có mô tả, yêu cầu và video hướng dẫn từng bước.
Phần 1 - Lý thuyết: Các kỹ thuật cốt lõi khi làm game
Phần tiêu đề “Phần 1 - Lý thuyết: Các kỹ thuật cốt lõi khi làm game”Vòng lặp game
Phần tiêu đề “Vòng lặp game”Mọi game đều chạy trong một vòng liên tục mãi: mỗi vòng kiểm tra phím bấm, di chuyển nhân vật, kiểm tra va chạm.
khi bấm vào @greenFlag đi tới điểm x: (0) y: (-130) liên tục nếu <phím [mũi tên trái v] được bấm?> thì thay đổi x một lượng (-5) end nếu <phím [mũi tên phải v] được bấm?> thì thay đổi x một lượng (5) end end
Kiểm tra phím bên trong vòng lặp (dùng <phím [mũi tên trái v] được bấm?>)
cho chuyển động mượt hơn nhiều so với khối sự kiện khi bấm phím [mũi tên trái v].
Điều khiển bằng chuột
Phần tiêu đề “Điều khiển bằng chuột”khi bấm vào @greenFlag liên tục đi tới [con trỏ chuột v] end
Muốn nhân vật chỉ chạy ngang (như thanh hứng, thanh đỡ bóng), dùng
đặt x bằng (tọa độ x con trỏ chuột) thay cho đi tới [con trỏ chuột v].
Chuyển động tự động và bật lại khi chạm cạnh
Phần tiêu đề “Chuyển động tự động và bật lại khi chạm cạnh”khi bấm vào @greenFlag đặt hướng bằng (lấy ngẫu nhiên từ (-180) đến (180)) liên tục di chuyển (5) bước bật lại nếu chạm cạnh end
Vật rơi từ trên xuống
Phần tiêu đề “Vật rơi từ trên xuống”Vật xuất hiện ở vị trí ngẫu nhiên phía trên, rơi dần xuống; chạm đáy thì quay lại từ đầu.
khi bấm vào @greenFlag đi tới điểm x: (lấy ngẫu nhiên từ (-220) đến (220)) y: (170) liên tục thay đổi y một lượng (-5) nếu <(tọa độ y) < (-170)> thì đi tới điểm x: (lấy ngẫu nhiên từ (-220) đến (220)) y: (170) end end
Va chạm
Phần tiêu đề “Va chạm”Dùng <đang chạm [Mèo v]?> (chạm nhân vật khác),
<đang chạm [cạnh v]?> (chạm mép sân khấu) hoặc
<đang chạm màu (#000000)?> (chạm vùng màu, hay dùng cho tường, đường đua).
nếu <đang chạm [Mèo v]?> thì thay đổi [điểm v] một lượng (1) bắt đầu âm thanh [Pop v] đi tới điểm x: (lấy ngẫu nhiên từ (-220) đến (220)) y: (170) end
Điểm số, mạng và thời gian
Phần tiêu đề “Điểm số, mạng và thời gian”Tạo biến (điểm), (mạng) cho tất cả nhân vật,
đặt lại giá trị khi bấm lá cờ. Đếm giờ bằng
đặt lại đống hồ bấm giờ và (đồng hồ bấm giờ).
khi bấm vào @greenFlag đặt [điểm v] thành (0) đặt [mạng v] thành (3) đặt lại đống hồ bấm giờ đợi đến khi <<(mạng) = (0)> hoặc <(đồng hồ bấm giờ) > (60)>> phát tin [Kết thúc v]
Bản sao (clone) - tạo nhiều vật cùng lúc
Phần tiêu đề “Bản sao (clone) - tạo nhiều vật cùng lúc”Đạn, bong bóng, kẻ địch, đốm sáng… đều là bản sao của một nhân vật gốc (nhân vật gốc thường ẩn đi).
khi bấm vào @greenFlag ẩn liên tục tạo bản sao của [bản thân tôi v] đợi (1) giây end khi tôi bắt đầu là một bản sao đi tới điểm x: (lấy ngẫu nhiên từ (-220) đến (220)) y: (170) hiện lặp lại cho đến khi <(tọa độ y) < (-170)> thay đổi y một lượng (-4) end xóa bản sao này
Thông điệp và Game Over
Phần tiêu đề “Thông điệp và Game Over”Dùng thông điệp để các nhân vật “báo” cho nhau: bắt đầu màn chơi, qua màn, thua, thắng.
khi nhận [Kết thúc v] đổi phông nền thành [Game Over v] phát âm thanh [Lose v] đến hết dừng lại [tất cả v]
Hiệu ứng và âm thanh
Phần tiêu đề “Hiệu ứng và âm thanh”thay đổi hiệu ứng [màu sắc v] một lượng (25),
thay đổi hiệu ứng [bóng ma v] một lượng (5) (mờ dần),
trang phục kế tiếp (hoạt ảnh chạy, bay),
bắt đầu âm thanh [Pop v] (không chờ, game vẫn chạy tiếp) - các
khối nhỏ này làm game và hiệu ứng trông “xịn” hơn hẳn.
Phần 2 - Thực hành: 5 hiệu ứng và 10 game
Phần tiêu đề “Phần 2 - Thực hành: 5 hiệu ứng và 10 game”Nhóm 1: Hiệu ứng đẹp mắt
Phần tiêu đề “Nhóm 1: Hiệu ứng đẹp mắt”Bài 1: Bóng nảy (Bouncing Balls)
Phần tiêu đề “Bài 1: Bóng nảy (Bouncing Balls)”Nhiều quả bóng di chuyển trên sân khấu, chạm cạnh màn hình thì bật lại.
Yêu cầu:
- Mỗi quả bóng xuất hiện ở vị trí và hướng ngẫu nhiên.
- Bóng di chuyển liên tục, chạm cạnh thì bật lại.
Kiến thức dùng: chuyển động tự động, bật lại nếu chạm cạnh, số ngẫu nhiên, bản sao.
Thử thêm: mỗi lần bóng chạm cạnh thì đổi màu; bấm phím cách để thêm một quả bóng mới.
Xem hướng dẫn giải
Bài 2: Hiệu ứng đuôi rắn
Phần tiêu đề “Bài 2: Hiệu ứng đuôi rắn”Khi di chuyển chuột, nhân vật và các bản sao của nó nối đuôi nhau đi theo dấu chuột, trông như một con rắn đang bò.
Kiến thức dùng: đi tới [con trỏ chuột v], bản sao, liên tục.
Thử thêm: đuôi nhỏ dần và mờ dần về cuối; đuôi đổi màu cầu vồng.
Xem hướng dẫn giải
Bài 3: Chiếc đũa thần
Phần tiêu đề “Bài 3: Chiếc đũa thần”Chiếc đũa di chuyển theo chuột, để lại vệt lấp lánh phía sau.
Kiến thức dùng: điều khiển bằng chuột, bản sao, hiệu ứng thay đổi hiệu ứng [bóng ma v] một lượng (5), số ngẫu nhiên.
Thử thêm: chỉ phát ra vệt sáng khi đang giữ chuột (<chuột được nhấn?>).
Xem hướng dẫn giải
Bài 4: Pháo hoa
Phần tiêu đề “Bài 4: Pháo hoa”Pháo bay lên rồi nổ tung thành nhiều tia sáng nhiều màu, kèm âm thanh. Link tải âm thanh: Google Drive.
Kiến thức dùng: bản sao, hướng ngẫu nhiên, hiệu ứng màu sắc và bóng ma, âm thanh.
Thử thêm: bấm chuột ở đâu thì pháo nổ ở đó; hiện dòng chữ chúc mừng năm mới sau màn pháo hoa.
Xem hướng dẫn giải
Bài 5: Đồng hồ chạy theo thời gian thực
Phần tiêu đề “Bài 5: Đồng hồ chạy theo thời gian thực”Đồng hồ kim có kim giờ, kim phút, kim giây chạy đúng theo giờ của máy tính. Tải mặt đồng hồ: mẫu 1 hoặc mẫu 2.
Kiến thức dùng: khối ([giây v] hiện tại), đặt hướng bằng (90), phép toán đổi giờ/phút/giây ra góc quay.
Thử thêm: thêm đồng hồ số (hiển thị dạng 08:05:30); điểm chuông mỗi khi tròn giờ.
Xem hướng dẫn giải
Nhóm 2: Game cơ bản
Phần tiêu đề “Nhóm 2: Game cơ bản”Bài 6: Hứng trứng
Phần tiêu đề “Bài 6: Hứng trứng”Trứng rơi ngẫu nhiên từ trên xuống, người chơi điều khiển giỏ để hứng. Đây là dạng game ra thi nhiều nhất (hứng táo, ngựa bắt bóng…).
Yêu cầu:
- Giỏ di chuyển trái/phải bằng phím mũi tên.
- Hứng được trứng thì cộng điểm, để rơi xuống đất thì mất lượt.
- Hết lượt thì Game Over.
Kiến thức dùng: vật rơi, va chạm, biến điểm và mạng.
Thử thêm: trứng rơi nhanh dần theo điểm; thêm “trứng thối” - hứng phải thì trừ điểm.
Xem hướng dẫn giải
Bài 7: Pong
Phần tiêu đề “Bài 7: Pong”Thanh gỗ (paddle) đỡ quả bóng nảy trên sân khấu, để bóng rơi xuống đáy thì thua.
Kiến thức dùng: điều khiển ngang, bóng nảy, đổi hướng khi chạm thanh gỗ, âm thanh và nhạc nền, Game Over.
Thử thêm: chế độ 2 người chơi (W/S và mũi tên lên/xuống); bóng nhanh dần sau mỗi lần đỡ.
Xem hướng dẫn giải
Bài 8: Flappy Bird
Phần tiêu đề “Bài 8: Flappy Bird”Chú chim bay lên mỗi khi bấm phím, tự rơi xuống do trọng lực; vượt qua khe giữa các ống khói để ghi điểm. Tải hình ảnh, âm thanh: Google Drive.
Kiến thức dùng: mô phỏng trọng lực bằng biến vận tốc, ống khói là bản sao chạy từ phải sang trái với độ cao ngẫu nhiên, biến điểm, va chạm, Game Over, âm thanh.
Thử thêm: khe giữa hai ống hẹp dần; lưu điểm cao nhất.
Xem hướng dẫn giải
Bài 9: Bắn bong bóng
Phần tiêu đề “Bài 9: Bắn bong bóng”Bong bóng xuất hiện trên màn hình, người chơi bắn/bấm để làm vỡ chúng và ghi điểm.
Kiến thức dùng: bản sao, vị trí ngẫu nhiên, va chạm, biến điểm, âm thanh.
Thử thêm: giới hạn thời gian 30 giây; bong bóng màu đặc biệt được nhiều điểm hơn.
Xem hướng dẫn giải
Nhóm 3: Game nâng cao
Phần tiêu đề “Nhóm 3: Game nâng cao”Bài 10: Rắn săn mồi (Snake)
Phần tiêu đề “Bài 10: Rắn săn mồi (Snake)”Con rắn di chuyển liên tục theo 4 hướng, ăn mồi thì dài thêm, đâm vào tường hoặc vào thân mình thì thua. Dạng này từng ra ở đề thi Tin học trẻ cấp tỉnh.
Kiến thức dùng: điều khiển 4 hướng, mồi ở vị trí ngẫu nhiên, thân rắn dựng bằng bản sao (hoặc bút vẽ), va chạm.
Thử thêm: rắn nhanh dần sau mỗi lần ăn mồi; thêm chướng ngại vật trên sân.
Xem hướng dẫn giải
Bài 11: Bắn bọ
Phần tiêu đề “Bài 11: Bắn bọ”Bọ xuất hiện và bò trên màn hình, người chơi tiêu diệt bọ để ghi điểm.
Kiến thức dùng: bản sao cho bọ, chuyển động ngẫu nhiên, va chạm, biến điểm, Game Over.
Thử thêm: có nhiều loại bọ với số điểm khác nhau; qua màn khi đủ điểm.
Xem hướng dẫn giải
Bài 12: Bắn hình (Shapes Shooter)
Phần tiêu đề “Bài 12: Bắn hình (Shapes Shooter)”Game bắn súng: các hình khối lao tới, người chơi bắn đạn để phá hủy chúng. Tải nhân vật và phông nền: Google Drive.
Kiến thức dùng: đạn và kẻ địch đều là bản sao, va chạm giữa hai loại bản sao, biến điểm và mạng, thông điệp.
Thử thêm: thêm vật phẩm bắn 3 tia; kẻ địch “trùm” cần bắn nhiều phát mới chết.
Xem hướng dẫn giải
Bài 13: Chuột ăn cắp trứng (Grab the Egg)
Phần tiêu đề “Bài 13: Chuột ăn cắp trứng (Grab the Egg)”Điều khiển chú chuột lấy trứng và tránh bị bắt.
Kiến thức dùng: điều khiển bằng phím, va chạm, biến điểm, nhân vật đối thủ tự di chuyển.
Thử thêm: đối thủ đuổi theo chuột (hướng về phía đối tượng [Chuột v]); thêm màn chơi khó hơn.
Xem hướng dẫn giải
Bài 14: Đậu xe (Car Parking)
Phần tiêu đề “Bài 14: Đậu xe (Car Parking)”Lái xe vào đúng ô đậu mà không đâm vào chướng ngại vật. Tải nhân vật và phông nền: Google Drive.
Kiến thức dùng: điều khiển kiểu lái xe (tiến/lùi + xoay), va chạm theo màu, chuyển phông nền khi qua màn.
Thử thêm: giới hạn thời gian mỗi màn; tự thiết kế thêm một bãi đậu xe mới.
Xem hướng dẫn giải
Bài 15: Thỏ chạy (Running Rabbit)
Phần tiêu đề “Bài 15: Thỏ chạy (Running Rabbit)”Game chạy vô tận: chú thỏ chạy và nhảy qua chướng ngại vật. Đây là bài dài nhất, tổng hợp hầu hết kỹ thuật ở Phần 1.
Kiến thức dùng: hoạt ảnh bằng trang phục kế tiếp, nhảy bằng trọng lực, chướng ngại vật là bản sao, điểm số, Game Over.
Thử thêm: tốc độ tăng dần theo thời gian; thêm vật phẩm cà rốt để cộng điểm.
Xem hướng dẫn giải
Mở rộng thêm
Phần tiêu đề “Mở rộng thêm”Sau khi làm xong các bài trên, hãy thử sức với các câu trò chơi trong đề thi thật:
- Hứng táo - Tỉnh Đắk Nông 2020
- Trò chơi hứng táo - Tỉnh Bến Tre 2019
- Trò chơi mèo và bóng - Huyện Hương Khê, Hà Tĩnh 2019
- Trò chơi “Mèo bắn bóng” - Tỉnh Hà Nam 2019
- Trò chơi rắn săn mồi - Tỉnh Thanh Hoá 2024
- Tiêu diệt Virus CV - Chung kết toàn quốc 2021
Khi làm bài thi, đọc kỹ bảng chấm điểm của đề: mỗi ý (nhân vật di chuyển đúng, có tính điểm, có Game Over…) được chấm riêng, nên hãy làm cho chạy được từng ý một trước, rồi mới thêm hiệu ứng cho đẹp.
Xem trọn bộ video
Phần tiêu đề “Xem trọn bộ video”Toàn bộ video trong chuyên đề nằm trong 2 playlist trên kênh Bumbii Academy: