
Scratch là một công cụ tuyệt vời để giúp bạn tạo ra các trò chơi ngay trên máy tính. Sau khi hoàn thành, bạn có thể chia sẻ sản phẩm của mình với bạn bè và giúp họ khám phá thế giới Lập trình Scratch một cách thú vị.

Lập trình Scratch mang đến một phương pháp tiếp cận sáng tạo cho trẻ em và thanh thiếu niên, giúp các em bắt đầu học lập trình và xây dựng những trò chơi, câu chuyện, hoạt hình hấp dẫn mà các em yêu thích. Việc tạo game trên Scratch vô cùng đơn giản. Bài viết này sẽ hướng dẫn bạn chi tiết cách làm game Oẳn Tù Tì trong Scratch.
Hãy bắt đầu bằng việc lựa chọn hai hình ảnh nhân vật (sprite) mà bạn mong muốn. Hãy cân nhắc chủ đề mà bạn muốn xây dựng cho trò chơi của mình. Một nhân vật sẽ đại diện cho người chơi, và nhân vật còn lại sẽ đại diện cho máy tính. Sau khi đã chọn được hai hình ảnh, hãy thêm phông nền cho game.

Tiếp theo, hãy xác định những thông tin quan trọng cần được theo dõi trong suốt quá trình chơi Oẳn Tù Tì. Những thông tin này sẽ được lưu trữ trong các biến. Ví dụ, chúng ta cần theo dõi lựa chọn, điểm số của cả người chơi và máy tính. Điều này có nghĩa là chúng ta cần tạo tổng cộng 4 biến! Bạn có thể thực hiện việc này bằng cách vào mục ‘Variables’ và nhấp vào nút ‘Make a Variable’. Khi thực hiện, hãy đảm bảo rằng tùy chọn ‘For all sprites’ đã được chọn. Dưới đây là một ví dụ về một trong các biến có tên là ‘Player’s choice’.
Sau khi tạo đủ bốn biến, giao diện của bạn sẽ hiển thị như sau:

Các biến cần được đặt lại về 0 sau mỗi ván chơi. Hãy thêm đoạn mã sau vào sprite của người chơi:
Khi bắt đầu game Oẳn Tù Tì, cả người chơi và máy tính chưa đưa ra bất kỳ lựa chọn nào, do đó điểm số của tất cả mọi người đều bằng 0.

Khi các sprite và biến đã được thiết lập, bạn có thể bắt đầu lập trình cho người chơi. Hãy xem bảng dưới đây, nó minh họa mối quan hệ giữa phím bàn phím và biến ‘Player Choice’ khi chọn Oẳn Tù Tì. Nếu người chơi muốn chọn Đá, họ cần nhấn phím ‘R’ trên bàn phím, và chúng ta sẽ đặt biến ‘Player Choice’ bằng 1. Nếu họ muốn chọn Giấy, họ cần nhấn phím ‘P’, và biến ‘Player Choice’ sẽ được đặt thành 2. Cuối cùng, nếu họ muốn chọn Kéo, họ cần nhấn phím ‘S’, và biến ‘Player Choice’ sẽ được đặt thành 3.

Hãy đảm bảo rằng bạn hiểu rõ ý nghĩa của bảng trước khi tiếp tục.
Bây giờ, hãy xem cách chuyển đổi điều này thành mã!
Làm thế nào để kiểm tra xem người chơi có nhấn phím nào trên bàn phím không?
Để thực hiện điều này, hãy sử dụng 3 khối if-then từ danh mục điều khiển và các khối nhấn phím cách từ danh mục cảm biến. Mỗi khối if-then sẽ kiểm tra xem người chơi có nhấn một phím khác nhau hay không. Khi bạn đã chuẩn bị xong cả ba khối if-then, đừng quên thêm một khối forever bao quanh toàn bộ. Điều này đảm bảo trò chơi luôn kiểm tra xem có phím nào được nhấn hay không. Bên trong mỗi khối if-then, cần đặt Lựa chọn của Người chơi thành giá trị chính xác. Mã sẽ trông như sau:

Bạn có thể làm cho trò chơi trở nên thú vị hơn bằng cách cho sprite nói điều gì đó mỗi khi người chơi đưa ra lựa chọn. Mã của bạn có thể trông như sau:

Bây giờ, khi game cho phép người chơi đưa ra lựa chọn, bạn cần cho AI hay máy biết rằng nó cũng có thể đưa ra lựa chọn của mình.
Để đảm bảo máy tính biết đến lượt chọn của mình, bạn cần thiết kế một thông báo. Bạn sẽ tìm thấy khối cần thiết trong danh mục sự kiện. Chọn và kéo một khối tin nhắn phát sóng (broadcast message1) vào mỗi khối điều kiện if-then. Hãy chắc chắn tạo một tin nhắn mới và đặt tên là ‘player made choice’. Mã của bạn bây giờ sẽ trông như thế này.

