TẠO GAME THÁP HÀ NỘI VỚI GOOGLE AI STUDIO

TẠO GAME THÁP HÀ NỘI VỚI GOOGLE AI STUDIO

Bài toán Tháp Hà Nội là 1 trong những bài toán kinh điển dành cho những bạn mới bắt đầu học lập trình. Cách đây 20 năm, trong các buổi sinh hoạt Đoàn – Hội, các buổi kỷ niệm thành lập Khoa Toán – Tin, lứa Sv chúng mình hay tạo mô hình tháp bằng mút xốp để cho các đội cùng chơi tiếp sức, mỗi lần là 1 bạn chạy lên di chuyển 1 đĩa từ cọc này sang cọc kia., di chuyển xong thì chạy về cho bạn khác chạy lên tiếp Đội nào giải bài toán trong thời gian nhanh nhất sẽ nhận các phần quà có giá trị từ BTC.

Thú vị là bài toán mang tên tháp Hà nội nhưng nguồn gốc thật sự của trò chơi đến nay vãn chưa được sáng tỏ. Trò chơi Tháp Hà Nội có thể đã xuất hiện ở Đông Á từ thế kỷ 19 hoặc trước đó. Các đĩa được làm bằng sứ ở Trung Quốc, Nhật Bản và Việt Nam. Trò chơi này được đưa sang phương Tây lần đầu bởi nhà toán học người Pháp Edouard Lucas vào năm 1883. Trò chơi này nhanh chóng được các nhà toán học nghiên cứu sau đó, và trở thành ví dụ về phương pháp giải đệ quy kinh điển trong dạy học và tin học. Số lượng nước đi tối thiểu để giải Tháp Hà Nội là 2^n -1 nước đi, với n là số đĩa.

Trò chơi này có Luật chơi như sau:
– Dạng thường gặp nhất của trò chơi này gồm một bộ các đĩa kích thước khác nhau, có lỗ ở giữa, nằm xuyên trên ba cái cọc. Bài toán đố bắt đầu bằng cách sắp xếp các đĩa theo trật tự kích thước vào một cọc sao cho đĩa nhỏ nhất nằm trên cùng, tức là tạo ra một dạng hình nón. Yêu cầu của trò chơi là di chuyển toàn bộ số đĩa sang một cọc khác, tuân theo các quy tắc sau:
– Chỉ có 3 cột để di chuyển.
– Một lần chỉ được di chuyển một đĩa (không được di chuyển đĩa nằm giữa).
– Một đĩa chỉ có thể được đặt lên một đĩa lớn hơn (không nhất thiết hai đĩa này phải có kích thước liền kề, tức là đĩa nhỏ nhất có thể nằm trên đĩa lớn nhất)

Game Tháp Hà nội đã có nhiều người tạo nhưng mình cố gắng tạo ra phiên bản mới khi ứng dụng ngay công nghệ AI cho cho trò chơi khi người chơi cần sự gợi ý bước đi kê tiếp hoặc nếu người chơi không giải được thì xem AI hướng dẫn giải từng bước đi và mình làm theo để học hỏi thêm:. Dưới đây là prompt mình đã tạo với Google Ai Studio:

Bạn là nhà giáo dục và là nhà lập trình viên xuất sắc: bạn hãy thiết kế giúp mình game Tháp Hà Nội – Hanoi Tower rất nổi tiếng trước đây.

Ý tưởng: bạn có n chiếc đĩa xếp chồng lên nhau từ nhỏ đến lớn, đĩa nhỏ ở trên, đĩa lớn ở dưới được để ở cột 1, bạn hãy di chuyển tất cả các dĩa ở cột 1 qua cột đích 3, có sử dụng cột trung gian 2 để thu nhận dĩa. Mỗi lượt chơi chỉ di chuyển 1 đĩa từ cột này sang cột khác sao cho vẫn đảm bảo nguyên tắc dĩa lớn hơn xếp ở dưới, đĩa nhỏ hơn xếp ở trên ở mỗi cột. Trò chơi sẽ kết thúc nếu tất cả các đĩa ở cột 1 được chuyển hết qua cột 3 theo đúng thứ tự đĩa lớn ở dưới dĩa nhỏ ở trên.

Trò chơi được mở rộng thành: có ngẫu nhiên: m dĩa ở cột trung gian xếp đĩa nhỏ hơn xếp ở trên và đĩa lớn hơn ở dưới và n – m đĩa ở cột 1 cũng xếp đĩa nhỏ hơn ở trên, đĩa lớn hơn xếp ở dưới, với các đĩa có bán kính lớn nhỏ khác nhau. Nhiệm vụ của người chơi là phải di chuyển đủ n đĩa đến cộtt đích (cột 3) sao cho mỗi lần chỉ di chuyển 1 đĩa và cũng theo quy tắc đĩa nhoỏ xếp ở trên và đĩa lớn xếp ở dưới.

