Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
1,39 MB
Nội dung
MỤC LỤC CHƢƠNG 1: MỞ ĐẦU 1.1 Trò chơi cờ tƣớng 1.2 Mục tiêu đề tài 1.3 Yêu cầu đề tài 1.4 Nội dung luận văn CHƢƠNG 2: CƠ SỞ LÝ THUYẾT Error! Bookmark not defined 2.1 Tìm hiểu Socket Error! Bookmark not defined 2.2 Giao thức TCP/IP Error! Bookmark not defined 2.2.1 Tầng ứng dụng (Application Layer) Error! Bookmark not defined 2.2.2 Tầng giao vận (Transport Layer) Error! Bookmark not defined 2.2.3 Tầng liên mạng (Internet Layer) Error! Bookmark not defined 2.2.4 Tầng giao diện mạng (Network Interface Layer)Error! Bookmark not define 2.3 Mơ hình Client – Server Error! Bookmark not defined 2.4 Dạng trò chơi trò chơi Error! Bookmark not defined 2.5 Vét cạn Error! Bookmark not defined 2.6 Chiến lƣợc tìm kiếm trò chơi Error! Bookmark not defined 2.7 Đánh giá cờ Error! Bookmark not defined 2.8 Thủ tục MiniMax Error! Bookmark not defined 2.9 Thủ tục AlphaBeta Error! Bookmark not defined CHƢƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNGError! Bookmark not defined 3.1 THIẾT KẾ HỆ THỐNG Error! Bookmark not defined 3.1.1 Sơ đồ usecase Error! Bookmark not defined 3.1.2 Sơ đồ lớp Error! Bookmark not defined 3.2 ĐẶC TẢ CHỨC NĂNG Error! Bookmark not defined 3.2.1 Các yêu cầu chức Error! Bookmark not defined 3.2.2 Yêu cầu phi chức Error! Bookmark not defined 3.3 ĐẶC TẢ KỸ THUẬT Error! Bookmark not defined 3.3.1 Kho liệu (Resource) Error! Bookmark not defined 3.3.2 Các lớp quân cờ Error! Bookmark not defined 3.3.3 Lớp Luatchoi Error! Bookmark not defined 3.3.4 Lớp cothedi Error! Bookmark not defined 3.3.5 Lớp LoadResource Error! Bookmark not defined 3.3.6 Lớp HienThiCT Error! Bookmark not defined 3.3.7 Lớp ServerProgram Error! Bookmark not defined 3.3.8 Lớp ClientProgram: Error! Bookmark not defined 3.3.9 Lớp ChessEngine Error! Bookmark not defined CHƢƠNG 4: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 4.1 Kết thực chức 4.1.1 Giao diện đăng nhập 4.1.2 Menu game 4.1.3 Bàn cờ: 4.1.4 Nhấc quân cờ đánh dấu vị trí đi: 4.1.5 Kiểm tra chiếu tƣớng: 10 4.1.6 Kiểm tra thắng thua: 11 4.1.7 Chức xin thua 13 4.1.8 Chức cầu hòa: 14 4.2 Đánh giá nhận xét 15 DANH SÁCH HÌNH VẼ Hình 1: Bàn cờ tƣớng Hình 2: Mơ hình bốn tầng giao thức TCP/IP Error! Bookmark not defined Hình 3: Mơ hình Client – Server Error! Bookmark not defined Hình 4: Hình ảnh mơ chƣơng trình Error! Bookmark not defined Hình 5: Thuật toán Mimax Error! Bookmark not defined Hình 6: Minh họa chiến lƣợc chơi cờ ngƣời chƣơng trình máy tính Error! Bookmark not defined Hình 7: Thuật tốn AlphaBeta Error! Bookmark not defined Hình 8: Usecase tổng quát Error! Bookmark not defined Hình 9: Usecase chức chơi mạng Error! Bookmark not defined Hình 10: Usecase chức chơi với máy Error! Bookmark not defined Hình 11: Sơ đồ lớp chức chơi qua mạng LANError! Bookmark not defined Hình 12: Sơ đồ lớp chức đánh với máy Error! Bookmark not defined Hình 13: Thƣ mục chứa liệu Error! Bookmark not defined Hình 14: Mơ bàn cờ tƣớng với tọa độ Error! Bookmark not defined Hình 15: Miền xem xét nằm Alpha, Beta Error! Bookmark not defined Hình 16 Cây trị chơi minh họa cho thuật toán AlphaBetaError! Bookmark not defined DANH SÁCH BẢNG BIỂU Bảng 1: Luật quân cờ Bảng 2: Một số port phổ biến Error! Bookmark not defined Bảng 3: Giá trị quân cờ Error! Bookmark not defined Bảng 4: So sánh hai thuật toán MiniMax AlphaBetaError! Bookmark not defined Xây dựng game Cờ tướng CHƢƠNG 1: MỞ ĐẦU Nội dung chương trình bày, giới thiệu trò chơi cờ tướng, lịch sử đời, luật chơi Phần cuối chương trình bày mục tiêu ý nghĩa đề tài 1.1 Trò chơi cờ tƣớng Lịch sử: Cờ tƣớng (chữ Hán gọi 象棋, phiên âm Hán Việt Tượng Kỳ tức "cờ hình tƣợng", có ngƣời cho "cờ voi" nhƣng chữ "tƣợng" nên hiểu theo nghĩa "phỏng theo, bắt chƣớc" hợp lí nghĩa "voi"), hay cịn gọi cờ Trung Hoa (Tiếng Anh: Chinese Chess) đƣợc phổ biến giới từ Trung Quốc đƣợc coi "quốc hồn quốc túy" nƣớc (nhƣng theo phƣơng Tây có nguồn gốc từ Ấn Độ), trị chơi trí tuệ dành cho hai ngƣời, loại cờ đƣợc chơi phổ biến giới với cờ vua Cờ Tƣớng trị chơi có thâm niên lâu đời tồn bất biến với thời gian Đây môn giải trí đơn nhƣ bao trị chơi khác, mà cịn rèn luyện cho ngƣời trí thơng minh khả phán đốn Trong cờ Tƣớng, có quy luật nguyên tắc đƣợc quy định chặt chẽ, buộc ngƣời chơi phải tuân theo để làm nên thành công ván cờ Trong cờ Tƣớng, ngƣời chơi phải biết “điều binh khiển Tƣớng” phải biết giá trị quân cờ để có chiến lƣợc phù hợp Bàn cờ: Bàn cờ hình chữ nhật đƣờng dọc 10 đƣờng ngang cắt vng góc 90 điểm hợp thành Một khoảng trống gọi sông (hay hà) nằm ngang bàn cờ, chia bàn cờ thành hai phần đối xứng Mỗi bên có cung Tƣớng hình vng (Cửu cung) ô hợp thành đƣờng dọc 4, 5, kể từ đƣờng ngang cuối bên, có vẽ hai đƣờng chéo xun qua Theo quy ƣớc, bàn cờ đƣợc quan sát diện, phía dƣới quân Trắng (hoặc Đỏ), phía quân Đen Các đƣờng dọc bên Trắng (Đỏ) đƣợc đánh số Xây dựng game Cờ tướng từ đến từ phải qua trái Các đƣờng dọc bên Đen đƣợc đánh số từ tới từ phải qua trái Hình 1: Bàn cờ tƣớng Luật chơi: Ván cờ đƣợc tiến hành hai ngƣời, ngƣời cầm quân Trắng (hay Đỏ), ngƣời cầm quân Đen (hay Xanh cây) Mục đích ngƣời tìm cách quân bàn cờ theo luật để chiếu bí Tƣớng (hay Sối, S) đối phƣơng giành thắng lợi Quân cờ đƣợc di chuyển theo luật sau: Stt Đối tƣợng Tƣớng Luật Đi ô một, ngang dọc Tƣớng luôn phải phạm vi cung khơng đƣợc ngồi “Cung” tức hình vng 3×3 đƣợc đánh dấu lằng chéo hình chử X Xây dựng game Cờ tướng Sĩ Tƣợng Xe Mã Pháo Tốt Đi xéo ô nƣớc Sĩ luôn phải cung nhƣ Tƣớng Đi chéo ô (ngang dọc 2) cho nƣớc Tƣợng đƣợc phép bên bàn cờ, không đƣợc di chuyển sang bàn cờ đối phƣơng Nƣớc tƣợng khơng hợp lệ có qn cờ nằm chặn đƣờng Đi ngang hay dọc bàn cờ miễn đừng bị quân khác cản đƣờng từ điểm đến điểm đến Đi ngang ô dọc ô (hay dọc ô ngang ô) cho nƣớc Nếu có quân nằm bên cạnh mã cản đƣờng ngang (hay đƣờng dọc 2), mã bị cản khơng đƣợc đƣờng Đi ngang dọc giống nhƣ xe Điểm khác biệt pháo muốn ăn quân, pháo phải nhảy qua qn Khi khơng ăn qn, tất điểm từ chổ đến chổ đến phải khơng có qn cản (hay Binh) nƣớc Nếu chốt chƣa vƣợt qua sơng, thẳng tiến Khi vƣợt sông rồi, chốt ngang nƣớc hay thẳng tiến bƣớc nƣớc Bảng 1: Luật quân cờ - Ăn quân: Khi quân di chuyển đến vị trí giử quân đối phƣơng, quân đối phƣơng bị ăn bị lấy khỏi bàn cờ - Chống tƣớng: Hai tƣớng bàn không đƣợc nằm cột dọc mà khơng có qn cản Nƣớc để tƣớng vị trí chống tƣớng khơng hợp lệ - An toàn tƣớng: Sau nƣớc đi, tƣớng bên không đƣợc để quân đối phƣơng ăn nƣớc tiếp Những nƣớc để tƣớng không an tồn khơng hợp lệ.Thơng thƣờng bị xử lý lổi kỹ thuật,nếu ván cờ bị phạm lổi thua Ván cờ kết thúc tình sau: - Chiếu bí: Nếu bên chiếu (bắt tƣớng), đối thủ khơng có khả đở, bên chiếu tƣớng thắng - Hết nƣớc đi: Nếu bên tới phiên nhƣng khơng có nƣớc hợp lệ để đi, bên bị thua - Khi hai bên bị phạm lỗi Xây dựng game Cờ tướng 1.2 Mục tiêu đề tài Đề tài: “Xây dựng game cờ tƣớng ” Để làm đề tài này, ta cần: - Hiểu ngun lý hoạt động mơ hình Client – Server lập trình mạng - Hiểu đƣợc kỹ thuật Socket Java Cách áp dụng để xây dựng ứng dụng - Biết kết hợp Socket Java mơ hình Client – Server để xây dựng ứng dụng chạy mơi trƣờng mạng - Tìm hiểu cách chƣơng trình máy tính chơi đƣợc trị chơi đấu trí nhƣ cờ tƣớng, cờ vua, … Tìm hiểu trị chơi vét cạn - Tìm hiểu chiến lƣợc tìm kiếm thể loại trò chơi đối kháng nhƣ cờ tƣớng, cờ vua, … từ xây dựng viết chƣơng trình cho thủ tục MiniMax - Cải tiến thuật toán MiniMax việc xây dựng thủ tục AlphaBeta, giảm thời gian tìm kiếm nƣớc chƣơng trình - Xây dựng chƣơng trình với giao diện dễ nhìn, thân thiện với ngƣời chơi dễ sử dụng 1.3 Yêu cầu đề tài Để triển khai xây dựng đề tài hoàn chỉnh ta phải am hiểu tổng quan, sơ lƣợc mơ hình hoạt động mơi trƣờng mạng thơng dụng chế hỗ trợ cho mơ hình ngơn ngữ lập trình mạng thích hợp Cụ thể đề tài lựa chọn cần tìm hiểu kỹ phần sau: - Tìm hiểu mơ hình Client – Server - Tìm hiểu chế Socket - Tìm hiểu kỹ thuật Socket Java - Tìm hiểu trị chơi, chiến lƣợc tìm kiếm - Xây dựng hàm MiniMax - Cải thiện thủ tục MiniMax với AlphaBeta Xây dựng game Cờ tướng 1.4 Nội dung luận văn Luận văn bao gồm chƣơng: Chƣơng 1: Giới thiệu tổng quan trò chơi cờ tƣớng, mục tiêu đề tài yêu cầu đề tài Chƣơng 2: Trình bày, giới thiệu mơ hình Client – Server, giao thức lý thuyết trò chơi Chƣơng 3: Trình bày kiến trúc game giải pháp để xây dựng game Chƣơng 4: Kết luận hƣớng phát triển Xây dựng game Cờ tướng TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ Nội dung chương trình bày kết đạt trình thực luận văn hướng phát triển đề tài 1.5 Kết thực chức 1.5.1 Giao diện đăng nhập Xây dựng game Cờ tướng 1.5.2 Menu game Xây dựng game Cờ tướng 1.5.3 Bàn cờ: Bàn cờ ngƣời chơi: Sau đăng nhập thành cơng, giao diện chƣơng trình lên giúp ngƣời chơi tiếp cận với ván cờ Ngƣời chơi đăng nhập trƣớc đƣợc trƣớc Tên ngƣời chơi lúc đăng nhập đƣợc hiển thị khung tên Xây dựng game Cờ tướng 1.5.4 Nhấc quân cờ đánh dấu vị trí đi: Khi ngƣời chơi nhấc quân lên để thực nƣớc, chƣơng trình hiển thị vị trí bàn cờ mà quân cờ đƣợc, quân cờ nhấc lên đƣợc đánh dấu Xây dựng game Cờ tướng 1.5.5 Kiểm tra chiếu tƣớng: Chƣơng trình kiểm tra chiếu tƣớng sau nƣớc đi, có chiếu tƣớng, chƣơng trình đƣa thơng báo cho hai ngƣời chơi Thông báo chiếu tƣớng hiển thị 2s tắt để ngƣời chơi tiếp tục ván cờ Xây dựng game Cờ tướng 1.5.6 Kiểm tra thắng thua: Ngƣời chơi: Chƣơng trình kiểm tra thắng sau nƣớc đi, ngƣời chơi ăn đƣợc tƣớng đối phƣơng thắng, chƣơng trình đƣa thơng báo thắng, ván cờ kết thúc Xây dựng game Cờ tướng Đối phƣơng: Chƣơng trình kiểm tra thắng nên khơi đối phƣơng thắng đồng thời chƣơng trình hiển thị thơng báo thua ngƣời chơi, ván cờ kết thúc Xây dựng game Cờ tướng 1.5.7 Chức xin thua Khi thấy cờ thua, ngƣời chơi nhấn nút xin thua, chƣơng trình đƣa thơng báo thua, ván cờ kết thúc Xây dựng game Cờ tướng 1.5.8 Chức cầu hòa: Khi đối phƣơng nhấp vào nút cầu hòa: Khi nhận thấy ván cờ vào hòa, ngƣời chơi nhấn nút cầu hịa để kết thúc ván cờ với kết hòa Khi nhấn nút, chƣơng trình hiển thị u cầu cầu hịa đến đối phƣơng Xây dựng game Cờ tướng Nếu ngƣời chơi chấp nhận: Nếu ngƣời chơi chấp nhận, ván cờ kết thúc với kết hịa, chƣơng trình hiển thị thơng báo hòa cho hai ngƣời chơi Nếu ngƣời chơi từ chối, ván cờ tiếp tục 1.6 Đánh giá nhận xét Chƣơng trình đƣợc xây dựng tƣơng đối hồn thiện, đáp ứng đầy đủ yêu cầu đồ án, chƣa thể phát triển thành trò chơi online hoàn thiện song đồ án giúp củng cố hoàn thiện kiến thức Xây dựng game Cờ tướng KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Các kết đạt đƣợc: Tìm hiểu kiến thức lập trình mạng, mơ hình Client – Server, lý thuyết trị chơi, kỹ thuật lập trình game2D Đề tài “Xây dựng game Cờ tƣớng” đƣợc hoàn thành yêu cầu thời gian quy định Chƣơng trình đƣợc xây dựng đủ chức game cờ tƣớng đánh qua mạng LAN đồng thời giúp ngƣời chơi luyện tập với chƣơng trình máy tính Các kết chƣa đạt đƣợc: Một số chức chƣa thật hoàn thiện, số trƣờng hợp đặc biệt chƣơng trình chƣa xử lý đƣợc Chƣa tạo đƣợc phòng cho ngƣời chơi lựa chọn Tốc độ tìm nƣớc chƣơng trình máy tính chƣa đƣợc tốt Hƣớng phát triển: Tối ƣu chƣơng trình máy tính đánh cờ Xây dựng phòng chơi, thêm số chức game nhƣ hỗn nƣớc, tính thời gian Phát triển thành game Online