Đăng ký Đăng nhập
Trang chủ Lập trình game cờ gánh bằng microsoft visual c...

Tài liệu Lập trình game cờ gánh bằng microsoft visual c

.PDF
31
421
112

Mô tả:

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TIN HỌC --- ĐỒ ÁN MÔN HỌC ĐỀ TÀI: LẬP TRÌNH GAME CỜ GÁNH BẰNG MICROSOFT VISUAL C# Sinh viên thực hiện: Tưởng Trường Thành Giảng viên hướng dẫn: Nguyễn Thanh Tuấn Đà Nẵng, 2011 Lập trình game cờ gánh bằng Microsoft visual C# 2008 2 Mục lục Mở đầu ..............................................................................................................3 Chương 1. Cơ sở lý thuyết ................................................................................4 1. Cơ sở lý luận của vấn đề nghiên cứu .....................................................................4 2. Nội dung và phương pháp nghiên cứu ...................................................................4 3. Kết quả đạt được ....................................................................................................4 Chương 2. Phát biểu vấn đề .............................................................................5 1. Phát biểu bài toán : ..........................................................................................5 1.1. Nhu cầu thực tế : ................................................................................................................................. 5 1.2. Các chứ c năng của trò chơi: ................................................................................................................ 5 1.3. Hiện trạng và nhược điểm : ................................................................................................................. 5 2. Đặc tả Usecase: .................................................................................................6 2.1. Sơ đồ Usecase: ................................................................................................................................... 6 2.2. Danh sách các Actor: ........................................................................................................................ 6 2.3. Danh sách Usecase: ........................................................................................................................... 6 2.4. Đặc tả Usecase: .................................................................................................................................. 7 Điểm mở rộng : ....................................................................................................................................... 9 Điểm mở rộng : ....................................................................................................................................... 9 3. Phân tích .........................................................................................................11 3.1 Sơ đồ lớp (mức phân tích) ...................................................................................................................... 11 3.2 Danh sách các lớp đối tượng và quan hệ ................................................................................................ 11 3.3 Mô tả chi tiết từng lớp đối tượng ............................................................................................................ 12 4. Thiết kế kiến trúc ...........................................................................................15 4.1 Kiến trúc hệ thống ................................................................................................................................... 15 4.2 Mô tả chi tiết từng thành phần trong hệ thống ........................................................................................ 16  XuLyChinh ......................................................................................................16  Interface VanCo ...............................................................................................17  Interface GiaoDien...........................................................................................17  Minh họa cho kiến trúc plugin .........................................................................17 Chương 3. Kết quả và ứng dụng ....................................................................18 1. Danh sách các màn hình ......................................................................................18 2. Mô tả chi tiết mỗi màn hình.................................................................................18  Màn hình Menu................................................................................................18  Màn hình Chọn độ khó ....................................................................................19  Màn hình Tên người chơi ................................................................................19  Màn hình Phòng chờ ........................................................................................20  Màn hình Tùy chỉnh .........................................................................................21  Màn hình Thi đấu cờ gánh ...............................................................................21 Kết luận ............................................................................................................23 1.Môi trường phát triển và Môi trường triển khai ....................................................23 2. Kết quả đạt được : ................................................................................................23 3. Hướng phát triển ..................................................................................................23 Tài liệu tham khảo ...........................................................................................24 Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 3 Mở đầu Hiện nay các loại hình giải trí thật sự đa dạng và phong phú, và khi game xuất hiện trên máy tính, thì nó đã thực sự trở thành công cụ giải trí số một trên toàn thế giới. Số lượng người chơi game máy tính lên tới con số hàng tỉ, không phần biệt tuổi tác, giới tính hay màu da. Loại hình giải trí này len lỏi vào khắp ngõ ngách của nền công nghiệp hiện đại, và thế giới văn phòng làm việc cũng không thoát khỏi “tầm với” của nó. - Công việc văn phòng có thể không vất vả bằng các công việc lao độ ng chân tay bình thường, nhưng nó lại dễ dàng tạo nên những cơn “stress” cao độ. Nếu không được giải tỏa kịp thời, hiệu quả của công việc sẽ giảm xuống rõ rệt, đôi khi còn gây ra hàng loạt sai lầm nghiêm trọng. Việc chơi games trong những khoảng thời gian nghĩ ngơi giúp giải tỏa được áp lực công việc hơn,có thể nhờ vậy nâng cao hiệu quả công việc. - Vì vậy mục tiêu của đề tài là nghiên cứu, lập trình những game tương thích sử dụng cho giải trí trong công việc văn phòng. - Trên đây, tôi xin giới thiệu một game rất thích hợp trong việc giải trí cho công việc văn phòng: đó là game “cờ gánh”, được lập trình bằng ứng dụng Microsoft visual C#. - Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 4 Chương 1. Cơ sở lý thuyết 1. Cơ sở lý luận của vấn đề nghiên cứu - Ngôn ngữ C# khá đơn giản, chỉ khoảng hơn 80 từ khóa và hơn mười mấy kiểu dữ liệu được dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa to lớn khi nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng. Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại. Hơn nữa ngôn ngữ C# được xây dựng trên nền tảng hai ngôn ngữ mạnh nhất là C++ và Java. - Visual C# là một trong những công cụ trong Microsoft Visual Studio 2008, là một ngôn như lập trình hiện đại được thiết kế để cung cấp một môi trường năng suất để tạo ra các frameworks nghiệp vụ và các thành phần hướng đối tượng sử dụng lại. Vì thế việc ứng dụng Visual C# trong việc sử dụng lập trình game tương đối đơn giản. 2. Nội dung và phương pháp nghiên cứu - Nghiên cứu về ngôn ngữ C#, công cụ lập trình Visual C# ; - Tìm kiếm thông tin, tư liệu từ Internet, sách giáo khoa, thường xuyên tham khảo ý kiến giáo viên hướng dẫn. - Tiến hành phác thảo cấu trúc game:  Xây dựng mô hình, giao diện cấu trúc của game.  Thiết kế các forms cho các yêu cầu c ủa game.  Viết các thuật toán yêu cầu của game. - Lắp ráp các dữ kiện để hoàn tất, tiến hành chạy thử, sửa chữa trước khi đem ra sử dụng. 3. Kết quả đạt được - Game hoàn thành có tên là “cờ gánh”. Trò chơi phát triển dựa trên luật chơi như sau:  Bàn cờ hình vuô ng được chia thành mười sáu ô vuông nhỏ. Mỗi bên có tất cả 8 quân cờ được sắp xếp như hình. Các quân cờ đi theo đường của bàn cờ. - Cách sắp xếp quân cờ  Khi một quân cờ di chuyển vào giữa các cặp quân cờ đối thủ thì sẻ bị gánh các cặp quân cờ đó thành quân cờ của mình.  Khi một (hay một nhóm) các quân cờ của người chơi bị ép vào thế không di chuyển được một bước nào nữa thì quân cờ (hay nhóm cờ) đó sẽ bị “bóp chết” và trở thành quân cờ đối thủ.  Ván kết thúc khi một trong hai người chơi không còn quân cờ nào của mình trên bàn cờ nữa. Game được chạy trên mọi hệ điều hành khi đã cài Microsoft visual studio(2008). Có thể chơi trực tiếp với máy hoặc chơi giữa các máy tính với nhau có sử dụng mạng LAN. Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 5 Chương 2. Phát biểu vấn đề 1. Phát biểu bài toán : 1.1. Nhu cầu thực tế :  Trò chơi dân gian Cờ Gánh là một trò chơi tương đối phổ biến ở các vùng nông thôn Việt Nam.Nhưng nó đang ngày càng bị lãng quên do xã hội ngày càng phát triển với những nhu cầu giải trí cao hơn. Vì vậy việc tin học hóa trò chơi dân gian cũng đượ c coi là hoàn toàn hợp lý.  Đây là một trò chơi có cấu trúc và cách chơi hoàn toàn giống với trò chơi dân gian Cờ Gánh. Trò chơi giúp cho việc tổ chức chơi một ván cờ gánh trở nên dễ dàng hơn .Với những hình ảnh và các hỗ trợ khác tạo nên một không khí chơi hấp dẫn và tạo được sự hứng thú. Với luật chơi đơn giản, trò chơi phù hợp với mọi lứa tuổi, hứa hẹn sẽ là một trò chơi phổ biến trên các máy tính hiện nay. 1.2. Các chức năng của trò chơi:  Chế độ luyện tập : rèn luyện kỹ thuật chơi cho người chơi qua từng ván đấu (với máy )ở các cấp độ khó khác nhau để nâng cao kỹ năng.  Chế độ thi đấu : sau khi kỹ thuật chơi đã được nâng cao, người chơi vào sàn thi đấu thách thức các đối thủ khác (chơi với đối thủ qua mạng LAN)  Tùy chỉnh các thiết lập : có các thiết lập để tăn g hay giảm độ khó trong mỗi ván đấu ( thời gian mỗi lượt chơi , thiết lập luật “mở” - đặc thù của Cờ Gánh…); Thiết lập về kiểu giao diện và tắt mở âm thanh trong trò chơi.  Bên cạnh đó, trò chơi sẽ cố gắng phát triển giao diện trực quan, dễ sử dụng và lôi cuốn người chơi.(nằm trong quá trình phát triển trò chơi). 1.3. Hiện trạng và nhược điểm :  Trên thị trường hiện nay cũng đã xuất hiện một số trò chơi cờ gánh khác, nhưng hầu hết là chơi offline(chế độ chơi với máy) và về mặt giao diện chưa được đẹp và dễ dàng thao tác.  Do vậy, trò chơi này sẽ cố gắng hoàn thiện các nhược điểm đó và phát triển chơi trên mạng LAN một cách hoàn hảo. (Ngoài ra, sẽ nâng cấp chơi trên Internet khi đủ kĩ thuật & thời gian hoàn thiện ^^!) Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 6 2. Đặc tả Usecase: 2.1. Sơ đồ Usecase: Du Quan Co Doi Phuong Vao Bay <> Thi Dau Voi Nguoi Choi Khac Bop Chit Quan Co Doi Phuong Tro Chuyen Voi Nguoi Choi Khac <> <> <> <> <> Di Chuyen Quan Co <> <> Xem Danh Sach Nguoi Choi Chon Che Do Choi Qua Mang LAN Ganh Quan Co Doi Phuong Chon Che Do Choi Voi May De Nghi Doi Thu Choi Van Khac Nguoi Choi <> Chon Do Kho Cua Tro Choi Tuy Chinh Thiet Lap Xin Thua 2.2. Danh sách các Actor: STT 1 Ý nghĩa/Ghi chú ơi trò chơi Cờ Gánh Là người ch Tên Actor ơi Người Ch 2.3. Danh sách Usecase: STT 1 2 3 4 5 6 7 8 9 Tên Use-case Chọn chế độ chơi với máy Chọn độ khó của trò chơi Chọn chế độ chơi qua mạng LAN Tùy chỉnh thiết lập Xem danh sách người chơi Thi đấu với người chơi khác Di chuyển quân cờ Dụ quân cờ đối phương vào bẫy Bóp Chít quân cờ đối phương Đồ án môn học Ý nghĩa/Ghi chú độ luyện tập khi muốn thi đấu offline với máy Chọn chế Chọn mức độ khó cho các nước đi của máy Chế độ chơi giữa 2 người online trong mạng nội bộ Tùy chỉnh âm thanh, hình ảnh trong trò chơi Xem những người đang online trong mạn g LAN Kết nối tới người chơi trong mạng Lan Di chuyển quân cờ được chọn Được dùng cho luật “mở”, dụ đối phương Các quân cờ đối phương không còn đường nào di chuyển sẽ bị “bóp chít” thành quân cờ của mình 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 10 Gánh quân cờ đối phương 11 12 13 Đề nghị đối thủ chơi ván khác Xin thua Nói chuyện với người chơi khác 7 “Gánh” các cặp quân cờ đối phương khi quân cờ của ta đi vào giữa Đề nghị chơi ván khác khi đang chơi Xin thua ván này trong lúc đang chơi Nói chuyện trong lúc thi đấu hoặc trong phòng chờ đối thủ (ở chế độ LAN) 2.4. Đặc tả Usecase:  Đặc tả Usecase “Chọn chế độ chơi với máy” - Người chơi dùng chức năng này để góp phần nắm rõ luật chơi cũng nh ư luyện tập nâng cao khả năng thi đấu Cờ Gánh. - Bắt đầu khi người chơi chọn menu “luyện tập” ở màn hình menu. - Sau khi chọn vào menu, người chơi sẽ bắt đầu vào thi đấu luyện tập với máy. - Kết thúc usecase khi bước vào thi đấu. - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Người chơi đứng ở màn hình menu chọn chức năng.” - Trạng thái hệ thống sau khi thực hiện Use-case “Sau khi thực hiện usecase, người chơi bắt đầu vào chọn độ khó cho luyện tập với máy.”  Đặc tả Usecase “Chọn độ khó củ a trò chơi” - Người chơi chọn độ khó cho các ván đấu luyện tập với máy. - Bắt đầu usecase sau khi usecase Chọn chế độ chơi luyện tập thực hiện xong. - Người chơi chọn mức độ khó của chế độ luyện tập với máy. - Kết thúc usecase khi người chơi bắt đầu vào thi đấu. - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Người chơi phải chọn chế độ chơi luyện tập thì mới tiến hành chọn độ khó cho trò chơi.” - Trạng thái hệ thống sau khi thực hiện Use-case “Người chơi bắt đầu vào thi đấu luyện tập với máy ở độ khó tương ứng đã chọn trước đó.”  Đặt tả Usecase “Chọn chế độ chơi qua mạng LAN” - Người chơi chọn chế độ chơi này để được thi đấu với người chơi khác qua mạng nội bộ của mình. - Usecase bắt đầu khi người chơi chọn menu Thi đấu ở màn hình menu của trò chơi. - Thực hiện kết nối vào mạng nội bộ(nếu có) để tìm đối thủ thi đấu. - Kết thúc khi người chơi vào phòng chờ đối thủ(thành công), hoặc ra lại màn hình menu (nếu không kết nối vào được mạng nội bộ) - Các yêu cầu đặc biệt “Máy tính của ngừoi chơi nên đượ c kiểm tra kết nối mạng nội bộ trước khi thực hiện usecase này.” - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Người chơi đứng ở m àn hình menu chính của trò chơi.” Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 8 - Trạng thái hệ thống sau khi thực hiện Use -case “Vào phòng chờ cùng các đối thủ khác trong mạng Lan (nếu đã kết nối mạng LAN) hoặc ra ngoài menu (nếu chưa kết nối)” - Điểm mở rộng “Nếu máy tính đã kết nôi mạng LAN, usecase Vào phòng chờ sẽ được thực hiện để chờ đối thủ khác.” -  Đặt tả Usecase “Tùy chỉnh thiết lập” Người chơi tùy chỉnh chế độ âm thanh, hình ảnh của trò chơi. Bắt đầu vào chọn tùy chỉnh phù hợp. - Kết thúc nếu ngừoi chơi đã đồng ý với tùy chỉnh - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Người chơi có thể tùy chỉnh các thiết lập này ở b ất cứ màn hình nào.” - Trạng thái hệ thống sau khi thực hiện Use-case “Nếu có thay đổi trong tùy chỉnh, hệ thống sẽ thực hiện đáp ứng yêu cầu của người chơi. ”  Đặt tả Usecase “Xem danh sách người chơi” - Ngừoi chơi quan sát thông tin những người chơi cũng đang chờ thi đấu để có thể mời thi đấu với mình. - Bắt đầu sau khi ngừoi chơi thực hiện chọn chế độ chơi Thi đấu. - Danh sách các người chơi đang online sẽ được cập nhật liên tục - Kết thúc khi ngừoi chơi bắt đầu thi đấu với một đối thủ, hoặc chọn thoát kh ỏi phòng chờ. - Các yêu cầu đặc biệt “Máy tính của người chơi nên được kết nối với mạng nội bộ. ” - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Mô tả rõ điều kiện trước khi bắt đầu thực hiện Use-case (ví dụ có đòi hỏi người sử dụng phải đăng nhập thành công trước đó hay không…) ” - Trạng thái hệ thống sau khi thực hiện Use-case “Luôn cập nhật danh sách người chơi. ” - Điể m mở rộng “Chỉ sau khi thực hiện usecase chọn chế độ thi đấu qua mạng LAN thì usecase này mới được thực hiện . Tại phòng chờ, người chơi có thể thực hiện usecase Thi đấu với người chơi khác trong mạng LAN.”  Đặt tả Usecase “Thi đấu với người chơi khác” - Thi đấu với một người chơi khác qua mạng LAN - Người chơi kết nối với một đối thủ sau khi xem danh sách người chơi đang online - Thực hiện kết nối với người chơi đó để thi đấu - Kết thúc khi kết thúc ván đấu, hoặc 1 trong 2 ngừoi chơi bỏ cuộc(Xin thua) - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Hệ thống thực hiện kết nối với đối thủ để tham g ia ván đấu.” - Trạng thái hệ thống sau khi thực hiện Use-case “Hủy kết nối giữa 2 người chơi.” - Điểm mở rộng “Usecase này được thực hiện sau Xem danh sách người chơi nếu ngừoi chơi muốn kết nối với một đối thủ nào đó để thi đấu. ”  Đặt tả Usecase “Di chuyển quân cờ” - Người chơi di chuyển quân cờ của mình được chọn đến một vị trí lân cận. - Người chơi thực hiện chọn một quân cờ của mình(ở lượt đi của mình) - Chọn vị trí mới cho quân cờ(thỏa luật chơi). Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 - 9 Quân cờ di chuyển đến vị trí mới. - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Hệ thống ghi nhận quân cờ được chọn và hướng đi để di chuyển quân cờ đến đúng vị trí đó. ” - Trạng thái hệ thống sau khi thực hiện Use-case “Hệ thống di chuyển quân cờ đến vị trí mới và chuyển lượt chơi cho đối phương. ” - Điểm mở rộng :  Usecase Dụ quân cờ của đối phương vào bẫy có thể được cho phép thực hiện nếu quân cờ ta vừa di chuyển thỏa nước đi cho luật mở.  Usecase Gánh quân cờ đối phương có thể được thực hiện nếu quân cờ của ta di chuyển đến vị trí qui định được ăn quân trong trường hợp đó.  Usecase Bóp chít quân cờ đối phương có thể được thực hiện nếu quân cờ của ta có nước di chuyển bao vây nhóm quân cờ đối phương, làm nhóm quân cờ đó không thể di chuyển được dù chỉ 1 nước đi.  Đặt tả Usecase “Dụ quân cờ đối phương vào bẫy” - Người chơi chỉ có thể thực hiện được usecase này nếu ở bước di chuyển quân cờ trước đó người chơi di chuyển sao cho quân cờ đi đúng luật “mở” của trò chơi. - Bắt đầu khi người chơi chọn “mở”. - Sau khi quân cờ đối phương di ch uyển vào vị trí ngừơi chơi đặt bẫy thì usecase kết thúc. - Các yêu cầu đặc biệt “Sau khi quân cờ di chuyển để “mở” - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Cho phép chức năng “mở” để thực hiên dụ đối phương vào bẫy.” - Trạng thái hệ thống sau khi thực hiện Use-case “Chuyển lượt chơi lại cho người chơi. ” - Điể m mở rộng “người chơi thực hiện Usecase Di chuyển quân cờ để thực hiện mở thì usecase này mới xuất hiện. ”  Đặt tả Usecase “Bóp Chít quân cờ đối phương” - Nhóm quân cờ đối phương bị bóp chít khi nhóm quân cờ đó không còn di chuyển được một nước đi nào nữa sau nước đi trước của người chơi. - Sau khi quân cờ của ngừoi chơi di chuyển có thể sẽ bóp chít được quân cờ đối phương nếu bịt kín hết các lối đi. - Kết thúc sau khi những quân cờ đó của đối phương bị bóp chít thành quân cờ của người chơi. - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Thực hiện chuyển các quân cờ bị bóp chít thành các quân cờ của người chơi. ” - Trạng thái hệ thống sau khi thực hiện Use-case “Trả lượt chơi cho đối phương ” - Điểm mở rộng :  Sau Usecase Di chuyển quân cờ thì usecase này có thể được thực hiện. Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 10  Sau khi Gánh quân cờ đối phương thì usecase này cũng có thể được thực hiện.  Đặt tả Usecase “Gánh quân cờ đối phương” - “Gánh” các cặp quân cờ đối phương nếu quân cờ của người chơi di chuyển vào vị trí chính giữa các cặp quân cờ đó. - Người chơi di chuyển quân cờ của mình đi vào vị trí “gánh” - Các quân cờ đối phương bị gánh sẽ chuyển thành quân cờ của ngừoi chơi. - Sau khi “gánh” xong thì usecase kết thúc. - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Giữ lượt chơ i cho người chơi đến khi “gánh” xong.” - Trạng thái hệ thống sau khi thực hiện Use-case “Chuyển lượt chơi qua cho đối phương. ” Điểm mở rộng “Sau khi Usecase Di chuyển thực hiện thì usecase này mới được xét có được thực hiện hay không”  Đặt tả Usecase “Đề nghị đối thủ chơi ván khác” - Đề nghị đối thủ được chơi lại ván khác theo yêu cầu của người chơi khi cảm thấy không muốn chơi ván đang chơi nữa. - Người chơi đề nghị đối thủ chơi ván khác thực hiện usecase này - Kết thúc khi có trả lời từ đối phương. - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Dừng tạm thời ván đang chơi để hởi ý kiến đối phương” - Trạng thái hệ thống sau khi thực hiện Use -case “Nếu đối phương đồng ý, ván khác sẽ được thiết lập. Nếu không, chơi tiếp ván đang chơi. ”  Đặt tả Usecase “Xin thua” - Cảm thấy không muốn chơi nữa thì nhấn Xin thua để thoát khỏi trò chơi. - Xin thua khi đang thi đấu, usecase được thực hiện. - Kết thúc sau khi người chơi thoát. - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Ngắt tất cả kết nối giữa 2 người chơi. ” - Trạng thái hệ thống sau khi thực hiện Use-case “Ngắt tất cả kết nối giữa 2 người chơi. ”  Đặt tả Usecase “Nói chuyện với người chơi khác” - Nói chuyện với đối thủ khi đang thi đấu hoặc ở phòng chờ (ở chế độ thi đấu trong mạng LAN) để tạo sự thích thú. - Người chơi nhập vào lời mún nói với đối phương rồi nhấn gửi. - Đối phương sẽ nhận được thông điệp từ cửa sổ bên tương ứng. - Kết thúc sau khi thông điệp đến bên nhận. - Trạng thái hệ thống khi bắt đầu thực hiện Use -case “Hệ thống nhận thông điệp và gửi cho đối phương. ” - Trạng thái hệ thống sau khi thực hiện Use-case “Kết thúc gửi thông điệp ” Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 11 - Điểm mở rộng “Chỉ được phép thực hiện khi đã thực hiện use -case xem danh sách người chơi trong mạng LAN hoặc use -case thi đấu với người chơi khác. ” 3. Phân tích 3.1 Sơ đồ lớp (mức phân tích) Giao dien Ten Duong dan Quan ly xu ly vc : Van co hien tai dsvc : Danh sach van co Quan ly giao dien dsgd : Danh sach giao dien ... gd : Giao dien hien tai * * Van co Binh thuong Lay danh sach giao dien() Nam moi LAN ID bc : Ban co ganh Ket noi Quan co d : Vi tri hien tai dsd : Danh sach vi tri co the di den ... La quan co cua nguoi choi OFFLINE Cap do <> Khoi tao van co() <> Gui du lieu() <> Ket thuc() 1 1..* 1 Ban co Danh sach quan co Ma tran ban co Quan co duoc chon Ket thuc Den luot nguoi choi 1 Khoi tao() Lay danh sach cac xu ly van co() ... 1 1 1 Di chuyen() Den mot diem duoc hay khong() 1 1 Diem * Kiem tra bop chit() So luong quan co cua nguoi choi() ... Kiem tra an quan() Kiem tra mo() Xu ly mo() Di chuyen quan co() X Y dsd : Danh sach nhung diem di den duoc tu diem nay Kiem tra co the den duoc mot diem tu diem nay hay khong() ... Kiem tra trung lap voi mot diem khac() 3.2 Danh sách các lớp đối tượng và quan hệ STT Tên lớp/quan hệ 1 Diem Lớp định nghĩa vị trí 2 QuanCo Lớp định nghĩa một quân cờ Loại Ý nghĩa/Ghi chú trên bàn cờ 3 BanCo Lớp mô tả bàn cờ 4 VanCo Lớp tổng quát cho xử lý ván cờ trong trò chơi 5 LAN Lớp xử lý cho ván cờ ở chế độ thi đấu mạng LAN(kế thừa từ VanCo) Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 6 12 Lớp xử lý cho ván cờ ở chế OFFLINE độ thi đấu với máy(kế thừa từ VanCo) 7 QuanLyXuLy Lớp quản lý chính cho tất cả các xử lý ván cờ trong trò chơi 8 Lớp tổng quát cho việc quản GiaoDien lý một giao diện trò chơi 9 Lớp quản lý chính cho tất cả QuanLyGiaoDien các giao diện có trong kho giao diện Ghi chú : 2 lớp BinhThuong và NamMoi là 2 lớp đại diện cho các giao diện (có sử dụng plugin, thay đổi giao diện,ké thừa từ GiaoDien) 3.3 Mô tả chi tiết từng lớp đối tượng  Lớp Diem: o Kế thừa : Không o Danh sách thuộc tí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 vị trí 2 Y Private Tọa độ y của vị trí 3 Danh sach nhung Private Danh sách những điểm có đường nối với điểm này trên bàn cờ diem di den duoc o Danh sách các trách nhiệm (các phương thức) chính  Kiem tra co the den mot diem tu diem nay hay khong ? :Kiểm tra giữa 2 điểm có đường nối với nhau trên bàn cờ hay không?  Kiem tra trung lap voi mot diem khac? : Kiểm tra 2 điểm có trùng với nhau trên bàn cờ không?  Lớp QuanCo: o Kế thừa : Không o Danh sách thuộc tính STT Tên thuộc tính 1 Vi tri hien tai Loại Ràng buộc Ý nghĩa/ghi chú Vị trí hiện tại của quân cờ trên bàn Private cờ Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 13 2 La quan co cua ta Private Xác định là quân cờ của bên nào 3 Danh sach nhung Private Danh sách những điểm có đường nối với điểm này trên bàn cờ & diem di den duoc không có quân quân cờ nào đang đứng ở đó o Danh sách các trách nhiệm (các phương thức) chính  Di chuyen : di chuyển quân cờ đến một điểm trong bàn cờ  Den mot diem duoc hay khong? : kiểm tra đến một điểm trong bàn cờ được hay không?(có đường nối và không có quân cờ nào tại đó)  Lớp BanCo: o Kế thừa : Không o Danh sách thuộc tính : STT Tên thuộc tính 1 Danh sach quan Loại Ràng buộc Ý nghĩa/ghi chú Danh sách những quân cờ trong Private co bàn cờ 2 Ma tran ban co Private Ma trận điểm biểu diễn bàn cờ 3 Quan co duoc Private Quân cờ đang được chọn trong bàn chon cờ o Danh sách các trách nhiệm (các phương thức) chính  Di chuyen quan co : Xử lý di chuyển quân cờ trong bàn cờ  Xu ly mo: xử lý “mở” theo đúng luật mở trong cờ gánh.  Kiem tra an quan : xét luật ăn quân và áp dụng  Kiem tra bop chit : xét luật bóp chít và áp dụng  Kiem tra mo : kiểm tra luật mở  So luong quan co cua nguoi choi : số quân cờ của người chơi trong bàn cờ  Lớp VanCo : o Kế thừa : Không o Danh sách thuộc tính STT Tên thuộc tính 1 ID Protected Tên loại xử lý ván cờ 2 Ban co ganh Protected Bàn cờ của xử lý này 3 Ket noi Protected Tình trạng kết nối của xử lý ván cờ Loại Ràng buộc Ý nghĩa/ghi chú o Danh sách các trách nhiệm (các phương t hức) chính Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008  Khoi tao van co : lớp kế thừa override  Gui du lieu : lớp kế thừa override  Ket thuc : lớp kế thừa override 14  Lớp LAN: o Kế thừa : Kế thừa từ lớp VanCo o Danh sách các thuộc tính : kế thừa từ lớp VanCo STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú o Danh sách các trách nhiệm (các phương thức) chính  Khoi tao van co : ( override) khởi tạo kết nối để chơi mạng LAN  Gui du lieu : ( override) gửi dữ liệu qua mạng LAN  Ket thuc : ( override) Xử lý ngắt kết nối và kết thúc chơi  Lớp OFFLINE: o Kế thừa : Kế thừa từ lớp VanCo o Danh sách các thuộc tính : kế thừa từ lớp VanCo và thêm các thuộc tính sau STT Tên thuộc tính 1 Do kho Loại Ràng buộc Ý nghĩa/ghi chú Chỉ độ khó của xử lý ván cờ Private này(máy) o Danh sách các trách nhiệm (các phương thức) chính  Khoi tao van co : ( override) khởi tạo ván cờ với máy  Gui du lieu : ( override) xử lý chuyển lượt người chơi  Ket thuc : ( override) xử lý kết thúc ván cờ  Lớp QuanLyXuLy: o Kế thừa : Không o Danh sách các thuộc tính : STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú 1 Van co hien tai Private Xử lý ván cờ đang sử dụng 2 Danh sach van co Private Tất cả các xử lý ván cờ có tồn tại o Danh sách các trách nhiệm (các phương thức) chính  Lay danh sach cac xu ly van co : đọc tất cả các xử lý ván cờ có tồn tại trong kho dữ liệu  Lớp GiaoDien: o Kế thừa : Không o Danh sách các thuộc tính : STT Tên thuộc tính Đồ án môn học Loại Ràng buộc 09CNTT2 Ý nghĩa/ghi chú Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 15 1 Ten Protected Tên loại giao diện 2 Duong dan Protected ĐƯờng dẫn đến thư mục chứa resources o Danh sách các trách nhiệm (các phương thức) chính  Khoi tao : khởi tạo các bitmap sử dụng trong giao diện trò chơi  Lớp QuanLyGiaoDien: o Kế thừa : Không o Danh sách các thuộc tính : STT Tên thuộc tính 1 Giao dien hien tai Private Giao diện đang sử dụng 2 Danh sach giao Private Danh sách tất cả giao diện đang có Loại Ràng buộc Ý nghĩa/ghi chú dien o Danh sách các trách nhiệm (các phương thức) chính  Lay danh sach giao dien : đọc tất cả các giao diện có tồn tại 4. Thiết kế kiến trúc 4.1 Kiến trúc hệ thống Thành phần XuLyChinh InterfaceVanCo InterfaceGiaoDien Đồ án môn học Diễn giải Xử lý chính cho m ỗi Client (xử lý ván cờ & xử lý giao diện) Lớp interface cho cấu trúc plugin xử lý ván cờ Lớp interface cho cấu trúc plugin giao diện trò chơi 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 16 4.2 Mô tả chi tiết từng thành phần trong hệ thống  XuLyChinh Lớp đối tượng AmThanh BitmapRegion frmChonDoKho frmManHinhCHinh frmMenu frmPhongCho frmTenNguoiChoi FrmThanhTich frmTuyChon LuyenTap NhacNen Program QuanLy QuanLySkin Resources Setttings Skin ThiDau VanCoGanh Đồ án môn học Diễn giải Lớp quản lý âm thanh, tiếng động trong trò chơi Quản lý xử lý về hình ảnh trong winform Form chọn độ khó Form màn hình chính Form menu Form phòng chờ Form tên người chơi Form thành tích Form tùy chọn Xử lý lưu trữ thông tin thi đấu với máy Lớp quản lý nhạc nền cho trò chơi Lớp chính của ứng dụng Lớp quản lý tất cả các xử lý ván cờ Quản lý tất cả các giao diện Quản lý hình ảnh nguồn Sealed Class Lớp giao diện Quản lý thông tin lưu trữ chế độ thi đấu mạng cục bộ Lớp xử lý ván cờ 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 17  Interface VanCo Lớp đối tượng CToaDo CQuanCo CBanCo CXuLy IVanCo Diễn giải Lớp điểm Lớp quân cờ Lớp bàn cờ Quản lý các xử lý thêm cho ván cờ Interface cho xử lý một ván cờ  Interface GiaoDien Lớp đối tượng IGiaoDien Diễn giải lý giao diện cho trò chơi Interface quản  Minh họa cho kiến trúc plugin Kế thừa từ interface IVanCo cho xử lý một ván cờ (áp dụng cho xử lý LAN và OFFLINE với các xử lý có độ khó khác nhau Đồ án môn học 09CNTT2 Kế thừa từ interface IGiaoDien cho các giao diện khác nhau (trò chơi có thể cập nhật, bổ sung nhiều Skin khác nhau)s Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 18 Chương 3. Kết quả và ứng dụng 1. Danh sách các màn hình Liệt kê danh sách các màn hình trong đồ án STT 1 Tên màn hình Màn hình Menu 2 4 Màn hình Chọn độ khó Màn hình Tên người chơi Màn hình Phòng chờ 5 Màn hình Tùy chỉnh 6 7 Màn hình Thi đấu Cờ Gánh Màn hình Thành tích 8 Màn hình Trợ giúp 3 Ý nghĩa/Ghi chú Màn hình với các menu lựa chọn chức năng trong trò chơi . Màn hình chọn mức độ khó cho chế độ chơi luyện tập (chơi với máy) Màn hình cho người chơi ghi danh tính mình trước khi vào chế độ thi đấu mạng LAN Màn hình thể hiện phòng chờ với các thông tin : danh sách người chơi đang online, chatbox … Màn hình thể hiện các thiết lập và các chế độ chọn cho người chơi. Màn hình chính của trò chơi. Màn hình thi đấu Cờ Gánh Thể hiện lịch sử thi đấu của người chơi ở chế độ LAN Các thông tin hướng dẫn chơi, tác giả. 2. Mô tả chi tiết mỗi màn hình  Màn hình Menu Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 19 Mô tả cách sử dụng và xử lý trên màn hình : - Người chơi chọn các chức năng menu bằng cách click chuột trái vào các icon tương ứng trên màn hình.  Màn hình Chọn độ khó Chưa chọn - Đã click vào tên độ khó Mô tả cách sử dụng và xử lý trên màn hình: Có 2 cách chọn : + Double click vào tên độ khó. + Click chuột trái vào tên độ khó, sau đó chọn button play.  Màn hình Tên người chơi Mô tả cách sử dụng và xử lý trên màn hình: - Nhập tên người chơi ở textbox . Sau đó hoàn tất bằng cách : nhấn ENTER, hoặc click chuột trái lên biểu tượng bảng chỉ dẫn mũi tên. Đồ án môn học 09CNTT2 Tưởng Trường Thành Lập trình game cờ gánh bằng Microsoft visual C# 2008 20  Màn hình Phòng chờ Button cập nhật danh sách người chơi Chọn người bạn muốn nói chuyện riêng (hoặc với tất cả) Danh sách những người chơi đang ở trong phòng chờ Buton mời thi đấu (có thể mời bằng cách click chuột phải vào tên người chơi) Ghi nội dung nói chuyện vào đây Button gửi nội dung trò chuyện Button thoát khỏi phòng chờ Mô tả cách sử dụng và xử lý trên màn hình:  Trò chuyện : - Nói chuyện riêng với người nào đó : chọn tên người đó trên combobox danh sách người chơi, hoặc click chuột phải vào tên người đó trong danh sách người chơi rồi chọn Nói chuyện riêng - Nói chuyện với tất cả mọi người (mặc định) Đồ án môn học 09CNTT2 Tưởng Trường Thành
- Xem thêm -

Tài liệu liên quan