Cách làm trò chơi bắn thuyền trong Scratch

Bài viết này sẽ hướng dẫn các bạn lập trình game Scratch Vượt chướng ngại vật trong không gian.

Trong game này, các bạn sẽ điều khiển Phi thuyền lên xuống để tránh các chướng ngại vật di chuyển tốc độ ngày càng nhanh. Sử dụng phím up & down để điều khiển Phi thuyền.

Chuẩn bị sprite và backdrops

Hướng dẫn vẽ các sprite Phi thuyền, Phi thuyền 2, Hành tinh, UFO và Game over

Hoặc tải sprites mẫu tại đây để lập trình.

Đăng nhập vào tài khoản Scratch của bạn, chọn Create -> Load from your computer, chọn đến thư mục vừa tải xuống file mẫu, để tải file mẫu lên.

Hướng dẫn chọn backdrop: Vào Stage -> Chọn Choose a Backdrops

Gõ vào ô tìm kiếm “Stars”, chọn làm backdrops.

Hướng dẫn lập trình game vượt chướng ngại vật không gian

Hướng dẫn lập trình Phi thuyền

Trong game này, sprite Phi thuyền sẽ cố định ở tọa độ x gần cạnh trái màn hình, di chuyển lên xuống (thay đổi toạ độ y) để tránh các chướng ngại vật đang di chuyển với tốc độ tăng dần.

Để điều khiển phi thuyền đi lên hoặc đi xuống, cách đơn giản nhất là sử dụng lệnh change y. Tuy nhiên, cách này có hạn chế là di chuyển không giống thật (không mượt).

Do đó, khuyến khích các bạn tạo biến để lập trình với đổi biến (variables).

Vào Variables -> Make a Variable -> Đặt tên biến là y speed -> Chọn for this sprite only (biến chỉ có áp dụng với sprite này).

Thiết lập set y speed to 0 khi bắt đầu (ngoài vòng lặp forever), và change y speed by 4 khi nhấm phím up để đi lên, và change y speed by -4 khi bấm phím down để đi xuống.

Lệnh change y by y speed giúp biến được thực thi.

Lệnh set y speed to y speed * 0.9 ở cuối vòng lặp forever giúp tạo hiệu ứng giảm tốc chậm dần về 0.

Để giúp Phi thuyền có hiệu ứng đi xuyên cạnh màn hình, thiết lập như sau:

Lưu ý trong sprite Phi thuyền, chúng ta đã chuẩn bị 3 costumes, mục đích là khi bấm phím up hoặc down, sẽ có hiệu ứng phát áng ở đuôi phi thuyền, và khi chạm vào chướng ngại vật sẽ chuyển sang nháy sáng sau đó biến mất.

Lập trình theo hướng dẫn sau để tạo hiệu ứng khi nhấn up, down:

Và lập trình để tạo hiệu ứng khi chạm chướng ngại vật, bổ sung âm thanh và broadcast game over để thực thi các bước tiếp theo.

Lưu ý bổ sung lệnh Showswitch costume to costume 1 ngay sau khi click green flag để xuất hiện đúng costume 1.

Lập trình 3 chướng ngại vật không gian

Trong game này có 3 chướng ngại vật là Phi thuyền 2, hành tinh và UFO.

Các chướng ngại vật sẽ di chuyển từ cạnh phải màn hình sang cạnh trái màn hình. Sau mỗi lần chạm cạnh trái, sẽ tăng tốc độ thêm 1, và đều xuất hiện ở toạ độ y ngẫu nhiên phía bên phải.

Ở mỗi sprite sẽ tạo một biến x speed (only for this sprite) cho từng sprite để có thể tuỳ biến tốc độ của mỗi sprite khác nhau.

Lập trình cho Phi thuyền 2

Tạo biến xspeed, lưu ý phải chọn dấu tick mục Only for this sprite, để xspeed chỉ áp dụng cho sprite Phi thuyền 2.

Thiết lập tốc độ ban đầu là -3. Thông số âm (-) giúp sprite di chuyển từ phải sang trái khi change x by xspeed. Nếu thông số dương (+) sẽ di chuyển từ trái sang phải.

Sprite Phi thuyền 2 sẽ xuất hiện ở toạ độ x cố định là 235 (cạnh phải màn hình), toạ độ y ngẫu nhiên trong khoảng 175 đến -175.

Khi Phi thuyền 2 di chuyển sang trái, đến cạnh trái, sẽ biến mất đồng thời xuất hiện trở lại bên cạnh phải, tại toạ độ x =235, và toạ độ y ngẫu nhiên trong khoảng 175 đến -175.

Đồng thời change xspeed by -1, để mỗi vòng như vậy, tốc độ di chuyển (độ khó) sẽ tăng dần.

Nên giới hạn tốc độ tối đa, khoảng 14. Thiết lập biến nếu xspeed < -14, thì đưa về -14.

Khi Phi thuyền 2 chạm Phi thuyền sẽ chuyển sang costume 3 và tạo hiệu ứng nháy, biến mất.

Với sprite Phi thuyền 2 , chúng ta đã vẽ costume 2 để tạo hiệu ứng phát sáng ở đuôi. Do đó, lập trình thêm các lệnh sau để hiệu ứng được thực thi.

Hướng dẫn lập trình Hành tinh và UFO

Lập trình tương tự các bước lập trình cho Phi thuyền 2, cho sprite Hành tinh và sprite UFO.

Lưu ý khi tạo biến xspeed, chọn only for this sprite. Đồng thời nên set xspeed = -4 cho Hành tinh và -5 cho UFO để 3 sprite chướng ngại vật có tốc độ di chuyển khác nhau.

Đồng thời không lập trình hiệu ứng nháy đuôi như sprite Phi thuyền 2.

Lưu ý Sprite Hành tinh và Sprite UFO chỉ có 2 costumes.

Tham khảo các bước lập trình cho sprite Hành tinh.

Lập trình UFO tương tự Hành tinh, chỉ khác ở thông số Set xspeed to -5 để có tốc độ di chuyển nhanh hơn 2 chướng ngại vật kia.

Tính điểm

Mỗi lần sprite chướng ngại vật chạm vào cạnh trái màn hình, sẽ tính 1 điểm. Người chơi nào được nhiều điểm hơn sẽ thắng (có khả năng điều khiển Phi thuyền vượt chướng ngại vật không gian).

Tạo biến score, lưu ý chọn for all sprites để áp dụng cho tất cả sprites.

Trong mỗi sprite Phi thuyền 2, Hành tinh và UFO, bổ sung lệnh, Set score to 0 sau dòng click green flag (ngoài vòng lặp Forever), và change score by 1 trong vòng lặp if x position < -235 then…

Hướng dẫn lập trình Game over

Chọn sprite game over, lập trình cho sprite ẩn khi click green flag, hiện khi nhận được lệnh broadcast game over (khi sprite Phi thuyền chạm chướng ngại vật). Sau đó, dừng game.

Như vậy, chúng ta đã lập trình xong game Vượt chướng ngại vật không gian. Để tham khảo các lệnh lập trình, click vào link, chọn see inside để xem bản lập trình mẫu nhé.

Video liên quan

Chủ đề