Khi vào trang chương trình, phần Header sẽ có tên trò chơi Tháp hà Nội – Hanoi Tower ở bên trái, bên phải có 3 nút Home (nền xanh dương, chữ trắng) – nhấn vào nút này sẽ mở trang web ở thẻ mới và truy cập dường link: https://nhannvt.id.vn; nút hướng dẫn sử dụng – chứa nội dung hướng dẫn trò chơi (do bạn viết nội dung sau khi hoàn thành việc viết code chương trình); nút Ủng hộ tác giả, nền cam, chũ trắng – khi nhấn vào sẽ mở thẻ mới của trình duyệt và truy cập vào trang có đương dẫn: https://nhannvt.id.vn/index.php/2025/08/17/moi-ca-phe/ . Ở phần footer có dòng label text: 08/2025 – Thiết kế bởi: Thụ Nhân (với sự hõ trợ từ Google Ai studio) – Liên hệ tác giả: nhannvt@hcmue.edu.vn

Phần trò chơi của chương trình nằm ở phần body của trang web, có 2 cột, cột bên trái chiếm 2/3 chiều rộng màn hình (máy tính, điện thoại, máy tính bảng) vẽ 3 cọc: cọc nguồn (cột 1), cọc trung gian (cột 2), cọc đích (cột 3), Với chế độ mặc định (dễ) là 4 dĩa đặt ở cột 1, trung bình (6 đĩa lớn nhỏ khác nhau, xếp ngẫu nhiên m đĩa ở cột 1 và 6-m đĩa ở cột 2); khó :(8 dĩa lớn nhỏ khác nhau, xếp ngẫu nhiên m đĩa ở cột 1 và 8 – m đĩa ở cột 1), rất khó (10 dĩa lớn nhỏ khác nhau, n đĩa ngẫu nhiên xếp ở cột 1 và 10 -n đĩa còn lại xếp ở cột 2); siêu khó khó (12 dĩa lớn nhỏ khác nhau, n đĩa ngẫu nhiên xếp ở cột 1 và 12 -n đĩa còn lại xếp ở cột 2); chế độ tùy chỉnh: thiết lập tổng số đĩa: n (từ 3 đến 16 đĩa), chọn số đĩa xếp ở cột 2: k (k đĩa này đánh số ngẫu nhiên lấy từ n đĩa) và có n – k đĩa còn lại xếp ở cột 1.

Có phần nhập tên người chơi, nút gợi ý bước đi, nhấn vào nút này AI sẽ gợi ý bước di chuyển đĩa kế tiếp theo logic của trò chơi, có thiết lập thời gian đếm tới.; có nút AI giải – khi nhấn vào nút sẽ đổi thành AI đang suy nghĩ; bắt buộc AI giải đúng nguyên tắc của luật chơi (vô cùng quan trọng), đó là: không được xếp đĩa lớn nằm phía trên đĩa nhỏ, lúc nào đĩa lớn hơn cũng phải nằm phía dưới đĩa nhỏ hơn. Rồi AI sẽ hiện danh sách các bước đi, hướng dãn cụ thể bằng cách phát sáng tên đĩa và cọc chuyển đến để người chơi dễ dàng quan sát.

Có tổng điểm: đĩa lớn nhất n xếp vào cột 3 thành sẽ có 1000*n điểm, tương tự như vậy đĩa lớn nhất thứ k xếp vào cột 3 sẽ có 1000*k điểm; đĩa nhỏ nhất 1 xếp vào cột 3 sẽ có 1000 điểm. Ngoài ra, còn có điểm thưởng của chương trình dựa vào thời gian giải bài toán nhanh hay chậm; có điểm thưởng khi số bước đi là ít nhất. Trò chơi kết thúc khi tất cả các đĩa được xếp qua cột 3 theo đúng thứ tự đĩa nhỏ ở trên và đĩa lớn nằm ở dưới hoặc khi người chơi nhấn nút ngừng chơi. Nếu người chơi di chuyển hết n đĩa qua cột 3 theo đúng quy tắc thì sẽ có thông báo chúc mừng, hiệu ứng pháo hoa và nhạc nền chúc mừng. Trong quá trình chơi sẽ có nhạc nền không lời nhẹ nhàng vang lên, khi di chuyển 1 đĩa từ cột này qua cột khác mà không đúng ngauyên tắc đĩa lớn ở dưới, đĩa nhỏ ở trên thì có âm thanh thông báo và hiệu ứng màn hình rung.

Bạn thiết kế trò chơi với 2 giao diện (giao diện sáng: màu trắng, giao diện tối: màu xanh bắt mắt), cuốn hút, và thiết kế các đĩa có độ dày như nhau, đẻ di chuyển đĩa từ cột này sang cột kia, (ví dụ từ cột 1 sang cột 3) người chơi nhấn vào cột 1 (hoặc các dĩa ở cột 1), xong nhấn vào cột 3, (hoặc các dĩa ở cột 3) hiệu ứng di chuyển dĩa được tạo. Bạn giúp mình thiết kế game này nhé, sao cho bắt mắt và thu hút, lôi cuốn nhé

Cách chơi, bạn rê chuột vào cọc nào, cọc đó phát sáng thì nhấn chuột xong di chuyển qua cọc muốn chuyển đến (cọc phát sáng) rồi nhấn chuột.

Bạn có thể trải nghiệm trò chơi tại địa chỉ: https://nhannvt.id.vn/thaphanoi

Rất mong nhận được góp ý của bạn.

Trân trọng,

Share and Enjoy !

Shares

Thụ Nhân

Để lại một bình luận

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Shares