Tiếp theo, máy phải có khả năng nhận được tin nhắn đó, vì vậy chúng ta cần một khối từ danh mục sự kiện một lần nữa. Lần này, bạn cần khối ‘when I receive’. Khối này sẽ kích hoạt mã của máy sau khi người chơi đưa ra lựa chọn của họ. Mã của máy sẽ trông như thế này:

Bây giờ máy tính đã biết đến lượt mình chọn, bạn cần thêm mã để nó thực sự chọn oẳn tù tì. Vì máy tính không thể tự suy nghĩ, bạn phải cho nó chọn ngẫu nhiên. Để làm điều đó, bạn cần khối lệnh ‘randomly’ từ danh mục Toán tử.
Hãy nhớ lại bảng cho biết Oẳn tù tì được biểu thị bằng số 1, Oẳn tù tì bằng số 2 và Kéo bằng số 3? Chúng ta cần đặt biến ‘Computer’s Choice’ thành số ngẫu nhiên mà chúng ta tạo ra để có thể theo dõi lựa chọn của máy tính. Mã của bạn sẽ trông như sau:

Bây giờ máy tính đã đưa ra lựa chọn của mình, chúng ta có thể làm cho trò chơi thú vị hơn bằng cách cho máy tính nói lựa chọn của nó. Để làm điều này, chúng ta sẽ kiểm tra xem Computer’s Choice’ bằng bao nhiêu. Nếu nó bằng 1, cho máy tính nói ‘Oẳn tù tì!’. Nếu là 2, máy tính sẽ nói ‘Giấy!’. Cuối cùng, nếu là 3, máy tính sẽ nói ‘Kéo!’. Làm thế nào để kiểm tra xem một thứ có bằng với thứ khác hay không? Chúng ta sẽ sử dụng khối ‘=’ từ danh mục Toán tử với khối if-then!
Mã của máy tính bây giờ sẽ trông như thế này:

Game bao giờ cũng cần có người thắng, người thua. Đây là lý do tại sao các biến ‘Lựa chọn của người chơi’ và ‘Lựa chọn của máy tính’ lại quan trọng đến vậy! Chúng lưu trữ cả lựa chọn của người chơi và máy tính để biết ai là người chiến thắng.
Hãy liệt kê tất cả các kết quả có thể xảy ra:

Hãy bắt đầu chuyển đổi điều này thành mã.
Sau khi sprite máy tính thông báo lựa chọn ngẫu nhiên của nó, hãy sử dụng các câu lệnh điều kiện để xác định kết quả. Ví dụ này tạo ba câu lệnh điều kiện if-then, mỗi câu lệnh dành cho một lựa chọn có thể của người chơi. Ví dụ, nếu máy tính chọn 1 (Đá), thì chúng ta sẽ kiểm tra xem lựa chọn của người chơi có bằng 1 (Đá), 2 (Giấy) hoặc 3 (Kéo) hay không. Tùy thuộc vào lựa chọn của người chơi, thông báo sẽ đưa ra là Máy tính thắng, Người chơi thắng hoặc Hòa. Chúng ta cũng có thể tăng điểm của Người chơi hoặc Điểm của Máy tính tùy thuộc vào ai thắng điểm.
Chúng ta sẽ tiếp tục quá trình này bằng cách thêm ba câu lệnh if-then vào các câu lệnh điều kiện kiểm tra xem lựa chọn của Máy tính có bằng 2 (Giấy) hoặc 3 (Kéo) hay không.

Cuối cùng, chúng ta có thể kết thúc trò chơi nếu Điểm của Người chơi hoặc Điểm của Máy tính đạt đến một điểm mục tiêu nhất định. Ví dụ sẽ sử dụng điểm mục tiêu là 5 điểm, nhưng bạn có thể tùy chỉnh con số này tùy thuộc vào thời gian muốn trò chơi tiếp tục.
Đầu tiên, hãy tạo hai phông nền mà bạn sẽ sử dụng, một phông nền nếu người chơi thắng và một phông nền khác nếu máy tính thắng.
Sau khi mã của bạn tính toán điểm số bằng cách xác định ai thắng điểm, bạn sẽ cho máy tính kiểm tra xem người chơi hoặc máy tính đã đạt được điểm số mục tiêu hay chưa. Nếu biến Điểm của Người chơi hoặc Điểm của Máy tính bằng 5 (điểm số mục tiêu của bạn), thì hãy chuyển đổi phông nền và dừng mã.

Đừng quên chuyển phông nền trở lại phông nền không có chữ khi bạn nhấp vào cờ xanh.
Hãy thoải mái tiếp tục thêm nhiều tính năng và khả năng cho trò chơi này, chẳng hạn như nhạc nền, tạo hoạt ảnh, thậm chí tạo cấp độ người chơi. Hãy sáng tạo và quan trọng nhất là hãy vui vẻ!
1 nhận xét