Bài 1: Lập trình nhân vật di chuyển trong trò chơi

Từ ChipFC Wiki
Bước tới: chuyển hướng, tìm kiếm


Mục tiêu

  • 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

Nội dung chi tiết

Trong giáo trình này, chúng ta sẽ xây dựng một chương trình hoàn chỉnh gồm nhiều giai đoạn. Do đó, trong mỗi buổi học, giáo viên cần lưu ý nhắc nhở học sinh lưu lại bài làm để dùng cho buổi tiếp theo.

Thiết kế nhân vật trò chơi

Để có thể thuận tiện trong việc lập trình nhân vật 2D trong trò chơi, chúng ta nên thiết kế nhân vật ở trạng thái mặc định là hướng sang trái. Hình vẽ bên dưới là ví dụ về nhân vật xe tăng sẽ được dùng trong trò chơi.

Thiet ke nhan vat tro choi.jpg

Tải nhân vật từ trên mạng về bộ nhớ máy tính

Trước tiên, chúng ta có thể tìm và tải một hình ảnh xe tăng từ trên mạng Internet. Chúng ta có thể vào trang http://wifi.chipfc.com như sau

Hình 1: 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 hình ảnh (phần âm thanh sẽ dùng cho bài sau) và lưu về bộ nhớ của máy tính:

Hình 2: Sau khi chọn vào mục Hình ảnh và Âm thanh

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

Them doi tuong moi.png

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

Xoa chu meo.png

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

Doi tuong xe tang.png

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 phải. Để bắt đầu lập trình, chúng ta nhấn đôi chuột vào nhân vật xe tăng và chọn vào Nguyên bản (xem hình vẽ bên dưới).

Hình 3: Chọn vào nhân vật xe tăng và chọn vào Nguyên bản để lập trình

Đoạn chương trình để xe tăng di chuyển qua phải khi nhấn phím mũi tên qua phải có thể được hiện thực 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ải

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ướng dẫn: Học sinh có thể tạo bản sao từ 3 câu lệnh cho việc di chuyển sang phải, sau đó đổi tùy chọn trong câu lệnh khi nhấn phím và câu lệnh xoay về phía.

Đáp án: Chương trình di chuyển cho 4 phím mũi tên có thể được hiện thực như sau

Hình 5: Chương trình di chuyển cho xe tăng bằng bốn phím mũi tên

Xây dựng khối lệnh di chuyển

Như chương trình ở bên trên, chúng ta có thể thấy có nhiều câu lệnh gần tương tự nhau. Chính vì vậy, mỗi khi thay đổi hành vi của xe tăng, chúng ta cần phải thay đổi ở 4 chỗ khác nhau. Ví dụ, mỗi lần nhấn phím mũi tên, chúng ta muốn xe tăng di chuyển nhanh hơn, 20 bước, thay vì 10 bước như hiện tại. Để khắc phục nhược điểm này, Scratch cung cấp cho người dùng một chức năng là có thể tự định nghĩa một khối lệnh mới. Khối lệnh mới này có ý nghĩa giống như 1 chương trình con trong Pascal. Để định nghĩa một khối lệnh mới, chúng ta chọn vào nhóm Thêm nhiều khối lệnh, sau đó nhấn tiếp vào Tạo một mảnh ghép như hình bên dưới.

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ẽ được tự động sinh ra như hình vẽ bên dưới. Mảnh ghép bên trái, cho phép chúng ta kéo thả và nối khối lệnh mới này như một câu lệnh Scratch bình thường. Còn lại, khối lệnh bên phải, cho phép chúng ta định nghĩa chức năng của khối lệnh DiChuyenXeTang.

Dichuyenxetang.png

Ở bước đầu tiên, chúng ta chỉ đơn giản định nghĩa khối lệnh mới này là di chuyển 10 bước, và gọi nó lần lượt trong chương trình cho 4 phím mũi tên như sau:

Hình 8: Chương trình xe tăng di chuyển với khối lệnh mới

Bài tập trên lớp: Học sinh hãy hiệu chỉnh chương trình cho khối lệnh mới này, giúp xe tăng di chuyển nhanh hơn (mỗi lần di chuyển 20 bước) hiện tại. Học sinh hãy thêm câu lệnh chỉnh kiểu quay thành tất cả các hướng xung quanh, để đảm bảo xe tăng di chuyển và hướng sang 4 hướng.

Đá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.

Bài tập về nhà

Học sinh tự thiết kế một nhân vật theo ý thích của mình. Học sinh thêm nhân vật này vào chương trình và lập trình để nhân vật di chuyển theo 4 hướng khác nhau bằng các phím 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).