Biến đếm: click kiếm tiền
Mục tiêu: Bấm vào mèo để kiếm tiền; đủ 20 đồng thì mua nâng cấp, mỗi lần bấm được nhiều tiền hơn.
Em sẽ học gì
- Nội dung trong bài: hai biến liên quan nhau, số tiền và số tiền mỗi lần bấm.
- Cập nhật một biến bằng giá trị của biến khác.
- Và cách viết điều kiện lớn hơn hoặc bằng trong Scratch.

Bài làm như sau. Đặt mèo lệch sang trái một chút: x bằng âm 60, y bằng âm 10.

Thêm nút nâng cấp: bấm nút Chọn một Nhân vật ở góc dưới bên phải, gõ Button2 vào ô tìm kiếm, rồi chọn nút bấm này. Đặt nút ở góc dưới bên phải: x bằng 150, y bằng âm 110. Chọn nhóm Biến số, bấm Tạo một biến, đặt tên là coin: số tiền đang có. Tạo biến thứ hai, tên là perClick: số tiền nhận được mỗi lần bấm.

Hai biến đều được tích sẵn, nên giá trị của chúng hiện ở góc trên sân khấu. Khi chạy, ta nhìn vào đó để theo dõi.

Làm cho mèo trước. Chọn nhân vật mèo.

Việc cần làm: bấm cờ xanh thì coin = 0, perClick = 1.
Sơ đồ khối ở khung bên phải. Bấm cờ xanh: coin bằng 0, perClick bằng 1. Mỗi lần bấm vào mèo, coin tăng thêm một lượng bằng perClick. Bấm nút nâng cấp: nếu coin từ 20 trở lên thì trừ 20 đồng và perClick tăng 1, nếu không thì nói Chưa đủ tiền.

Chọn nhóm Sự kiện, kéo khối: Khi bấm vào cờ xanh,

Chọn nhóm Biến số, gắn khối đặt biến thành, chọn biến coin, giữ số 0: bắt đầu chơi thì chưa có đồng nào.

Thêm một khối đặt biến thành nữa, chọn biến perClick, gõ 1: lúc đầu, mỗi lần bấm được 1 đồng.

Việc cần làm: bấm vào mèo thì coin tăng thêm perClick.
Chọn nhóm Sự kiện, kéo khối: Khi bấm vào nhân vật này, đặt bên dưới chương trình thứ nhất,

Chọn nhóm Biến số, gắn khối thay đổi biến một lượng, chọn biến coin,

ô lượng không gõ số, mà thả biến perClick vào. Ta vừa làm: bấm vào mèo thì coin tăng thêm một lượng bằng perClick.
Giải thích: Lượng thay đổi ở đây là một biến chứ không phải một số cố định. Sau này perClick đổi, số tiền mỗi lần bấm sẽ đổi theo.

Chạy thử: bấm cờ xanh, rồi bấm vào mèo 5 lần. Ô coin tăng từng đồng một, lên 5, vì perClick đang bằng 1.

Giờ đến nút nâng cấp. Chọn nhân vật Button2.

Việc cần làm: bấm vào nút, nếu coin từ 20 trở lên thì trừ 20 đồng và perClick tăng 1, nếu không thì báo chưa đủ tiền.
Chọn nhóm Sự kiện, kéo khối: Khi bấm vào nhân vật này,

Chọn nhóm Điều khiển, gắn khối nếu thì, nếu không thì,

Điều kiện là coin lớn hơn hoặc bằng 20. Scratch chỉ có ba phép so sánh: lớn hơn, nhỏ hơn và bằng, nên ta viết theo cách khác.

Lấy khối không phải, trong nhóm Các phép toán, thả vào ô điều kiện,

rồi thả phép so sánh nhỏ hơn vào trong khối không phải, bên phải gõ 20,

bên trái thả biến coin, trong nhóm Biến số.
Giải thích: Khối không phải đảo ngược điều kiện bên trong. Không phải coin nhỏ hơn 20, nghĩa là coin lớn hơn hoặc bằng 20.

Nhánh trên, khi đủ tiền: khối thay đổi biến một lượng, chọn coin, gõ âm 20: trả 20 đồng.

Thêm một khối thay đổi biến nữa, chọn perClick, giữ số 1: từ giờ mỗi lần bấm được thêm 1 đồng.

Nhánh nếu không thì, khi chưa đủ tiền: khối nói trong mấy giây, trong nhóm Hiển thị, gõ: Chưa đủ tiền, trong 1 giây. Ta vừa làm: bấm vào nút, nếu coin không nhỏ hơn 20 thì trừ 20 đồng và perClick tăng 1, nếu không thì nói Chưa đủ tiền.

Chạy thử cả trò chơi: bấm cờ xanh, bấm vào mèo 5 lần: coin bằng 5. Bấm thử nút nâng cấp: mới có 5 đồng, nút báo Chưa đủ tiền, hai biến giữ nguyên. Bấm tiếp vào mèo cho đủ 20 đồng. Bấm nút nâng cấp: coin trở về 0, còn perClick tăng lên 2. Đúng 20 đồng vẫn mua được, vì điều kiện là lớn hơn hoặc bằng. Giờ bấm vào mèo 3 lần: mỗi lần được 2 đồng, coin lên 2, 4, rồi 6.

Các khối mới trong bài
- Khối không phải: đảo ngược điều kiện bên trong: đúng thành sai, sai thành đúng.
Kỹ thuật lập trình đã học
- Về kỹ thuật lập trình, bài này ta học: hai biến liên quan nhau: coin tăng nhanh hay chậm là do perClick.
- Biểu thức cập nhật biến: coin mới bằng coin cũ cộng perClick.
- Lớn hơn hoặc bằng, trong Scratch viết là: không phải nhỏ hơn.
- Và theo dõi biến trên sân khấu: tích ô cạnh tên biến để xem giá trị khi chạy.
Bài tập
Bài tập: tạo thêm biến price, bắt đầu bằng 20. Mỗi lần mua nâng cấp, giá tăng gấp đôi: đặt price thành price nhân 2.