Lập trình nhân vật di chuyển trong trò chơi
Trong giáo trình này, chúng ta sẽ phát triển một chương trình hoàn chỉnh qua nhiều giai đoạn Vì vậy, giáo viên cần nhắc nhở học sinh lưu lại bài làm của mình để sử dụng cho buổi học tiếp theo.
Để tối ưu hóa quy trình lập trình nhân vật 2D trong trò chơi, việc thiết kế nhân vật ở trạng thái mặc định hướng sang trái là rất quan trọng Ví dụ minh họa dưới đây thể hiện nhân vật xe tăng sẽ được sử dụng trong trò chơi.
1.2 Tải nhân vật từ trên mạng về bộ nhớ máy tính
Đầu tiên, chúng ta có thể tìm kiếm và tải hình ảnh xe tăng từ Internet Một trang web hữu ích để thực hiện điều này là http://wifi.chipfc.com.
Hình 1: Trang web wifi.chipfc.com
- Học sinh hiểu được các nguyên lý cơ bản trong việc lập trình di chuyển
- Học sinh hiểu được việc thiết kế nhân vật trong trò chơi
- Học sinh nắm được cách sử dụng khối lệnh mới
1.1 Thiết kế nhân vật trò chơi
1.2 Tải nhân vật từ trên mạng về bộ nhớ máy tính
1.3 Thêm nhân vật vừa tải vào chương trình (15 phút)
1.4 Lập trình di chuyển cho nhân vật (15 phút)
2 Xây dựng khối lệnh di chuyển (15 phút)
Hình 2: Sau khi chọn vào mục Hình ảnh và Âm thanh
1.3 Thêm nhân vật vừa tải vào chương trình
Từ cửa sổ chương trình chính của Scratch, chọn Tải đối tượng lên
Sau khi đã tải đối tượng xe tăng lên, chúng ta có thể xóa nhân vật là chú mèo đi
Kết quả cuối cùng, chúng ta có nhân vật của trò chơi, là xe tăng được hướng về phía bên trái
1.4 Lập trình di chuyển cho nhân vật
Trong trò chơi này, xe tăng sẽ di chuyển dựa vào bốn phím mũi tên lên, xuống, qua trái và qua
Để lập trình cho nhân vật xe tăng di chuyển sang phải khi nhấn phím mũi tên qua phải, bạn cần chọn nhân vật xe tăng và nhấn vào Nguyên bản Sau đó, đoạn chương trình sẽ được hiện thực hóa như sau:
Hình 4: Chương trình xe tăng di chuyển qua phải khi nhấn phím mũi tên qua phả
Bài tập trên lớp : Học sinh tự hiện thực chương trình di chuyển cho 4 phím mũi tên (trái, lên và xuống) còn lại
Học sinh có thể tạo bản sao từ 3 câu lệnh để di chuyển sang phải và điều chỉnh tùy chọn trong câu lệnh khi nhấn phím, đồng thời câu lệnh sẽ xoay về phía mong muốn Đáp án cho việc di chuyển bằng 4 phím mũi tên có thể được hiện thực hóa như sau:
Hình 6: Các bước để thêm một khối lệnh
Một cửa sổ hiện ra, cho phép chúng ta đặt tên cho khối lệnh mới này Ở đây, chúng tôi đặt tên là DiChuyenXeTang, và sau đó nhấn OK
Hình 7: Đặt tên cho khối lệnh mới và nhấn OK
Sau khi nhấn OK, một mảnh ghép sẽ tự động xuất hiện, cho phép kéo thả và kết nối như một câu lệnh Scratch thông thường Mảnh ghép bên trái cho phép thao tác dễ dàng, trong khi khối lệnh bên phải được sử dụng để định nghĩa chức năng cho khối lệnh DiChuyenXeTang Ở bước đầu, chúng ta định nghĩa khối lệnh này để di chuyển 10 bước và gọi nó cho 4 phím mũi tên trong chương trình.
Hình 8: Chương trình xe tăng di chuyển với khối lệnh mới Đáp án : Chương trình gợi ý như sau
Hình 9: Thay đổi chức năng của khối lệnh DiChuyenXeTang
Lưu ý quan trọng: Giáo viên nhắc học sinh lưu lại bài làm để dùng cho buổi học tiếp theo
Học sinh có thể tự do thiết kế một nhân vật theo sở thích cá nhân Sau đó, họ sẽ tích hợp nhân vật này vào chương trình và lập trình để nhân vật có thể di chuyển theo bốn hướng khác nhau bằng cách sử dụng các phím điều khiển.
A: qua trái, D: qua phải, S: đi lùi và W: đi tới
Gợi ý: Giáo viên nhắc lại việc thiết kế nhân vật ở mục 2.1 (nhân vật mặt định là hướng sang trái).
Thêm hiệu ứng âm thanh khi xe tăng di chuyển
Trong bài viết này, chúng ta sẽ tái sử dụng chương trình đã được thực hiện trong bài học trước Vì vậy, giáo viên cần đảm bảo rằng học sinh đã lưu và mở lại chương trình từ bài học trước đó.
Để làm cho trò chơi trở nên sinh động hơn, chúng ta có thể thêm hiệu ứng âm thanh khi xe tăng di chuyển Bước đầu tiên là tìm và tải một hình ảnh xe tăng từ Internet, ví dụ như truy cập vào trang web http://wifi.chipfc.com.
Hình 10: Trang web wifi.chipfc.com
Tìm đến mục Scratch nâng cao, và chọn vào đường dẫn đầu tiên để tải âm thanh và lưu về bộ nhớ của máy tính
1.2 Thêm hiệu ứng âm thanh vào chương trình
Học sinh cần mở lại chương trình từ Bài 1, sau đó truy cập vào phần Âm thanh và chọn Tải âm thanh từ tập tin Tiếp theo, hãy chọn đường dẫn đến file âm thanh đã lưu và nhấn để tiếp tục.
Sau khi hoàn tất các bước, âm thanh sẽ được tải lên chương trình Bạn chỉ cần nhấn vào nút tam giác để nghe lại âm thanh vừa tải lên.
- Học sinh hiểu và sử dụng thành thạo khối lệnh mới
- Học sinh có thể thêm hiệu ứng âm thanh cho chương trình
- Học sinh có khả năng hiệu chỉnh âm thanh cho phù hợp
1.1 Tải hiệu ứng âm thanh từ mạng về bộ nhớ máy tính
1.2 Thêm hiệu ứng âm thanh vào chương trình
(15 phút) 1.3 Thêm hiệu ứng âm thanh cho mỗi lần xe tăng di chuyển
1.4 Hiệu chỉnh hiệu ứng âm thanh (15 phút)
Hình 11: Các bước thêm âm thanh vào chương trình
1.3 Thêm hiệu ứng âm thanh cho mỗi lần xe tăng di chuyển
Để tạo hiệu ứng âm thanh cho quá trình di chuyển bằng bốn phím mũi tên, chúng ta chỉ cần thêm lệnh chơi âm thanh vào khối lệnh DiChuyenXeTang đã được định nghĩa ở Bài 1 Việc định nghĩa khối lệnh mới mang lại nhiều ưu điểm, cho phép chúng ta chỉ cần thay đổi một lần duy nhất để áp dụng cho toàn bộ, thay vì phải thêm câu lệnh âm thanh này bốn lần nếu không có khối lệnh mới.
Chương trình gợi ý như sau, với câu lệnh chơi âm thanh được thêm vào khối lệnh DiChuyenXeTang:
Hình 12: Thêm hiệu ứng âm thanh cho xe tăng di chuyển
Giáo viên hướng dẫn học sinh thực hiện lại chương trình, đồng thời nhắc nhở những em chưa lưu bài trước đó lưu lại để sử dụng cho lần sau.
1.4 Hiệu chỉnh hiệu ứng âm thanh
Giáo viên đã hướng dẫn học sinh thử nghiệm chương trình và nhận thấy rằng hiệu ứng âm thanh khá ồn ào, kéo dài ngay cả khi ngừng nhấn phím mũi tên Khi nhấn giữ phím mũi tên, âm thanh gần như không còn phát ra Điều này cho thấy đoạn âm thanh quá dài làm giảm hiệu quả hoạt động của chương trình Do đó, cần cắt bớt âm thanh và chỉ giữ lại một đoạn ngắn để cải thiện trải nghiệm Để thực hiện điều này, chúng ta cần truy cập vào mục Âm thanh.
Hình 14: Chọn đoạn âm thanh cần xóa, sau đó chọn Chỉnh sửa và chọn cắt
Để xóa một vùng âm thanh không cần thiết, bạn chỉ cần nhấp trái chuột và kéo thả để chọn khu vực đó Sau khi chọn xong, hãy vào mục Chỉnh sửa và chọn cắt Đảm bảo giữ lại một đoạn âm thanh ngắn khoảng 0.5 giây để tạo hiệu ứng âm thanh cho sự di chuyển của xe tăng.
Lưu ý rằng khi xóa âm thanh trong chương trình Scratch, âm thanh đó vẫn được lưu trữ trên máy tính Nếu học sinh không hài lòng với âm thanh đã chỉnh sửa, họ có thể tải lại đoạn âm thanh đã lưu và thực hiện điều chỉnh cho phù hợp.
Học sinh quay trở lại chương trình (chọn vào mục Nguyên bản) để chạy thử lại chương trình
Học sinh thực hiện bài tập trên lớp bằng cách hoàn thiện chương trình di chuyển cho xe tăng, kết hợp với hiệu ứng âm thanh khi xe di chuyển Sau khi hoàn thành, học sinh lưu lại bài để có thể sử dụng lại trong những lần sau.
Học sinh sử dụng bài tập về nhà của Bài 1 và tự thiết kế hiệu ứng âm thanh cho nhân vật của mình.
Xe tăng bắn đạn – Âm thanh khi bắn đạn
Trong bài viết này, chúng ta sẽ lập trình để xe tăng bắn một viên đạn mỗi khi nhấn phím khoảng trắng Viên đạn sẽ di chuyển cho đến khi ra khỏi màn hình và sau đó biến mất Đồng thời, âm thanh mô phỏng tiếng đạn nổ sẽ được phát ra khi viên đạn được bắn.
1.1 Thêm viên đạn vào chương trình
Từ cửa sổ lập trình, chọn vào mục Chọn nhân vật từ thư viện
- Học sinh biết cách thêm một đối tượng khác vào chương trình
- Học sinh sử dụng thành thạo công cụ âm thanh trong lập trình
- Học sinh nắm được tư tưởng thiết kế trò chơi với
2 đối tượng tương tác qua lại
1.1 Thêm viên đạn vào chương trình
(15 phút) 1.2 Bắn viên đạn khi nhấn vào phím khoảng trắng
(15 phút) 1.3 Thêm hiệu ứng âm thanh
Hình 15: Thêm nhân vật viên đạn vào chương trình
Chúng ta có thể lựa chọn nhân vật trái banh (Ball) để làm viên đạn cho xe tăng, sau đó nhấn OK
Hình 16: Chọn nhân vật trái banh (Ball) và nhấn OK
Ban đầu, trái banh có kích thước lớn so với xe tăng Chúng ta có thể tạo một đoạn chương trình ngắn để điều chỉnh kích thước trái banh thông qua sự kiện lá cờ Cuối cùng, trái banh sẽ được ẩn đi và chỉ xuất hiện khi xe tăng bắn viên đạn.
Hình 17: Chọn vào trái banh, và hiện thực chương trình cho nó
1.2 Bắn viên đạn khi nhấn vào phím khoảng trắng
Quy trình bắn một viên đạn từ xe tăng gồm ba bước chính Đầu tiên, viên đạn sẽ được hiển thị tại vị trí của xe tăng Tiếp theo, viên đạn sẽ xoay theo hướng hiện tại của xe tăng Cuối cùng, viên đạn sẽ di chuyển cho đến khi chạm vào biên, sau đó sẽ biến mất Để hiển thị viên đạn tại vị trí của xe tăng, chúng ta sử dụng câu lệnh nhảy tới và chọn xe tăng là nhân vật chính.
Hình 18: Hiện viên đạn tại vị trí của xe tăng
Để xoay viên đạn theo hướng của xe tăng, chúng ta cần truy cập vào nhóm lệnh Cảm biến và chỉnh sửa câu lệnh cho phù hợp với hướng di chuyển của xe tăng bằng cách nhấn vào phím mũi tên màu đen để lựa chọn.
Hình 19: Xoay viên đạn cùng hướng với xe tăng
Sử dụng câu lệnh lặp "cho đến khi" với điều kiện là viên đạn chạm vào biên, để kết thúc việc di chuyển và ẩn viên đạn Chương trình có thể được gợi ý như sau:
Hình 20: Chương trình bắn ra viên đạn khi nhắn vào phím khoảng trắng
1.3 Thêm hiệu ứng âm thanh
Học sinh có thể vào lại trang http://wifi.chipfc.com để tải âm thanh tiếng đạn bắn về máy tính
Hình 21: Tải âm thanh tiếng đạn bắn
Tìm đến mục Scratch nâng cao, và chọn vào đường dẫn đầu tiên để tải âm thanh và lưu về bộ nhớ của máy tính
Học sinh thực hành bài tập trên lớp bằng cách tự thêm âm thanh cho viên đạn bắn của xe tăng Để thực hiện điều này, cần thêm câu lệnh âm thanh ở đầu chương trình và sử dụng phím khoảng trắng để kích hoạt âm thanh cho viên đạn.
Hình 22: Chương trình cho viên đạn với hiệu ứng âm thanh
Học sinh có thể tự thiết kế hiệu ứng âm thanh phát ra trước khi viên đạn chạm vào biên, chẳng hạn như âm thanh Pop có sẵn trong thư viện Để thực hiện điều này, cần thêm câu lệnh để phát âm thanh Pop ngay trước khi viên đạn ẩn đi.
Xây dựng bản đồ vật cản
Trong bài này, chúng ta sẽ xây dựng một bản đồ vật cản có kích thước 10 x 10 trên sân khấu
1.1 Thêm đối tượng vật cản
Từ cửa số lập trình chính, chúng ta nhấp vào Chọn nhân vật từ thư viện để thêm đối tượng vật cản (xem Hình 23)
- Học sinh sử dụng vòng lặp để xây dựng bản đồ vật cản trong trò chơi.
1.1 Thêm đối tượng vật cản
(10 phút) 1.2 Xây vật cản theo chiều ngang
(20 phút) 1.3 Xây vật cản theo chiều dọc
Hình 23: Thêm đối tượng vật cản từ thư viện có sẵn
Cửa sổ sau đây hiện lên (xem Hình 24), và chọn Button3 để làm vật cản trong bản đồ trò chơi
Hình 24: Chọn đối tượng Button3 để làm vật cản trong trò chơi
Chúng ta hiện thực một đoạn chương trình nhỏ, để khi nhấn vào lá cờ, kích thước của vật cản là 50% so với bình thường (xem Hình 25):
Hình 25: Chương trình đầu tiên cho vật cản Button3
1.2 Xây vật cản theo chiều ngang
Để bắt đầu, chúng ta sẽ xây dựng các vật cản theo chiều ngang ở dưới cùng của bản đồ Đầu tiên, hãy kéo và thả đối tượng vật cản vào góc trái của bản đồ như hình minh họa dưới đây.
Sau khi kéo đối tượng vào sát góc trái màn hình, chúng ta chuyển sang các câu lệnh thuộc nhóm
Chuyển động, chúng ta dùng ngay câu lệnh (xem Hình 26) Lúc này, tọa độ của x và y chính là tọa độ của vật cản Button3
Hình 27: Kéo vật cản ra góc bên trái của sân khấu, sau đó dùng lệnh nhảy tới x:-215 y:-167
Chúng ta có thể sử dụng vòng lặp 10 lần để tạo ra các vật cản theo chiều ngang bằng cách sao chép vật cản gốc và di chuyển nó sang bên phải một khoảng bằng chính chiều rộng của nó Sau khi hoàn thành việc tạo 10 bản sao, chỉ cần ẩn vật cản gốc để hiển thị 10 viên gạch theo chiều ngang Dưới đây là một gợi ý cho chương trình thực hiện điều này.
Hình 28: Chương trình xây 10 vật cản theo chiều ngang
Lưu ý rằng do việc ẩn viên gạch gốc khi xây dựng 10 vật cản, chúng ta cần hiển thị lại viên gạch này ở đầu chương trình Mỗi lần tạo bản sao, viên gạch gốc sẽ được dịch sang phải 48 đơn vị bằng cách sử dụng câu lệnh thay đổi x với giá trị 48.
Trong bài tập trên lớp, giáo viên yêu cầu học sinh thay đổi giá trị 48 thành 40 và 60 để giải thích hiện tượng xảy ra Khi giảm giá trị xuống 40, các viên gạch sẽ bị chồng lên nhau, trong khi khi tăng giá trị lên 60, khoảng cách giữa các viên gạch sẽ tăng lên.
Khi hai viên gạch liên tiếp bị cách xa nhau, cần điều chỉnh khoảng cách để chúng có thể được đặt sát lại Đối với việc thiết kế các vật cản khác, việc xác định chính xác độ rộng là rất quan trọng để tạo ra một bản đồ sắc sảo và tinh tế.
1.3 Xây vật cản theo chiều dọc
Chúng ta cần xây thêm 9 hàng vật cản, mỗi hàng gồm 10 viên gạch nằm ngang như hiện tại Để thực hiện điều này, cần điều chỉnh tọa độ x của viên gạch về phía bên trái màn hình.
Tọa độ x được xác định là -215 trong câu lệnh đã sử dụng trong chương trình trước Để nâng lên một hàng, chúng ta cần tăng giá trị y thêm 1 đơn vị.
Hình 29: Chương trình xây bản đồ vật cản cho trò chơi
Giá trị -215 được ghi nhận khi vật cản được kéo vào góc trái màn hình Tùy thuộc vào thiết kế của vật cản, cần điều chỉnh lại giá trị x (chiều ngang) và y (chiều cao) cho phù hợp Ngoài ra, số lượng vật cản trong mỗi lần lặp cũng cần thay đổi Nếu vật cản lớn hơn, mỗi hàng có thể chỉ cần 8 vật cản Tương tự, số lượng hàng cũng có thể thay đổi theo chiều cao.
Học sinh cần thiết kế lại viên gạch để giống với trò chơi Battle City Để bắt đầu, học sinh chỉ cần thay thế đối tượng Button3 bằng một đối tượng mới do chính mình thiết kế, với màu sắc tương tự như viên gạch trong trò chơi.
Sử dụng danh sách để tạo bản đồ
1 Nội dung chi tiết 1.1 Nguyên lý tổ chức bản đồ bằng danh sách
Trong bài viết trước, chúng ta đã tạo ra một bản đồ vật cản với kích thước 10x10, tổng cộng có 100 vật cản được sắp xếp cạnh nhau Ở bài viết này, chúng ta sẽ sử dụng danh sách để lưu trữ hình dạng của bản đồ, trong đó có những vị trí không cần thiết phải tạo vật cản và những vị trí khác sẽ được tạo ra vật cản mới.
Hình vẽ minh họa cách tổ chức bản đồ thông qua danh sách, trong đó chỉ những vị trí có giá trị 1 mới được thể hiện vật cản, trong khi các giá trị 0 sẽ không có vật cản nào được vẽ ra.
Trong bài viết này, chúng ta có ba giá trị đầu tiên là 1, tương ứng với ba vật cản ở hàng dưới cùng Tiếp theo, giá trị 0 tại vị trí số 4 cho thấy có một ô trống không có vật cản Giá trị thứ năm là 1, tương ứng với một vật cản khác Tương tự, ba vị trí tiếp theo là 6, 7 và 8 có các giá trị lần lượt là 1, 0 và 1, tương ứng với ba ô đầu tiên của hàng thứ hai.
Để bắt đầu, chúng ta cần tạo một danh sách để lưu trữ các vị trí cần vẽ vật cản trên bản đồ kích thước 10x10 Danh sách này sẽ bao gồm 100 phần tử, tương ứng với từng vị trí trên bản đồ Để thực hiện việc này, hãy truy cập vào mục Dữ liệu và chọn tùy chọn Tạo danh sách (xem Hình 30).
- Học sinh hiểu được đối tượng danh sách.
- Học sinh ứng dụng danh sách để quản lý bản đồ trò chơi.
1.1 Nguyên lý tổ chức bản đồ bằng danh sách
(15 phút) 1.3 Thay đổi việc tạo ra vật cản
Một cửa sổ hiện ra, chúng ta nhập vào tên, ví dụ là BanDo, rồi nhấn OK
Hình 31: Nhập tên cho danh sách rồi nhấn OK
Một danh sách rỗng (chưa có phần tử nào) được tạo ra (xem Hình 32) Chúng ta nhấn vào dấu
+ ở góc của danh sách để thêm phần tử vào
Hình 32: Danh sách được tạo ra, ban đầu nó không có phần tử nào cả
Bài tập trên lớp : Giáo viên cho học sinh tạo ra 100 phần tử, mỗi phần tử có giá trị là 0 hoặc 1
Hình 33: Danh sách với các phần tử được thêm vào
1.3 Thay đổi việc tạo ra vật cản Ở Bài 4 trước chúng ta tạo ra vật cản bằng đoạn chương trình như sau:
Để tạo ra một vật cản, trước tiên chúng ta cần kiểm tra xem phần tử trong danh sách có giá trị là 1 hay không Nếu đúng là 1, chúng ta mới tiến hành tạo bản sao Để thực hiện điều này, cần tạo thêm một biến số để duyệt qua các phần tử trong danh sách Hãy vào mục Dữ liệu và chọn Tạo biến số.
Cửa sổ sau đây hiện ra, chúng ta nhận tên cho biến số là index, và nhấn OK
Để kiểm tra giá trị của phần tử index trong danh sách, ta cần tạo một biến số index để duyệt qua các phần tử, kết hợp hai câu lệnh như trong hình 35.
Hình 36: Kiểm tra phần tử thứ index trong danh sách
Câu lệnh kiểm tra điều kiện trước khi tạo bản sao sẽ được hiện thực như sau:
Hình 37: Câu lệnh kiểm tra phần tử trong danh sách trước khi tạo bản sao
Đầu chương trình, chỉ số (index) được khởi tạo bằng 1 và trong mỗi lần lặp, chỉ số sẽ được tăng thêm 1 để kiểm tra ô tiếp theo Dưới đây là chương trình hoàn chỉnh.
Chương trình tạo vật cản dựa vào giá trị trong danh sách: Nếu giá trị ở vòng lặp ngoài tăng, giá trị đầu tiên của danh sách tương ứng với hàng đầu tiên và giá trị thứ hai tương ứng với hàng thứ hai Cụ thể, nếu giá trị đầu tiên là 1, sẽ có 10 ô vật cản cho dòng đầu tiên, trong khi giá trị thứ hai bằng 0 có nghĩa là hàng thứ hai không có vật cản Tuy nhiên, thiết kế yêu cầu rằng nếu giá trị đầu tiên là 1, ô đầu tiên của hàng 1 phải là vật cản, và nếu giá trị thứ hai là 0, ô tiếp theo của hàng 1 không có vật cản Do đó, câu lệnh thay đổi index cần được đặt bên trong vòng lặp thứ hai để đảm bảo đúng thiết kế.
Trong bài tập lớp 2, giáo viên đặt câu hỏi cho học sinh về việc xác định phần tử đầu tiên của hàng thứ 2 trên bản đồ tương ứng với phần tử nào trong danh sách Câu trả lời đúng là phần tử thứ 11 trong danh sách, trong khi hàng đầu tiên trên bản đồ chứa các phần tử từ 1 đến
Phần tử đầu tiên của hàng thứ 2 là 11, tiếp theo là 12 và phần tử cuối cùng là 20 Đối với hàng thứ 3, phần tử đầu tiên là 21.
Học sinh lớp 3 thực hiện bài tập bằng cách thay đổi các giá trị trong danh sách để kiểm tra độ chính xác của việc vẽ bản đồ so với các giá trị tương ứng.
Học sinh cần thêm chức năng để không vẽ vật cản khi nó chạm vào xe tăng, mặc dù giá trị của phần tử trong danh sách là 1 Câu lệnh gợi ý có thể được áp dụng để thực hiện yêu cầu này.
Để kiểm tra điều kiện có va chạm với xe tăng hay không, chúng ta cần thay thế câu lệnh tạo bản sao bằng câu lệnh gợi ý như đã nêu.
Tương tác giữ Đạn – Vật cản trong trò chơi
Để hiện thực hóa chức năng tạo bản đồ trong Bài 5, chúng ta cần đảm bảo rằng viên gạch chỉ được tạo ra khi không chạm vào xe tăng Điều này đòi hỏi kiểm tra hai điều kiện: giá trị trong danh sách tương ứng phải là 1 và không được tiếp xúc với xe tăng Dưới đây là đoạn chương trình để thực hiện kiểm tra này.
Hình 41: Chương trình kiểm tra phần tử trong danh sách và chạm vào xe tang
Giáo viên hướng dẫn học sinh thực hiện chương trình hoàn chỉnh, đây cũng chính là đáp án cho bài tập về nhà trong Bài 5.
Hình 42: Chương trình vẽ ra bản đồ tránh xe tăng
Sau khi thực hiện chương trình, giáo viên có thể hướng dẫn học sinh thay đổi vị trí của xe tăng Điều này cho thấy rằng sẽ không có vật cản xuất hiện khi xe tăng đang ở vị trí đó (xem Hình 3).
- Học sinh hiểu được kĩ thuật tương tác giữa nhiều đối tượng.
- Học sinh sử dụng được kĩ thuật “gửi tin nhắn”.
- Học sinh áp dụng được các kĩ thuật này để áp dụng vào trò chơi.
1.1 Sửa bài tập về nhà
1.2 Tương tác giữa viên đạn và vật cản
(15 phút) 1.3 Ẩn viên đạn khi đụng vật cản
Trong trò chơi, xe tăng cần không gian để di chuyển, bất kể vị trí khởi đầu của nó Điều này phù hợp với mục đích của trò chơi, nơi mà việc tạo ra khoảng trống là điều cần thiết.
Hình 43: Vật cản được tạo ra không trùng với vị trí của xe tăng
1.2 Tương tác giữa viên đạn và vật cản
Trong trò chơi này, xe tăng có khả năng bắn để loại bỏ vật cản, nhưng hiện tại, viên đạn chỉ "đi xuyên" qua vật cản mà không có tác động Để cải thiện chương trình, chúng ta cần điều chỉnh sao cho khi viên đạn va chạm với vật cản, cả hai sẽ cùng biến mất Đầu tiên, chúng ta sẽ lập trình cho vật cản, cần lưu ý rằng mỗi vật cản thực chất chỉ là một bản sao từ phiên bản gốc Chúng ta sẽ thực hiện chức năng này trong sự kiện khi một bản sao được tạo ra và cần một vòng lặp vô tận để kiểm tra xem bản sao (vật cản) có va chạm với viên đạn hay không.
Hình 44: Chương trình vật cản bị mất khi chạm vào viên đạn
Lưu ý: Đây là chương trình cho vật cản, nên chúng ta cần nhấp đôi vào vật cản (đối tượng Button3) để hiện thực đoạn chương trình này
1.3 Ẩn viên đạn khi đụng vật cản
Chương trình hiện tại cho phép viên đạn tiếp tục bay và phá hủy các vật cản phía sau sau khi va chạm với vật cản đầu tiên Để cải tiến, chúng ta cần điều chỉnh để viên đạn biến mất ngay khi gặp vật cản đầu tiên Quá trình này bao gồm hai bước cụ thể để thực hiện.
Bước 1: Trước khi xóa bản sao của vật cản, chúng ta cần tạo ra 1 tin nhắn gửi đến viên đạn
Chương trình hoàn thiện cho vật cản như sau:
Hình 46: Chương trình cho vật cản
Bước 2: Cập nhật chương trình cho đối tượng Ball bằng cách ngừng hoạt động của viên đạn ngay khi nhận được thông báo, nhằm ngăn chặn nó bay và ẩn nó khỏi màn hình.
Hình 47: Cập nhật thêm chương trình cho viên đạn
Lưu ý rằng đây là chương trình dành cho viên đạn, vì vậy bạn cần nhấp đúp vào đối tượng viên đạn để hiển thị thêm đoạn chương trình Học sinh cần chú ý đến màu sắc của các câu lệnh để tìm kiếm chính xác và điều chỉnh các thông số bằng cách nhấn vào phím mũi tên đen ở góc phải của các câu lệnh.
Tương tác giữa Xe tăng – Vật cản
1 Nội dung chi tiết 1.1 Nhắc lại bài cũ
Hiện tại, xe tăng của chúng ta đang gặp khó khăn khi đi qua các vật cản Trong bài viết này, chúng tôi sẽ cải thiện chương trình của xe tăng để nó không còn đi qua được những vật cản này Để bắt đầu, hãy nhấp đôi vào nhân vật xe tăng để quay lại chương trình của đối tượng và tiến hành lập trình cho nó.
Hình 48: Chương trình di chuyển của xe tăng
Giáo viên nhắc lại cho học sinh nguyên lý hoạt động của chương trình này như sau:
• Khi nhấn phím mũi tên, chúng ta chỉ cho xe tăng xoay về hướng tương ứng
• Sau đó, tất cả việc di chuyển đều được định nghĩa trong khối lệnh DiChuyenXeTang
Để nâng cao khả năng di chuyển của xe tăng trong trò chơi, yêu cầu quan trọng là không được đè lên vật cản Do đó, chúng ta chỉ cần cải tiến khối lệnh DiChuyenXeTang.
- Học sinh hiểu được kĩ thuật tương tác giữa nhiều đối tượng.
- Học sinh hiểu được kĩ thuật di chuyển của nhân vật trong trò chơi.
- Học sinh áp dụng được các kĩ thuật này để áp dụng vào trò chơi.
(5 phút) 1.2 Xe tăng không di chuyển khi gặp vật cản
(20 phút) 1.3 Xe tăng không di chuyển khi chạm biên
1.2 Xe tăng không di chuyển khi gặp vật cản
Nguyên tắc thực hiện là cho xe tăng di chuyển bình thường và kiểm tra sự va chạm với vật cản Nếu xe tăng chạm vào vật cản, cần phải lùi lại để tránh va chạm.
Hình 49: Chương trình di chuyển của xe tăng không chạm vào vật cản
Trong chương trình này, chúng ta sử dụng câu lệnh điều kiện "nếu thì" để xác định xem xe tăng có va chạm với vật cản (đối tượng Ball) hay không Nếu xe tăng chạm vào vật cản, chúng ta sẽ cho phép xe tăng di chuyển.
Để tạo hiệu ứng lùi lại, một đoạn âm sẽ được sử dụng Tuy nhiên, quá trình này sẽ diễn ra rất nhanh, khiến người chơi có cảm giác như xe tăng đang đứng yên.
Cần lưu ý là khoảng di chuyển tới và lùi phải bằng nhau, ví dụ như chương trình trên là đi tới
20 bước, thì phải đi lùi -20 bước khi gặp vật cản Nếu 2 số này khác nhau, xe tăng sẽ không tạo ra hiệu ứng đứng yên
1.3 Xe tăng không di chuyển khi chạm biên
Chúng ta sẽ nâng cấp thêm 1 tính năng nhỏ cho việc di chuyển của xe tăng trở nên hợp lý hơn
Cụ thể, xe tăng cũng không di chuyển khi chạm vào biên Chương trình gợi ý như sau:
Hình 50: Chương trình di chuyển của xe tăng được cải tiến: xét thêm điều kiện chạm biên
Giáo viên nhấn mạnh rằng việc tạo ra khối lệnh mới mang lại nhiều lợi ích, vì chỉ cần thay đổi trong khối lệnh này, tất cả các hiệu ứng sẽ tự động áp dụng cho cả bốn phím mũi tên di chuyển.
Học sinh tự nghĩ ra một ý tưởng mới cho trò chơi, hiện thực nó và trình bày trước lớp vào hôm sau Một số ý tưởng như sau:
• Xe tăng bắn 1 lúc ra 3 viên đạn, mỗi viên bay theo 1 hướng
• Xe tăng bắn đạn đặc biệt khi nhấn vào phím R Viên đạn này sẽ xuyên qua tất cả viên đạn
Học sinh có thể tạo thêm 2 viên đạn bằng cách nhấp chuột phải vào nhân vật viên đạn và chọn “nhân bản” Để mỗi viên đạn bay theo một hướng khác nhau, hãy sử dụng lệnh xoay trái hoặc phải như hình minh họa.
Thiết kế màn hình chờ cho trò chơi
Trong bài viết này, chúng ta sẽ thiết kế một màn hình khởi đầu cho trò chơi, được gọi là màn hình chờ, với giao diện hấp dẫn và dễ sử dụng.
Khi nhấn vào lá cờ màu xanh, tất cả các nhân vật trong trò chơi sẽ ẩn đi, chỉ còn lại màn hình chờ Màn hình chờ có thể bao gồm một nút nhấn như nút START để bắt đầu trò chơi Khi người chơi nhấn nút này, màn hình chờ sẽ biến mất và thông báo khởi động trò chơi sẽ được gửi đến tất cả các đối tượng trong trò chơi như xe tăng và vật cản, khiến chúng xuất hiện.
1.1 Thiết kế màn hình chờ
Trong bài hướng dẫn này, chúng ta sẽ lựa chọn hình nền từ thư viện có sẵn của Scratch Học sinh cũng có thể tự do thiết kế màn hình theo ý thích Để thực hiện, chúng ta sẽ chọn đối tượng sân khấu và sau đó chọn phông nền từ thư viện.
Hình 52: Chọn màn hình chờ từ hình nền có sẵn của thư viện
Chúng ta có thể chọn màn hình blue sky và nhấn OK
- Học sinh hiểu được khái niệm màn hình chào trong ứng dụng.
- Học sinh thiết kế được màn hình chào.
- Học sinh áp dụng vào trò chơi đã được học.
1.1 Thiết kế màn hình chờ
(5 phút) 1.2 Ẩn toàn bộ các đối tượng của trò chơi khi nhấn vào sự kiện lá cờ
(20 phút) 1.3 Hiện lại các đối tượng của trò chơi khi nhấn vào nút bắt đầu
Hình 53: Chọn hình nền blue sky và nhấn OK
Tiếp tục thêm 1 nút nhấn để tạo nút bắt đầu cho trò chơi bằng cách chọn Chọn nhân vật từ thư viện
Hình 54: Chọn thêm nút nhấn để bắt đầu trò chơi
Chúng ta có thể chọn một nút nhấn như hình bên dưới:
Giao diện các đối tượng và sân khấu của chương trình lúc này như sau:
Hình 56: Giao diện sân khấu và các đối tượng
1.2 Ẩn toàn bộ các đối tượng của trò chơi khi nhấn vào sự kiện lá cờ
Để tạo hiệu ứng ẩn cho tất cả các đối tượng trong trò chơi, chúng ta sẽ kích hoạt sự kiện khi nhấn vào lá cờ, giúp hiển thị các đối tượng, chẳng hạn như xe tăng.
Hình 57: Ẩn xe tăng đi khi nhấn vào lá cờ
Chương trình cho vật cản, được bắt đầu khi nhấn và lá cờ Do đó, chúng ta cần thay đổi như sau:
Khi khởi động trò chơi và nhấn vào lá cờ, người chơi sẽ chỉ thấy màn hình chờ ban đầu mà không có bất kỳ chương trình nào cho vật cản.
Để đảm bảo rằng mỗi lần chơi lại đều có màn hình chờ là bầu trời xanh, chúng ta cần thêm sự kiện lá cờ cho sân khấu.
Hình 60: Hiện thực sự kiện lá cờ cho sân khấu
Lưu ý: Cần phải chọn vào sân khấu, sau đó chọn vào nguyên bản để lập trình
1.3 Hiện lại các đối tượng trò chơi khi nhấn vào nút bắt đầu
Chúng ta sẽ phát triển một chương trình cho nút nhấn, khi được nhấn, nút này sẽ ẩn đi và đổi phông nền Sau đó, một thông điệp "BatDauTroChoi" sẽ được gửi đến tất cả người chơi Khi nhấn vào lá cờ để bắt đầu lại trò chơi, nút nhấn sẽ xuất hiện trở lại và phông nền sẽ chuyển sang màu xanh da trời Dưới đây là mã chương trình cho nút nhấn này:
Hình 61: Chương trình cho nút nhấn màu xanh
Sau cùng, các đối tượng nhận được thông báo BatDauTroChoi sẽ hiện ra Riêng đối tượng vật
Hình 63: Chương trình của vật cản
Thay vì bắt đầu vẽ bản đồ khi nhấn vào lá cờ màu xanh, các vật cản sẽ được vẽ ra ngay khi nhận được thông báo BatDauTroChoi.
Học sinh thiết kế thêm nhiều nút nhấn ở màn hình chờ để giới thiệu tác giả, cũng như giới thiệu luật chơi của trò chơi
☺ Hết ☺ Chúc sức khoẻ và thành công!
Thêm đối tượng xe tăng tự động
- Học sinh hiểu được tư tưởng lập trình cho một đối tượng vận hành tự động
- Học sinh hiểu được “trí thông minh” của xe tăng tự động
- Học sinh có thể tương tác được nhiều đối tượng trong trò chơi
Trong bài viết này, chúng ta sẽ triển khai một xe tăng tự động có khả năng tìm và tiêu diệt xe tăng của người chơi Xe tăng tự động này sẽ di chuyển và bắn đạn một cách ngẫu nhiên, hoàn toàn không cần sự can thiệp từ người chơi.
2.1 Tải nhân vật từ trên mạng về bộ nhớ máy tính
Để bắt đầu, bạn có thể tìm kiếm và tải xuống bất kỳ hình ảnh xe tăng nào từ Internet, hoặc truy cập vào trang web http://wifi.chipfc.com để thực hiện việc này.
Hình 64: Trang web wifi.chipfc.com
Truy cập mục Scratch nâng cao và chọn đường dẫn đầu tiên để tải hình ảnh về máy tính, trong khi phần âm thanh sẽ được sử dụng cho bài viết sau.
Hình 65: Sau khi chọn vào mục Hình ảnh và Âm thanh
Chọn tới đường dẫn lưu hình ảnh cho xe tăng tự động, và chọn nó để tải lên chương trình
Để tải xe tăng tự động (đối tượng tank_xanh) lên chương trình, trước tiên cần ẩn xe tăng này Nó chỉ được hiển thị khi nhận được thông báo bắt đầu trò chơi, như đã trình bày trong Bài 8.
Hình 68: Ẩn xe tăng tự động khi bắt đầu trò chơi, và hiện lại khi có thông báo bắt đầu trò chơi
Chương trình này được hiện thực cho xe tăng tự động (đối tượng tank_xanh)
2.3 Hiệu chỉnh chương trình di chuyển của xe tăng người chơi
Người chơi điều khiển xe tăng bằng 4 phím mũi tên, và xe tăng này không được phép di chuyển lên xe tăng tự động Để đảm bảo tính hợp lệ trong trò chơi, cần thêm một câu lệnh điều kiện để kiểm tra xem xe tăng màu đỏ có va chạm với xe tăng xanh hay không.
Hình 69: Chương trình di chuyển của xe tăng đỏ: Không được di chuyển đè lên xe tăng xanh
2.4 Hiệu chỉnh chương trình tạo ra vật cản
Chúng ta cần điều chỉnh chương trình tạo ra vật cản trong trò chơi để đảm bảo rằng vật cản không đè lên xe tăng tự động Để thực hiện điều này, hãy nhấp đôi vào đối tượng vật cản (Button3) và sửa đổi chương trình cho phù hợp Trước khi tạo bản sao của vật cản, cần kiểm tra xem nó có va chạm với đối tượng tank_xanh hay không.
Hình 70: Đoạn chương trình kiểm tra điều kiện có chạm vào tank_xanh hay không
Như vậy, cho đến lúc này, để một vật cản được tạo ra cần phải có 3 điều kiện:
• Phần tử tương ứng trong danh sách có giá trị là 1
• Không chạm vào xe tăng đỏ (đối tượng tank)
• Không chạm vào xe tăng xanh (đối tượng tank_xanh)
Bản đồ trò chơi được tạo ra sẽ như sau:
Hình 71: Bản đồ trò chơi được tạo ra: Tránh các vị trí của 2 xe tăng
2.5 Chương trình di chuyển tự động của xe tăng
Chúng ta tạo một khối lệnh mới có tên là DiChuyenTuDong, tương tự như xe tăng màu đỏ Để thực hiện, hãy vào mục Thêm nhiều Khối lệnh, nhấn nút Tạo một mảnh ghép, nhập tên và nhấn OK.
Hình 73: Chương trình di chuyển cho xe tăng tự động
Những điểm khác nhau cần lưu ý:
• Chúng ta không cần chơi âm thanh cho xe tăng tự động
• Xe tăng tự động di chuyển mỗi lần chỉ 5 bước, chậm hơn so với xe tăng người chơi, nhằm tạo lợi thế di chuyển cho người chơi
• Tương tự với xe tăng người chơi, xe tăng tự động không đi xuyên qua vật cản cũng như không đi xuyên qua xe tăng người chơi
Xe tăng tự động sẽ tự động chuyển hướng ngay khi chạm vào biên của bản đồ, thay vì đứng yên như xe tăng do người chơi điều khiển.
2.6 Xây dựng kịch bản cho xe tăng di chuyển tự động
Hướng di chuyển của xe tăng được xác định bởi 4 phím mũi tên, tương ứng với các giá trị -90, 90, 0 và 180 độ Bằng cách tạo ra một biến số ngẫu nhiên với các giá trị -1, 0, 1 và 2, ta có thể nhân với 90 để tạo ra một hướng di chuyển ngẫu nhiên cho xe tăng.
Đầu tiên, chúng ta khởi tạo một biến Huong với giá trị ngẫu nhiên Tiếp theo, xe tăng sẽ tự động xoay về hướng ngẫu nhiên này trước khi thực hiện khối lệnh DiChuyenTuDong.
Hình 74: Một kịch bản di chuyển cho robot tự động
Xe tăng tự động bắn đạn
- Học sinh hiểu được tư tưởng lập trình cho một đối tượng vận hành tự động
- Học sinh hiểu được “trí thông minh” của xe tăng tự động
- Học sinh có thể tương tác được nhiều đối tượng trong trò chơi
Trong bài viết này, chúng ta sẽ hướng dẫn cách lập trình xe tăng tự động bắn đạn khi di chuyển Mỗi khi chọn một hướng bất kỳ, xe tăng sẽ bắn một viên đạn và sau đó tiến về phía đó.
Để bắt đầu, chúng ta cần thêm một đối tượng để mô phỏng viên đạn cho xe tăng tự động Một lựa chọn hợp lý là sử dụng quả bóng từ thư viện của Scratch, và quả bóng chày (đối tượng Basketball) sẽ được chọn làm viên đạn cho xe tăng.
Hình 75: Chọn đối tượng Basketball làm viên đạn cho xe tăng tự động
Tương tự như chương trình viên đạn của xe tăng đỏ, chúng ta cũng phải ẩn viên đạn của xe tăng xanh ở đầu chương trình như sau:
Hình 76: Ẩn viên đạn ban đầu trò chơi
2.2 Tạo tin nhắn bắn đạn cho xe tăng màu xanh
Khác với viên đạn của xe tăng màu đỏ, được bắn khi người dùng nhấn phím khoảng trắng, viên đạn của xe tăng màu xanh sẽ bắn tự động Để mô phỏng sự kiện nhấn phím khoảng trắng, chúng ta cần tạo ra một sự kiện và gửi thông báo đến viên đạn Basketball Thông báo này sẽ được gọi trong kịch bản di chuyển của xe tăng màu xanh.
Hình 77: Tạo tin nhắn mới
Giao diện hiển thị cho phép người dùng đặt tên cho tin nhắn mới, ví dụ như "BanDanTankXanh" (viết tắt không dấu cho Bắn Đạn Tăng Xanh), và sau đó chọn OK để xác nhận.
Hình 78: Đặt tên cho tin nhắn bắn đạn
2.3 Hiện thực chương trình bắn đạn cho xe tăng xanh
Chúng ta sẽ bắt đầu triển khai chương trình bắn đạn cho xe tăng xanh, tương tự như viên đạn của xe tăng đỏ Sự kiện bắn ra viên đạn sẽ được kích hoạt khi nhận được tin nhắn "BanDanTankXanh" mà chúng ta đã tạo ra trước đó.
Hình 79: Chương trình bắn đạn của xe tăng màu xanh
Chương trình này tương tự như viên đạn của xe tăng đỏ, bắt đầu từ thông báo BanDanTankXanh Cần điều chỉnh câu lệnh xoay cho phù hợp với hướng của đối tượng tank_xanh Cuối cùng, các câu lệnh chơi âm thanh không cần thiết và có thể được loại bỏ.
Giáo viên và học sinh cần chú ý đến các câu lệnh có dấu mũi tên màu đỏ, vì đây là những câu lệnh quan trọng và dễ bị nhầm lẫn khi sao chép chương trình từ xe tăng màu đỏ.
2.4 Gọi sự kiện bắn đạn ở đối tượng tank_xanh
Sau khi sự kiện bắn viên đạn được kích hoạt, cần gọi nó trong kịch bản di chuyển của xe tăng màu xanh Cụ thể, mỗi khi xe tăng chọn một hướng di chuyển, nó sẽ bắn ra viên đạn, sau đó chờ trong 3 giây trước khi bắt đầu di chuyển.
Hình 80: Thêm câu lệnh thông báo BanDanTankXanh vào kịch bản di chuyển
Học sinh có khả năng phát triển các kịch bản di chuyển và bắn đạn phức tạp hơn Chẳng hạn, sau khi hoàn tất quá trình di chuyển, xe tăng có thể tiếp tục bắn thêm một viên đạn nữa.
Tương tác giữa đạn của xe tăng tự động và các đối tượng khác
và các đối tượng khác
- Học sinh hiểu được tư tưởng lập trình cho một đối tượng vận hành tự động
- Học sinh hiểu được “trí thông minh” của xe tăng tự động
- Học sinh có thể tương tác được nhiều đối tượng trong trò chơi
Viên đạn của xe tăng xanh có khả năng tương tác với vật cản trên bản đồ, tương tự như viên đạn của xe tăng đỏ Để thực hiện chức năng này, cần thực hiện hai bước cụ thể.
Trong bước đầu tiên của chương trình vật cản, cần kiểm tra xem vật cản có va chạm với viên đạn của xe tăng màu xanh (đối tượng Basketball) hay không Nếu có, vật cản sẽ được ẩn đi và một thông báo sẽ được gửi đến viên đạn của xe tăng màu xanh Giáo viên có thể nhắc lại cách tạo thông báo mới từ bài học trước để giúp học sinh hiểu rõ hơn về chức năng này.
Hình 81: Vật cản ẩn đi khi viên đạn của xe tăng màu xanh (đối tượng Basketball) chạm vào
Bước 2: Đối với viên đạn của xe tăng xanh, khi nhận được thông báo DanXanhChamGach thì nó cũng được ẩn đi Chương trình gợi ý như sau:
Hình 82: Chương trình viên đạn của xe tăng màu xanh
Khi viên đạn từ xe tăng đỏ trúng xe tăng màu xanh, xe tăng màu xanh sẽ ẩn đi Chương trình được lập trình để kiểm tra va chạm giữa viên đạn và xe tăng màu xanh khi người chơi nhấn phím khoảng trắng Nếu va chạm xảy ra, viên đạn sẽ ẩn đi và gửi thông báo "DanDoChamTankXanh" tới xe tăng màu xanh, khiến nó cũng ẩn khỏi bản đồ trò chơi.
Chương trình gợi ý cho viên đạn của xe tăng đỏ như sau:
Hình 83: Chương trình viên đạn của xe tăng màu đỏ
Đoạn mã kiểm tra xem viên đạn có va chạm với đối tượng tank_xanh hay không Nếu xảy ra va chạm, viên đạn sẽ được ẩn đi và một thông báo sẽ được gửi đến xe tăng màu xanh.
Chương trình cho xe tăng màu xanh khi nhận được thông báo này sẽ như sau:
Hình 84: Xe tăng xanh ẩn đi khi nhận được thông báo
Lưu ý: Chúng ta phải chọn cho đúng thông báo ở câu lệnh khi tôi nhận được thông báo
Học sinh thực hiện chương trình theo chiều ngược lại, khi viên đạn của xe tăng màu xanh chạm vào xe tăng đỏ, cả hai đều biến mất khỏi bản đồ trò chơi Để cải tiến, học sinh có thể thêm chức năng dừng toàn bộ chương trình khi xe tăng đỏ bị trúng đạn Dưới đây là đáp án cho chương trình viên đạn của xe tăng xanh:
Lưu ý: Một thông báo mới được tạo ra trong trường hợp này, là thông báo
DanXanhChamTankDo (viết tắt của Đạn Xanh Chạm Tank Đỏ)
Chương trình cho xe tăng đỏ sẽ chờ nhận thông báo này, và sẽ ngừng tất cả để kết thúc trò chơi:
Hình 86: Dừng toàn bộ chương trình khi xe tăng đỏ bị bắn trúng
Hiện nay, khi xe tăng xanh bị mất, viên đạn của nó vẫn tiếp tục tự động bắn ra Học sinh cần phát triển thêm chương trình để khắc phục tình trạng này.
Để cải thiện kịch bản di chuyển của xe tăng xanh, bạn nên tạo thêm một biến có tên là "Còn Sống" với giá trị khởi tạo là 0 Khi xe tăng xanh bị trúng đạn và nhận thông báo DanDoChamTankXanh, hãy gán giá trị của biến này thành 1 Trong quá trình di chuyển, kiểm tra xem biến "Còn Sống" có bằng 0 hay không; chỉ khi nó bằng 0, chương trình mới gửi thông báo TankXanhBanDan.
Hình 87: Chương trình cho xe tăng xanh (lưu ý các mũi tên màu đỏ)
Học sinh thiết kế màn hình kết thúc trò chơi (GAME OVER) xuất hiện khi xe tăng đỏ bị trúng đạn Màn hình này có nút để người chơi bắt đầu lại trò chơi một cách dễ dàng.
Bài 12: Nâng cấp trò chơi
- Học sinh hiểu được tư tưởng lập trình cho một đối tượng vận hành tự động
- Học sinh hiểu được “trí thông minh” của xe tăng tự động
- Học sinh có thể tương tác được nhiều đối tượng trong trò chơi
Trong bài viết này, chúng tôi sẽ giới thiệu một số ý tưởng nâng cấp trò chơi mà không đi sâu vào việc thực hiện Giáo viên có thể khuyến khích học sinh tự do sáng tạo để hiện thực hóa những ý tưởng nâng cấp này.
Xe tăng màu đỏ có khả năng bắn ra 3 viên đạn cùng một lúc theo 3 hướng khác nhau, thay vì chỉ bắn một viên khi nhấn phím khoảng trắng.
Học sinh có thể thực hiện một nhiệm vụ phức tạp hơn bằng cách hiển thị ngẫu nhiên một ngôi sao trên màn hình Khi xe tăng ăn ngôi sao này, nó sẽ có khả năng bắn ra 3 viên đạn cùng một lúc.
Học sinh thực hiện ý tưởng bằng cách thêm hai đối tượng mới để tạo ra hai viên đạn cho xe tăng đỏ Hai viên đạn này có chức năng tương tự như viên đạn cũ (đối tượng Ball), nhưng khi chúng xoay về phía xe tăng, một viên đạn sẽ xoay thêm 15 độ sang bên trái, trong khi viên đạn còn lại sẽ xoay 15 độ sang bên phải và tiếp tục bay cho đến khi chạm vào biên.
Hình 88: Xe tăng đỏ đang bắn ra 3 viên đạn cùng lúc
Một đoạn chương trình gợi ý như sau: