Skip to content

Trò chơi (Mini-game) ​

Trang Trò chơi (/learnspace/games — không có mục riêng ở thanh trên Learnspace; bạn tới qua link trung tâm gửi, từ trang chơi tự do /g/<trò> hoặc gõ thẳng địa chỉ) là nơi bạn chơi các trò lập trình kéo-thả khối (Blockly): kéo các khối lệnh như tiến lên, rẽ trái, lặp để dẫn nhân vật qua bản đồ — có tường, vật phẩm phải nhặt, ô nguy hiểm và đích. Không cần biết code.

Có ba cách chơi trên cùng một trò:

Cách chơiAi chơi đượcCó gì
Chơi tự doMọi người, kể cả chưa đăng nhậpChọn level bất kỳ, chơi bao nhiêu lần tuỳ ý, chia sẻ kết quả
Mùa giảiMọi ngườiNhiều level mở khoá tuần tự, có hạn, có giải thưởng, bảng xếp hạng
Đố hôm nayHọc viên đã đăng nhậpMỗi ngày một đề chung, chuỗi ngày (streak), bảng theo lớp, thách đấu bạn học

Máy chấm là hệ thống, không phải trình duyệt

Khi bạn bấm Chạy, chương trình được gửi lên hệ thống để chạy và chấm; màn hình chỉ phát lại diễn biến. Vì vậy điểm trên bảng xếp hạng là điểm thật — không sửa được từ trình duyệt.

Chơi một level ​

  1. Mở trò chơi → chọn level ở dãy nút số phía trên (level đã qua có dấu ✓ xanh). Phần Giới thiệu trò chơi mở sẵn ở level đầu và thu gọn ở các level sau — bấm để xem lại.
  2. Kéo khối từ hộp công cụ bên trái vào vùng làm việc, nối dưới khối Bắt đầu. Trên bản đồ, nhân vật quay mặt theo hướng nó đang nhìn (với bộ hình emoji là mũi tên nhỏ cạnh nhân vật) — "tiến lên" đi theo hướng đó.
  3. Bấm Chạy. Nhân vật đi từng bước trên bản đồ, khối đang chạy được tô sáng. Kết quả hiện ngay dưới nút Chạy khi chạy xong, với ba trạng thái thường gặp: Hoàn thành, Chưa xong (chưa tới đích / chưa nhặt hết / đâm tường / dẫm ô nguy hiểm — dòng dưới ghi rõ lý do), Hết giới hạn (quá số bước cho phép hoặc lặp quá nhiều).
  4. Hoàn thành thì nhân vật nảy lên mừng ở đích và thanh kết quả hiện 1–3 sao (theo số khối bạn dùng so với số khối chuẩn — xem Tổng kết và sao) kèm một câu nhận xét, ví dụ "Bớt 2 khối nữa là được 3 sao". Lần đầu qua level có pháo giấy; chơi lại mà dùng ít khối hơn mọi lần trước thì có nhãn Kỷ lục mới!. Qua level chưa qua cuối cùng của trò chơi thì hiện hộp chúc mừng hoàn thành cả trò chơi, dẫn tới trang tổng kết. (Thiết bị bật "giảm chuyển động" thì không có hiệu ứng.)
  5. Thanh kết quả có nút đi tiếp: Level tiếp theo; nếu mọi level đã qua thì là Xem tổng kết (xem Tổng kết và sao); ở level cuối mà còn level chưa qua thì là Level chưa qua. Trong mùa giải, Level tiếp theo hiện khi level sau vừa được mở khoá.
  6. Chơi lại thoải mái — hệ thống giữ lượt tốt nhất của bạn ở mỗi level. Ô Điểm tốt nhất hiện "—" cho tới khi bạn hoàn thành level lần đầu.

Vật phẩm có số lượng ​

Ở một số level, ô vật phẩm có con số ở góc (ví dụ bánh trung thu ×3) và bạn phải gọi lệnh nhặt (tên theo trò chơi: nhặt hạt, lấy phấn hoa, lấy bánh…). Mỗi lần gọi lấy một vật phẩm ở ô đang đứng, con số giảm dần:

  • Nhặt thiếu → Chưa xong — chưa nhặt hết vật phẩm.
  • Nhặt thừa (ô đã hết mà vẫn gọi) → Chưa xong — nhặt ở ô không còn vật phẩm.
  • Mẹo: ô có 3 cái → lặp 3 lần: nhặt; không muốn đếm → lặp khi còn vật phẩm: nhặt (gõ mã: while (itemHere()) { collect(); }, Python while item_here():).

Ở level không có con số, đi qua ô là tự nhặt như trước.

Gợi ý ​

Level có gợi ý thì có nút Xem gợi ý (1/3) phía trên vùng chơi. Gợi ý không hiện sẵn — bấm để mở từng cái, từ gợi ý nhẹ tới gợi ý gần như lời giải; mở hết thì nút biến mất. Sau hai lần chạy chưa xong, nút được làm nổi để nhắc bạn có trợ giúp. Xem gợi ý không bị trừ điểm.

Kéo khối hay gõ mã? ​

Ở level cho phép, phía trên bảng khối có hai nút 🧩 Kéo khối / ⌨️ Gõ mã và ô chọn ngôn ngữ (JavaScript, Python, Java, C++, C# — tuỳ level cho). Gõ mã dùng đúng những lệnh của level với cú pháp quen thuộc; dưới ô gõ mã luôn có bảng liệt kê hàm và mẫu câu lệnh của ngôn ngữ bạn đang chọn:

js
// JavaScript
repeat(3) { moveForward(); }
while (!atGoal()) {
  if (pathAhead()) { moveForward(); } else { turnRight(); }
}
python
# Python
for i in range(3):
    move_forward()
while not at_goal():
    if path_ahead():
        move_forward()
    else:
        turn_right()
csharp
// C# — tên hàm viết hoa chữ đầu; Java/C++ giống JavaScript nhưng vòng for dùng `int`
for (int i = 0; i < 3; i++) { MoveForward(); }
while (!AtGoal()) {
    if (PathAhead()) { MoveForward(); } else { TurnRight(); }
}

Mỗi dòng một lệnh. Không có biến hay phép tính — đây là ngôn ngữ thu nhỏ đúng bằng bộ khối. Gọi lệnh mà level chưa cấp (ví dụ while ở level chỉ có tiến/rẽ) thì hệ thống báo lỗi kèm số dòng; gõ sai tên hàm thì gợi ý tên đúng. Chuyển qua lại giữa khối và mã bất kỳ lúc nào — chương trình được dịch qua lại, không mất gì. Điểm tính y hệt: mỗi câu lệnh là một khối. Hệ thống nhớ lựa chọn của bạn cho các level sau và mở lại đúng chương trình tốt nhất của bạn khi quay lại.

Điểm ​

Điểm mỗi level = 60 % điểm nền khi hoàn thành + tới 40 % thưởng khi dùng ít khối hơn hoặc bằng "số khối chuẩn" của level. Dùng gấp đôi số khối chuẩn thì hết thưởng. Không tính thời gian — bạn cứ suy nghĩ thong thả. Nộp lại bằng đúng điểm cũ không được tính là "tốt hơn".

Tổng kết và sao ​

Link Tổng kết cạnh dãy nút level (hoặc nút Xem tổng kết sau khi qua level cuối) mở trang tổng kết của trò chơi (/g/<trò>/summary):

  • Tiến độ (đã qua bao nhiêu level), tổng điểm và số sao. Qua hết thì trang chúc mừng; chưa thì có nút Chơi level chưa qua.
  • Bảng từng level: điểm, số khối bạn dùng / số khối chuẩn, số sao. Level chưa qua có nút Chơi; level đã qua nhưng chưa đủ 3 sao có nút Tối ưu — chơi lại bằng ít khối hơn.
  • Chia sẻ thành tích: tạo thẻ công khai ghi tiến độ, tổng điểm và số sao của bạn ở cả trò chơi (xem Chia sẻ thành tích cả trò chơi).
  • Chơi tiếp: vài trò chơi khác bạn mở được ngay (đã đăng nhập thì có thêm link Tất cả trò chơi).

Sao mỗi level tính theo số khối của lời giải ít khối nhất của bạn:

SaoKhi nào
★★★Dùng ≤ số khối chuẩn (hoặc level không đặt số khối chuẩn) — trọn điểm
★★☆Dùng tới 1,5 × số khối chuẩn
★☆☆Hoàn thành nhưng dùng nhiều khối hơn
☆☆☆Chưa hoàn thành

Trang tổng kết chỉ dành cho chơi tự do; mùa giải có bảng xếp hạng riêng.

Chia sẻ kết quả ​

Sau khi hoàn thành, bấm Chia sẻ kết quả → nhập tên hiển thị (tuỳ chọn, 2–30 ký tự, không chứa link hay số điện thoại) → hệ thống tạo thẻ kết quả có ảnh và link công khai. Có nút Facebook, Zalo và sao chép link; thẻ kết quả kèm lưới emoji đường đi của bạn (🟩 đã đi, 🌰 đã nhặt, 🏁 đích). Chưa đăng nhập thì cần qua bước kiểm tra "không phải robot".

Chia sẻ thành tích cả trò chơi ​

Thẻ kết quả ở trên là của một level. Muốn khoe cả trò chơi, mở trang Tổng kết → Chia sẻ thành tích:

  1. Nhập tên hiển thị (tuỳ chọn — cùng luật với thẻ kết quả; để trống thì thẻ ghi "Một người chơi"). Chưa đăng nhập thì qua bước kiểm tra "không phải robot".
  2. Bấm Tạo thẻ thành tích → nhận link dạng /g/<trò>/a/<mã> kèm nút Facebook, Zalo, Sao chép liên kết.

Thẻ có ảnh (hiện khi dán link lên Facebook/Zalo) ghi: Hoàn thành cả N level hoặc Đã qua X/N level, tổng điểm, tổng số sao và sao của từng level; trang thẻ có nút Thử thách ngay để người xem chơi từ level đầu.

  • Nút chỉ hiện khi bạn đã qua ít nhất một level và trò chơi cho phép chia sẻ.
  • Chia sẻ lại (sau khi chơi thêm) cập nhật cùng một link — người đã nhận link cũ thấy thành tích mới.
  • Thẻ thành tích chỉ có ở chơi tự do; mùa giải khoe thứ hạng bằng bảng xếp hạng.

Chơi trên máy dùng chung

Nếu bạn chưa đăng nhập, hệ thống nhớ bạn bằng cookie trên trình duyệt. Ở máy phòng lab, người ngồi sau có thể tiếp tục lượt của bạn — hãy bấm link "bắt đầu phiên mới" ở dòng "Không phải bạn? Kết quả trên máy này sẽ giữ cho người trước" cuối trang chơi trước khi rời máy (áp dụng cho mọi trò chơi trên máy đó).

Mùa giải ​

Mùa giải có trang riêng (/g/<trò>/s/<mùa>) với thể lệ, giải thưởng, đếm ngược và bảng xếp hạng.

  • Level mở khoá tuần tự: phải hoàn thành level trước mới mở level sau.
  • Ban tổ chức có thể giới hạn số lượt mỗi level (Chỉ lượt đầu / Tốt nhất trong N lượt / Không giới hạn) — trang chơi báo rõ.
  • Điểm mùa = tổng lượt tốt nhất của mọi level. Hai người bằng điểm thì ai đạt trước đứng trên (mốc tính lúc bạn đạt tổng điểm đó lần đầu).
  • Bảng có thể công khai suốt mùa hoặc ẩn tới khi kết thúc — khi ẩn, bạn chỉ thấy điểm của mình.

Có tên trên bảng: "Nhận kết quả" ​

Khách chưa đăng nhập chỉ thấy điểm và khoảng hạng của mình. Để có tên trên bảng và được xét giải, bấm Giữ chỗ trên bảng xếp hạng ở dải mùa giải trên trang chơi → hộp Nhận kết quả mở ra: nhập tên hiển thị + số điện thoại hoặc email, tick ô đồng ý để ban tổ chức liên hệ trao giải (ô "tư vấn khoá học" là tuỳ chọn). Mỗi liên hệ một suất trong một mùa. Sau khi nhận, lượt của bạn khoá vào liên hệ đó — tiếp tục chơi vẫn cộng điểm cho suất đó.

Nếu bạn đăng nhập, không cần nhận kết quả: hệ thống tự tạo suất theo tài khoản ở lượt nộp đầu.

Khi mùa kết thúc, bảng được chốt (không đổi nữa); người có tài khoản nhận thông báo hạng cuối ở chuông thông báo. Việc trao giải, xác minh số điện thoại và xử lý khiếu nại theo thể lệ của ban tổ chức.

Đố hôm nay ​

Với trò có bật Đố hằng ngày, trang Trò chơi có thêm thẻ Đố hôm nay (/learnspace/games/<trò>/daily), chỉ dành cho học viên đã đăng nhập.

  • Mỗi ngày một đề, giống nhau cho cả trường, đổi lúc 0h. Đề không có ở chế độ chơi tự do — không tra trước được.
  • Bạn được thử bao nhiêu lần tuỳ ý cho tới khi hoàn thành; hoàn thành xong là khoá ngày (điểm của ngày = điểm lượt hoàn thành đó). Mai có đề mới.
  • Chuỗi ngày (🔥 streak): giải liên tiếp mỗi ngày thì chuỗi tăng; bỏ một ngày là về 0 (kỷ lục vẫn giữ). Mốc 7 và 30 ngày có thể mở huy hiệu nếu tổ chức cấu hình.
  • Bảng hôm nay: tab Bạn cùng khoá (những người học chung ít nhất một khoá với bạn) và Toàn trường; xếp theo điểm, bằng điểm thì ai giải trước đứng trên. Bạn tắt Hiển thị tôi trên bảng xếp hạng trong Cài đặt tài khoản (/learnspace/account) thì cũng ẩn ở đây, nhưng vẫn thấy hạng của mình.
  • Bị vượt: khi một bạn cùng khoá đạt điểm cao hơn bạn trong ngày, bạn nhận một thông báo (tối đa một lần mỗi ngày).
  • Thách đấu: sau khi giải xong, bạn có thể gửi lời thách kèm điểm của mình cho bạn cùng khoá chưa giải hôm nay (mỗi người một lời/ngày; có giới hạn số lời gửi và nhận mỗi ngày).
  • Giải đố hôm nay cộng XP (mặc định 10, +5 nếu lần đầu qua level đó) — xem Thành tích & Bảng xếp hạng.
Trang mở từ tối hôm trước?

Nếu bạn mở trang trước 0h và nộp sau 0h, hệ thống báo "Đề này đã hết hạn" — tải lại để nhận đề mới. Lượt chưa nộp không được tính.

Chơi thử rồi mới đăng nhập? ​

Nếu bạn đã chơi tự do (hoặc chơi mùa giải nhưng chưa nhận kết quả) với tư cách khách trên trình duyệt này, ngay sau khi đăng nhập hệ thống hỏi: "Bạn vừa chơi thử với tư cách khách trên máy này — nhận kết quả đó vào tài khoản?" Bấm Nhận vào tài khoản để chuyển các lượt đó sang tài khoản (với mùa giải, suất được tạo ngay theo email tài khoản, giữ nguyên mốc "ai đạt trước"). Bấm Không phải tôi nếu đó là lượt của người khác trên máy dùng chung.

Hệ thống chỉ chuyển những trò mà tài khoản bạn chưa có lượt chơi; lượt đã gắn với liên hệ (đã "nhận kết quả") không bao giờ bị chuyển.

Câu hỏi thường gặp ​

Tôi hoàn thành mà điểm thấp? — Bạn dùng nhiều khối hơn số khối chuẩn. Thử thay chuỗi tiến lên lặp lại bằng khối lặp.

Khối tôi kéo vào không chạy? — Mỗi level chỉ cho phép một số khối nhất định (hộp công cụ). Khối ngoài danh sách bị từ chối, không bỏ qua. Gõ mã cũng vậy: hàm/từ khoá không được cấp báo lỗi ở đúng dòng.

Gõ mã có được dùng biến, else if, hàm tự viết không? — Chưa. Mã chỉ có đúng những gì bộ khối có; đó là để hai chế độ công bằng với nhau về điểm.

"Bạn đã giải đố hôm nay rồi" — Mỗi ngày chỉ tính một lần hoàn thành. Quay lại vào ngày mai.

Không thấy thẻ Đố hôm nay — Trò chơi đó chưa bật đố hằng ngày, hoặc bạn chưa đăng nhập.

LMS Documentation