CÔNG NGHỆ THÔNG TIN >> SINH VIÊN BKAP

Bài tập lớn môn lập trình di động đa nền tảng với Flutter-Viết ứng dụng Memory Game

Đăng lúc: 03:38 PM - 01/08/2024 bởi Charles Chung - 433

Bài viết này đưa yêu cầu và mô tả bài tập lớn môn lập trình di động đa nền tảng với Flutter: Viết ứng dụng "Tìm khuôn mặt cặp song sinh" thể loại Memory Game.

Mô tả ứng dụng game "Tìm khuôn mặt cặp song sinh"

- TwinsGame: là một game mini thuộc thể loại Memory Game, giúp chúng ta rèn luyện trí nhớ (ảnh trong game chỉ mang tính chất minh họa).

- Mô tả yêu cầu game:

  • Ứng dụng chia làm nhiều level, mỗi level ứng là một ma trận nxm, trong đó n là số hàng, m là số cột, mỗi vị trí trong ma trận là một hình ảnh khuôn mặt.
  • Các cặp song sinh sẽ được sinh ngẫu nhiên (nxm)/2 cặp trong 20 cặp ảnh có sẵn kích thước 256x256 (tải tại đây) và không trùng cặp.
  • Vị trí của các ảnh trong tập kết quả sinh ra phải được xáo trộn ngẫu nhiên.
  • Ứng dụng khởi động lên sẽ mặc định hiển thị kích thước 2x2 và số điểm là 0/Tổng điểm (Tổng điểm bằng số cặp nhân với 100).
  • Khi một level được chọn thì hình ảnh các cặp song sinh được hiển thị theo đúng kích thước và nút "Chơi" sẽ enable, nút "Kết quả" disable.
  • Khi nút "Chơi" được chọn thì tất cả các ảnh sẽ hiển thị là hình ? và nút "Chơi" sẽ disable, nút "Kết quả" enable.
  • Chỉ khi nút "Chơi" được kích người chơi mới kích vào ảnh được.
  • Người chơi sẽ đi tìm từng cặp ảnh dựa vào trí nhớ của mình theo quy tắc sau:
    • Kích vào hình ? bất kỳ thứ nhất sẽ hiển thị khuôn mặt tại vị trí đó, tiếp theo người chơi sẽ tìm hình ? thứ 2 và kích vào.
    • Nếu 2 hình vừa chọn khớp nhau thì 2 hình đó sẽ thay thế bằng hình dấu tích xanh và số điểm tăng lên 100.
    • Nếu 2 hình vừa chọn không khớp nhau thì 2 hình đó sẽ thay thế bằng hình dấu gạch chéo màu đỏ.
  • Người chơi có thể kích vào nút "Kết quả" bất cứ khi nào muốn và nút "Kết quả" disable đồng thời hiển thị thông báo kết quả.
  • Trong khi chơi, người chơi cũng có thể kích vào Level khác bất cứ khi nào muốn đổi level, các dữ liệu sẽ được khởi tạo đúng level đó.

Phân tích gợi ý

  • Các hình ảnh sẽ lưu trữ theo cặp có dạng như sau: 1-1.jpg, 1-2.jpg, 2-1.jpg, 2-2.jpg, 3-1.jpg, 3-2.jpg......20-1.jpg, 20-2.jpg.
  • Ảnh sinh ra sẽ lưu trữ vào mảng 1 chiều cho dễ xử lý ví dụ level 2x3 sẽ có 3 cặp ngẫu nhiêu không trùng nhau là:  ["4_1","8_1","15_1","4_2","15_2","8_2"].
  • Sử dụng mảng 1 chiều khác có cùng kích thước theo level chọn và lưu trữ toàn bộ các vị trí là hình ? (phục vụ khi load level lên).
  • Sử dụng GridView để hiển thị bộ hình ảnh theo level.
  • Nút "Chơi" được chọn thì hiển thị bộ hình ảnh ?.
  • Khi ảnh ? được kích thì thay thế bằng ảnh thực tế ban đầu theo vị trí tương ứng
  • Xử lý kiểm tra ảnh khớp hoặc không khớp để thay thế bằng ảnh tích xanh hoặc gạch chéo đỏ.
  • Xử lý nút "Kết quả"..

Xem video sau để hiểu yêu cầu GAME

 

Link tải file .APK để cài trên máy Android chơi thử tại đây

 

thay lời cảm ơn!

QUẢNG CÁO - TIẾP THỊ