ĐẠI HỌC KHOA HỌC TỰ NHIÊN                KHOA CÔNG NGHỆ THÔNG TIN       CQ – HK1 – 2k9 – 2k10Đồ án môn Phân tích và thiết ...
Game Doraemon Puzzle                                                Phiên bản: 2.2Hồ sơ phân tích                         ...
Game Doraemon Puzzle                             Phiên bản: 2.2Hồ sơ phân tích                                  Ngày: 14/0...
Game Doraemon Puzzle                                                                                       Phiên bản: 2.2 ...
Game Doraemon Puzzle                                            Phiên bản: 2.2Hồ sơ phân tích                             ...
Game Doraemon Puzzle                                                 Phiên bản: 2.2Hồ sơ phân tích                        ...
Game Doraemon Puzzle                                                Phiên bản: 2.2Hồ sơ phân tích                         ...
Game Doraemon Puzzle                                            Phiên bản: 2.2Hồ sơ phân tích                             ...
Game Doraemon Puzzle                                               Phiên bản: 2.2Hồ sơ phân tích                          ...
Game Doraemon Puzzle                                                Phiên bản: 2.2Hồ sơ phân tích                         ...
Game Doraemon Puzzle                                                  Phiên bản: 2.2Hồ sơ phân tích                       ...
Game Doraemon Puzzle                                                 Phiên bản: 2.2Hồ sơ phân tích                        ...
Game Doraemon Puzzle                                                  Phiên bản: 2.2Hồ sơ phân tích                       ...
Game Doraemon Puzzle                                                   Phiên bản: 2.2Hồ sơ phân tích                      ...
Game Doraemon Puzzle                                                  Phiên bản: 2.2Hồ sơ phân tích                       ...
Game Doraemon Puzzle                                                  Phiên bản: 2.2Hồ sơ phân tích                       ...
Game Doraemon Puzzle                                           Phiên bản: 2.2Hồ sơ phân tích                              ...
Pttkpm 4 phan tich done
Upcoming SlideShare
Loading in...5
×

Pttkpm 4 phan tich done

568

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
568
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pttkpm 4 phan tich done

  1. 1. ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN CQ – HK1 – 2k9 – 2k10Đồ án môn Phân tích và thiết kế phần mềm Lớp TH2006 + CNTN06 Hồ sơ Phân tích Game Doraemon Puzzle Version 2.1 Sinh viên thực hiện: 0612292 – Trần Hồ Lê Nguyên 0612358 – Thái Ngân Phụng
  2. 2. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010 Bảng ghi nhận thay đổi tài liệu Ngày Phiên bản Mô tả Tác giả 13/01/2010 1.0 Thiết kế lần 1 Trần Hồ Lê Nguyên 13/01/2010 2.0 Thiết kế lần 2, liên kết và kế thừa Trần Hồ Lê Nguyên 14/01/2010 2.1 Thiết kế lần 3 tách lớp Trần Hồ Lê Nguyên 14/01/2010 2.2 Sửa chữa tách lớp, sửa thuộc tính Thái Ngân PhụngFIT-HCMUS Trang 1
  3. 3. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010 Mục lục1. Sơ đồ lớp (mức phân tích) 3 1.1 Sơ đồ lớp (mức phân tích) 3 1.2 Danh sách các lớp đối tượng và quan hệ 4 1.3 Mô tả chi tiết từng lớp đối tượng 5 1.3.1 Lớp Screen 5 1.3.2 Lớp ScreenAbout 5 1.3.3 Lớp ScreenMain 6 1.3.4 DrawScreen Lớp ScreenOption 6 1.3.5 Lớp ScreenGame 8 1.3.6 Lớp UC 9 1.3.7 Lớp UCCounter 10 1.3.8 Lớp UCTimer 10 1.3.9 Lớp UCSprite 11 1.3.10 Lớp Message 12 1.3.11 Lớp MessageLoadGame 12 1.3.12 Lớp MessagePuzzle 12 1.3.13 Lớp MessageSave 13 1.3.14 Lớp MessageWarning 13 1.3.15 Lớp CWin 14 1.3.16 Lớp CGameFrame 14 1.3.17 Lớp CPictureCell 15FIT-HCMUS Trang 2
  4. 4. Game Doraemon Puzzle Phiên bản: 2.2 Hồ sơ phân tích Ngày: 14/01/2010 1.Sơ đồ lớp (mức phân tích) 1.1Sơ đồ lớp (mức phân tích) Message MessageLoadGame +DrawThongBao() <<override>>+DrawThongBao() ScreenOption +CheckMousePositionOK() -chkSound -dimension <<override>>+DrawScreen() MessagePuzzle +ChooseLocaiton() MessageWarning +CheckMousePositionDimension3() MessageSave <<override>>+DrawThongBao() +CheckMousePositionDimension4() +CheckMousePositionOK() <<override>>+DrawThongBao() +CheckMousePositionDimension5() +CheckMousePositionOK() +CheckMousePositionDimension6()<<override>>+DrawThongBao()+CheckMousePositionYes() +CheckMousePositionDimension7() 0..* +CheckMousePositionSound()+CheckMousePostionNo() 0..* +SetDimension() 1..* +TurnSound() CWin 1+index 1+myTimer Screen ScreenGame 1+DrawWin() -menu ScreenAbout <<virtual>>+DrawScreen() -myUCTimer: UCTimer 0..1 -myUCCounter: UCCounter <<override>>+DrawScreen() -tbLoiKhuyen: MessageWarning +CheckMousePositionOK() 1 -tbSave: MessageSave -tbPuzzle: MessagePuzzle -win: CWin ScreenMain -khungGame: GameFrame -menu <<override>>+DrawScreen() +uc1: UCSprite GameFrame +CheckMousePositionGame() <<override>>+DrawScreen() +OpenImage() +SplitBitMaps() -imageFile +Puzzle() -imagePath +Reset() 1 1 -cellSize +GetCurCell() -cellCount +SaveGame() 1 1 -flagInit 1 +LoadGame() -flagPuzzle -picCell UCSprite -emptyCellIndex 1 UCCounter -x -emptyImage -y -count 1 -arr_pic -h +LoadPicture() +DividePicture() -w +RandomPicture() +SetImage() -bm +ResizeImage() +IncreaseCounter() +ResetCounter() +NextFrame() +CloneImage() <<override>>+ShowUC() +PushImage() <<override>>+ShowUC() 1 +IsMoveValid() +NearEmptyCell() 1 +CheckFinish() * 1 CPictureCell UCTimer -image * -arr_pic -tag -myTimer -name -cur_min -location -cur_sec UC * -status -size 1 +SetImage() <<virtual>>+ShowUC() +Start() +Stop() +Pause() +Resume() <<override>>+ShowUC() FIT-HCMUS Trang 3
  5. 5. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/20101.2Danh sách các lớp đối tượng và quan hệSTT Tên lớp/quan hệ Loại Ý nghĩa/Ghi chú1 Screen Abstract Lớp cha của các lớp màn hình trong game2 ScreenAbout Public Lớp màn hình about thể hiện thông tin tác giả của game3 ScreenGame Public Lớp màn hình game, là nơi xử lý chính khi chơi game4 ScreenMain Public Lớp màn hình Main, là lớp thể hiện màn hình chính khi bật game lên. Từ màn hình đó chứa các nút dẫn tới các màn hình, chức năng chính khác.5 ScreenOption Public Lớp màn hình Option, là lớp xử lý liên quan đến việc lưu tùy chọn bật / tắt âm thanh, chọn mức độ khó của game6 UC Abstract Lớp cha của lớp usercontrol (được giả lập chứ không phải là control của VS) UCCounter Public Lớp xử lý chính của thao tác đếm số lần di chuyển ô trong game8 UCSprite Public Lớp xử lý hình động Doraemon (hình trang chí) ở màn hình Main.9 UCTimer Public Lớp xử lý chính của thao tác tính thời gian chơi của game10 Message Abstract Lớp cha của các lớp thông báo trong game11 MessageLoadGame Public Vẽ thông báo báo chưa save game lần nào nếu người dùng nhấn vào nút continue mà chưa từng save game trước đó.12 MessagePuzzle Public Vẽ thông báo báo bắt buộc phải xáo game trước khi chơi.13 MessageSave Public Vẽ thông báo hỏi có save game không khi ấn nút exit thoát khỏi game khi đang chơi giữa chừng.14 MessageWarning Public Vẽ thông báo báo người dùng nên dừng chơi vì chơi đã lâu rồi. (không phải xét thắng thua)15 CWin Public Hiện thông báo chiến thắng nhấp nháy chúcFIT-HCMUS Trang 4
  6. 6. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010 mừng chiến thắng khi giải được puzzle16 CGameFrame Public Xử lý các thao tác liên quan tới khung game trong màn hình game.17 CPictureCell Public Dùng trong lớp UCCounter, UCTimer và CGameFrame để khai báo các ô ảnh (gồm tên, tọa độ, kích thước,…) tương tự như Picturebox1.3Mô tả chi tiết từng lớp đối tượng1.3.1Lớp ScreenMô tả: • Là lớp cha của các lớp màn hình trong game (có 4 màn hình chính là option, main, game, about). Lớp này không có thuộc tính nào cả.Danh sách các phương thứ chính:STT Tên phương thức Loại Ý nghĩa/ghi chú DrawScreen <<virtual>> là phương thức ảo, các lớp đối tượng con gồm 4 Public màn hình sẽ override lại phương thứ này.1.3.2Lớp ScreenAboutMô tả: • Là lớp chưa phương thức vẽ ra màn hình About thể hiện thông tin tác giả chương trình game. • Lớp này không có thuộc tính.Danh sách các phương thức chính:STT Tên phương thức Loại Ý nghĩa/ghi chú DrawScreen <<override>>Public override lại từ phương thức cùng tên của lớp cha. Nhiệm vụ là vẽ ra màn hình About. CheckMousePositionOK Public kiểm tra tọa độ chuột có nằm trong nút OK hay không (để xử lý các sự kiện như mouse up)FIT-HCMUS Trang 5
  7. 7. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/20101.3.3Lớp ScreenMainMô tả: • Lớp chứa phương thức vẽ màn hình chính trong game, là nơi chứa các liên kết tới các màn hình, chức năng chính khác trong game. • Lớp còn chứa phương thức cắt ảnh để dùng cho usercontrol Doraemon (giả lập)Danh sách các thuộc tính chính:STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú1 Menu Private Là các button ngoài màn hình chính. Dùng thuộc tính. này để truy xuất tới hàm vẽ các button đó.2 uc1 Private Là thuộc tính kiểu UCSprite, thể hiện, gọi các phương thức xử lý cho hình ảnh chuyển động Doraemon ở ngoài màn hình chính.Danh sách các phương thức chính:STT Tên phương Loại Ý nghĩa/ghi chú thức1 DrawScreen <<override>>Public là phương thức override từ lớp cha Screen nhiệm vụ là xử lý vẽ màn hình chính.2 SplitBitmap Public dùng xử lý cắt ảnh doraemon dài (gồm nhiều hình ảnh doraemon khác nhau liên tiếp) thành từng phần nhỏ để thể hiện các trạng thái, hỉnh ảnh khác nhau của doraemon. a. DrawScreen: là phương thức override từ lớp cha Screen nhiệm vụ là xử lý vẽ màn hình chính. b. SplitBitmap: dùng xử lý cắt ảnh doraemon dài (gồm nhiều hình ảnh doraemon khác nhau liên tiếp) thành từng phần nhỏ để thể hiện các trạng thái, hỉnh ảnh khác nhau của doraemon.1.3.4DrawScreen Lớp ScreenOptionMô tả: • Là lớp xử lý các tùy chọn về mức độ khó của game (số ô trong khung game) và xử lý bật tắt âm thanh.Danh sách các thuộc tính chính:FIT-HCMUS Trang 6
  8. 8. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú1 chkSound Private Giá trị dùng để lưu tùy chọn bật hay tắt nhạc nền.2 dimension Private Lưu giữ giá trị mức độ khó của game để truyền cho KhungGame xử lý.Danh sách các phương thức chính:STT Tên phương thức Loại Ý nghĩa/ghi chú1 DrawScreen <<override>>Public là phương thức override từ lớp cha Screen nhiệm vụ là xử lý vẽ màn hình option.2 ChooseLocation: Public là phương thức trả về tọa độ cần vẽ của biểu tượng đánh dấu đang chọn độ khó nào. (3x3, hay 4x4)3 CheckMousePositionDimension3 Public kiểm tra xem vị trí chuột có nằm trong vùng chứa biểu tượng đánh dấu + text thế hiển mức độ khó 3x3 hay không. Ví dụ khi nhấn vào chữ 3x3 thì biểu tượng đánh dấu sẽ được vẽ lên và xác định chọn mức độ khó 3x3 chứ không nhất thiết muốn chọn thì lúc nào cũng nhấn chuột đúng vào cái ô biểu tượng nhỏ xí.4 CheckMousePositionDimension4 Public kiểm tra xem vị trí chuột có nằm trong vùng chứa biểu tượng đánh dấu + text thế hiển mức độ khó 4x4 hay không5 CheckMousePositionDimension5 Public kiểm tra xem vị trí chuột có nằm trong vùng chứa biểu tượng đánh dấu + text thế hiển mức độ khó 5x5 hay không6 CheckMousePositionDimension6 Public kiểm tra xem vị trí chuột có nằm trong vùng chứa biểu tượng đánh dấu + text thế hiển mức độ khó 6x6 hay không7 CheckMousePositionDimension7 Public kiểm tra xem vị trí chuột có nằm trong vùng chứa biểuFIT-HCMUS Trang 7
  9. 9. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010 tượng đánh dấu + text thế hiển mức độ khó 7x7 hay không8 CheckMousePositionSound Public kiểm tra xem vị trí chuột có nằm trong vùng chứa biểu tượng đánh dấu + text thế hiển cho việc bật tắt nhạc nền hay không9 SetDimension Public Dùng để lấy giá trị dimension khi người dùng chọn độ khó tương tứng với giá trị dimension đó. Sau đó mới biết giá trị nào mà vẽ cho đúng10 TurnSound Public hàm dùng để xử lý khi bật tắt âm thanh. Khi âm thanh đang mở thì nếu nhấn vào vùng Sound trên màn hình Option thì sẽ chuyển thành tắt và ngược lại1.3.5Lớp ScreenGameMô tả: • Là lớp xử lý chính của màn hình game, từ việc vẽ màn hình, chơi, reset, xáo, lưu, load game… • Lớp còn chứa các thuộc tính như myUCTimer, myUCCounter, khungGame… để quản lý cũng như gọi thực hiện những phương thức cần thiết cho các đối tượng tương ứng trên màn hình game.Danh sách các thuộc tính chính:STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú1 menu Private Dùng để gọi hàm vẽ các menu trên màn hình game (Puzzle, TryAgain, Open, Exit)2 myUCTimer Private Quản lý thời gian chơi trong một lượt game.3 myUCCounter Private Quản lý số lần di chuyển ô trong một lượt game.4 tbLoiKhuyen Private Dùng để vẽ thông báo lời khuyên cho người chơi nên dừng chơi vì họ đã chơi quá lâu (dựa trên 2 giá trị ucTimer và ucCounter, 2 giá trị nàyFIT-HCMUS Trang 8
  10. 10. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010 đạt tới hạn được quy định trong game thì sẽ xuất hiện thông báo này sau đó reset về 0)Danh sách các phương thức chính:STT Tên phương thức Loại Ý nghĩa/ghi chú1 DrawScreen <<override>>Public là phương thức override từ lớp cha Screen nhiệm vụ là xử lý vẽ màn hình game.2 CheckMousePositionGame Public dùng để kiểm tra vị trí chuột có nằm trong khung game hay không.3 OpenImage Public xử lý mở hình ảnh để chơi trong game.4 Puzzle xử lý việc xáo trộn ảnh một cách ngẫu nhiên cho mỗi lượt game5 Reset để reset game thành 1 game mới và người dùng sẽ chơi lại từ đầu. xử lý mở hình ảnh để chơi trong game.để di chuyển thì sẽ tính toán bằng hàm này dựa trên tọa độ)6 SaveGame lưu trạng thái của game bao gồm đường dẫn ảnh, mức độ chơi, số lần di chuyển, trạng thái các ô trên khung game… ra file xml.7 LoadGame load game bằng cách lấy các thông số từ file xml lưu game.1.3.6Lớp UCMô tả: • Là lớp cha của các lớp usercontrol (giả lập) trong game (UCSprite, UCCounter, UCTimer). Lớp này không có thuộc tính nào cả.Danh sách các phương thức chính:STT Tên phương Loại Ý nghĩa/ghi chú thức1 ShowUC <<virtual>>Public là phương thức ảo, các lớp đối tượng con gồm 4 màn hình sẽ override lại phương thứ này để vẽ ra màn hình chứa nó.FIT-HCMUS Trang 9
  11. 11. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/20101.3.7Lớp UCCounterMô tả: • Là lớp xử lý việc đếm số lần di chuyển trong mỗi lượt game. Tối đa là 9999 bước. Sau số bước này sẽ hiện thông báo lời khuyên như trên và reset về 0.Danh sách các thuộc tính chính:STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú1 count Private Giá trị dùng để lưu số lần di chuyển ô game.2 arr_pic Private Mảng chứa các ảnh của UCCounter. Cụ thể là có tối đa 4 ảnh. (9999 bước)Danh sách các phương thức chính:STT Tên phương Loại Ý nghĩa/ghi chú thức1 SetImage Public dùng để set ảnh cho UCCounter. (số ảnh tối đa 4 ảnh)2 IncreaseCounter Public xử lý tăng biến count mỗi lần di chuyển. Nếu vượt quá 9999 thì hiện màn hình thông báo lời khuyên3 ResetCounter Public dùng để reset Counter về 0.4 ShowUC <<override>Public là hàm override lại từ hàm cùng tên của lớp cha xử lý vẽ UCCounter này ra màn hình game1.3.8Lớp UCTimerMô tả: • Là lớp xử lý việc tính và thể hiện ra thời gian chơi trong mỗi lượt game. Tối đa là 99 phút bước. Sau số bước này sẽ hiện thông báo lời khuyên như trên và reset về 0.Danh sách các thuộc tính chính:STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú1 myTimer Private Sau mỗi giây thì giá trị giây và phút hiện tại của thời gian cũngFIT-HCMUS Trang 10
  12. 12. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010 được cập nhật tương ứng. Nếu vượt quá thời gian quy định sẽ hiện thông báo lời khuyên2 arr_pic Private Mảng chứa các ảnh của UTimer. Cụ thể là có tối đa 99 phút.3 Cur_min Private Cho biết phút hiện tại là bao nhiêu4 Cur_sec Private Cho biết giay hiện tại là bao nhiêu5 Status Private Cho biết trạng thái UCTimer hiện tại ra sao. (Start, Stop, Pause, Resume)Danh sách các phương thức chính:STT Tên phương Loại Ý nghĩa/ghi chú thức1 SetImage Public dùng để set ảnh cho UCTimer. (số ảnh tối đa 5 ảnh vì gồm 2 ảnh phút, 2 ảnh giây, 1 ảnh dấu : ngắt ở giữa)2 Start Public Bắt đầu chạy UCTimer3 Stop Public Ngừng hắn UCTimer4 Pause Public Tạm dừng UCTimer khi cần thiết. (Ví dụ khi mở ảnh)5 Resume Public Resume tiếp tục UCTimer bị tạm dừng.6 ShowUC <<override>Public là hàm override lại từ hàm cùng tên của lớp cha xử lý vẽ UCTImer này ra màn hình game1.3.9Lớp UCSpriteMô tả: • Là lớp xử lý cho Doraemon di chuyển động ở ngoài màn hình chính. Hình doraemon thực chất là một hình chứa liên tiếp hình doraemon với các trạng thái cảm xúc khác nhau, sẽ được tính toán để cắt, và thay đổi frame tiếp theo trong ảnh dài đó.Danh sách các thuộc tính chính:STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú1 x Private Tọa độ x của UCSprite2 y Private Tọa độ y của UCSprite3 h Private Chiều cao của UCSprite4 w Private Chiều rộng của UCSprite5 bm Private Mảng các frame ảnh trong ảnh dài của UCSprite. (được gán giá trị sauFIT-HCMUS Trang 11
  13. 13. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010 hàm SplitBitmap)Danh sách các phương thức chính:STT Tên phương Loại Ý nghĩa/ghi chú thức1 NextFrame Public Dùng để tăng chỉ số index của frame để thay đổi ảnh Doraemon. (đến frame cuối thì quay lại frame đầu tiên của ảnh)2 ShowUC <<override>Public là hàm override lại từ hàm cùng tên của lớp cha xử lý vẽ UCSprite này ra màn hình game1.3.10Lớp MessageMô tả: • Là lớp cha của các lớp thông báo trong game. Lớp này không có thuộc tính nào cả.Danh sách các phương thứ chính:STT Tên phương thức Loại Ý nghĩa/ghi chú1 DrawThongBao <<virtual>> là phương thức ảo, các lớp đối tượng con gồm 4 Public màn hình sẽ override lại phương thứ này.1.3.11Lớp MessageLoadGameMô tả: • Là lớp chứa phương thức vẽ ra màn hình thông báo người dùng chưa lưu game lần nào nên không load game được. • Lớp này không có thuộc tính.Danh sách các phương thức chính:STT Tên phương thức Loại Ý nghĩa/ghi chú1 DrawThongBao <<override>>Public override lại từ phương thức cùng tên của lớp cha. Nhiệm vụ là vẽ ra màn hình thông báo chưa lưu game lần nào.2 CheckMousePositionOK Public kiểm tra tọa độ chuột có nằm trong nút OK hay không (để xử lý các sự kiện như mouse up)1.3.12Lớp MessagePuzzleMô tả: • Là lớp chứa phương thức vẽ ra màn hình thông báo người dùng chưa ấn nút puzzle thì sẽFIT-HCMUS Trang 12
  14. 14. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010 không được phép di chuyển các ô trên khung game. • Lớp này không có thuộc tính.Danh sách các phương thức chính:STT Tên phương thức Loại Ý nghĩa/ghi chú1 DrawThongBao <<override>>Public override lại từ phương thức cùng tên của lớp cha. Nhiệm vụ là vẽ ra màn hình thông báo chưa ấn nút puzzle.2 CheckMousePositionOK Public kiểm tra tọa độ chuột có nằm trong nút OK hay không (để xử lý các sự kiện như mouse up)1.3.13Lớp MessageSaveMô tả: • Là lớp chứa phương thức vẽ ra màn hình thông báo người dùng có muốn lưu game khi thoát khỏi game không khi họ đang chơi giữa chừng. (chỉ hiện ra khi người dùng bắt đầu chơi game, nếu vào game mà không chơi cái thoát ra thì sẽ không hiện lên) • Lớp này không có thuộc tính.Danh sách các phương thức chính:STT Tên phương thức Loại Ý nghĩa/ghi chú1 DrawThongBao <<override>>Public override lại từ phương thức cùng tên của lớp cha. Nhiệm vụ là vẽ ra màn hình thông báo có muốn lưu game để lần sau chơi tiếp không.2 CheckMousePositionYes Public kiểm tra tọa độ chuột có nằm trong nútYes hay không (để xử lý các sự kiện như mouse up)3 CheckMousePositionNo Public kiểm tra tọa độ chuột có nằm trong nútNo hay không (để xử lý các sự kiện như mouse up)1.3.14Lớp MessageWarningMô tả: • Là lớp chưa phương thức vẽ ra màn hình thông báo người dùng nên dừng chơi game vì chơi quá nhiều (giới hạn counter 9999 lần di chuyển và timer 99 phút) Sau khi hiện ra thì nếu counter hay timer quá giới hạn sẽ bị reset về 0. • Lớp này không có thuộc tính.Danh sách các phương thức chính:FIT-HCMUS Trang 13
  15. 15. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010STT Tên phương thức Loại Ý nghĩa/ghi chú1 DrawThongBao <<override>>Public override lại từ phương thức cùng tên của lớp cha. Nhiệm vụ là vẽ ra màn hình thông báo lời khuyên dừng chơi game.2 CheckMousePositionOK Public kiểm tra tọa độ chuột có nằm trong nút OK hay không (để xử lý các sự kiện như mouse up)1.3.15Lớp CWinMô tả: • Lớp chứa thuộc tính, phương thức để vẽ thông báo chiến thắng trong game. Xử lý thay đổi ảnh nên sẽ tạo ra hiệu ứng động dòng thông báo chúc mừng chiến thắng.Danh sách các thuộc tính chính:STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú1 index Private Cho biết hình chúc mừng chiến thắng hiện tại đang hiện lên game là hình gì.2 myTimer Private Sau mỗi lần tick thì sẽ gọi phương thức vẽ thông báo chiến thắng.Danh sách các phương thức chính:STT Tên phương thức Loại Ý nghĩa/ghi chú3 DrawWin Public Dùng để vẽ thông báo chiến thắng ra game, mỗi lần gọi sẽ thay thế index để tạo hiệu ứng nhấp nháy, sống động cho thông báo chiến thắng.1.3.16Lớp CGameFrameMô tả: • Lớp xử lý một số chức năng và thao tác trên khung game chính như kiểm tra có xáo trước khi nhấn chưa bằng cách đặt cờ, resize ảnh để bỏ vào khung cho phù hợp… chi tiết xem bên dưới.Danh sách các thuộc tính chính:FIT-HCMUS Trang 14
  16. 16. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú1 imageFile Private Ảnh gốc2 imagePath Private Đường dẫn của ảnh gốc3 cellSize Private Kích thước của một ô ảnh4 cellCount Private Số lương ô ảnh theo chiều ngang và chiều dọc của khung game.5 flagInit Private Cờ báo hiệu người dùng có thay đổi kích thước gì không.6 flagPuzzle Private Cờ đã xáo trộn hay chưa7 picCell Private Mảng các ô ảnh8 emptyCellIndex Private Vị trí của khung hình trống9 emptyImage Private Ảnh của ô trốngDanh sách các phương thức chính:STT Tên phương thức Loại Ý nghĩa/ghi chú1 LoadPicture Public Nạp ảnh từ file, tính toán kích thước và phân chia ảnh2 DividePicture Public Dùng để cắt ảnh gốc ra thành các phần nhỏ, mỗi phần cho vào 1 ô ảnh (picCell), xếp vị trí của ô ảnh trên GameFrame (picCell có giá trị tag để lưu lại số thứ tự của ô ảnh)3 RandomPicture Public Hoán vị 2 ô ảnh với nhau trên GameFrame.4 ResizePicture Public Thay đổi kích thước ảnh5 CloneImage Public Hàm cắt ảnh, truyền vào kích thước khung chữ nhật cần cắt và trả về ảnh bitmap sau khi cắt.6 PushImage Public Hoán vị ô ảnh được nhấn với ô trống.7 IsMoveValid Public Kiểm tra xem hướng di chuyển của ô có được phép hay không. (Ví dụ: nếu hướng di chuyển là Down thì phải có ít nhất 1 khung ảnh ở trên ô trống tức là vị trí ô trống ko được nằm ở dòng đầu tiên)8 NearEmptyCell Public Kiểm tra 4 hướng có hướng nào di chuyển được không.9 CheckFinish Public Kiểm tra thắng1.3.17Lớp CPictureCellMô tả: • Lớp lớp chứa các thuộc tính thể hiện cấu trúc của một cell ảnh, tương tự như Picturebox.FIT-HCMUS Trang 15
  17. 17. Game Doraemon Puzzle Phiên bản: 2.2Hồ sơ phân tích Ngày: 14/01/2010 Sử dụng cho UCTimer, UCCounter, GameFrame. • Lớp này không có phương thức.Danh sách các thuộc tính chính:STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú1 image Private Lưu hình ảnh của cell game đó.2 tag Private Dùng để lưu vị trí ảnh hiện tại ở ô đó (số thứ tự của ô ảnh trong GameFrame). (chỉ dùng cho GameFrame)3 name Private Lưu vị trí thiệt của ô đó. (chỉ dùng cho GameFrame)4 location Private Lưu tọa độ của cell đó.5 size Private Lưu kích thước của cell đó. (chỉ dùng cho GameFrame)FIT-HCMUS Trang 16

×