XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG

30 707 7
XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ ĐỀ TÀI: XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG Sinh viên thực : NGUYỄN CẢNH THÔNG ĐỖ QUANG PHÁP Lớp : 17CE Giảng viên hướng dẫn : PHAN THỊ QUỲNH HƯƠNG Đà nẵng, tháng 12 năm 2019 Trang Trang ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ XÂY DỰNG GAME CỜ VUA CHƠI QUA MẠNG Đà Nẵng, tháng năm 2019 Trang MỞ ĐẦU Cờ vua, trước gọi cờ quốc tế, trò chơi quốc tế mơn thể thao trí tuệ cho người chơi Ngày nay, cờ vua trò chơi phổ biến với hàng triệu người nhà riêng, câu lạc bộ, trực tuyến, từ xa giải đấu Hình 1.1 Cờ vua Trang LỜI CẢM ƠN Em xin chân thành cám ơn cô Phan Thị Quỳnh Hương tận tâm hướng dẫn em qua buổi trao đổi Trong thời gian học tập thực hành hướng dẫn thầy, chúng em thu nhiều kiến thức bổ ích Nếu khơng có lời hướng dẫn, dạy bảo thầy em nghĩ đồ án chúng em khó hồn thành Xin gửi lời cảm ơn chân thành đến gia đình, bè bạn, nguồn động viên to lớn, giúp em vượt qua khó khăn suốt q trình học tập thực đồ án Mặc dù cố gắng hoàn thiện đồ án với tất nỗ lực, nhiên, bước đầu vào thực tế, tìm hiểu xây dựng đồ án thời gian có hạn, kiến thức cịn hạn chế, nhiều bỡ ngỡ, nên đồ án “Xây dựng game cờ vua chơi qua mạng” chắn tránh khỏi thiếu sót Em mong nhận quan tâm, thơng cảm đóng góp q báu thầy cô bạn để đồ án ngày hoàn thiện Một lần nữa, em xin chân thành cám ơn mong nhận đóng góp người Sau cùng, em xin kính chúc thầy Khoa Cơng nghệ thơng tin dồi sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho hệ mai sau Trang NHẬN XÉT (Của giảng viên hướng dẫn) ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ………………………………………… Trang Contents Chương Giới thiệu 1.1 Tổng quan 1.1.1 Mục tiêu chuyên đề .8 1.1.2 Đối tượng nghiên cứu 1.1.3 Phạm vi nghiên cứu .8 1.2 Phương pháp, kết 1.2.1 Phương pháp .8 1.2.2 Kết 1.3 Cấu trúc đồ án Chương Nghiên cứu tổng quan .10 2.1 Nghiên cứu Giao thức TCP/IP 10 2.1.1 Khái niệm 10 2.1.2 Tổng quan giao thức TCP/IP 10 2.2 Khái niệm Socket .11 2.3 Mơ hình Client – Server với giao thức TCP .12 2.4 Dạng trò chơi trò chơi 12 Chương Phân tích thiết kế hệ thống triển khai xây dựng 14 3.1 Mơ hình tổng quan hệ thống nghiên cứu 14 3.1.1 Sơ đồ tổng quát Server - Client 14 3.1.2 Các chức tổng quan trò chơi .15 3.1.3 Xử lý thuật toán 16 3.2 Triển khai viết chương trình .17 Chương Triển khai đánh giá kết 25 4.1 Kết thực chức 25 4.1.1 Giao diện trị chơi .25 4.1.2 Bàn cờ gameplay 26 4.1.3 Các client kết nối với 27 4.1.4 Kiểm tra thắng thua 27 4.2 Kết hoàn thành 28 4.3 Hạn chế 28 4.4 Hướng phát triển 28 Trang DANH MỤC HÌNH Hình 1.1 Cờ vua Hình 2.2 Quá trình bắt tay bước 11 Hình 2.3 Minh họa việc truyền liệu giao thức TCP 11 Hình 2.4 Các giao thức Socket 12 Hình 2.5 Các quân cờ 13 Hình 2.6 Cách xếp cờ 13 Hình 3.7: Sơ đồ tổng qt mơ hình server - client 14 Hình 3.8: Giao diện tổng quan trò chơi .15 Hình 3.9: Quy trình thuật tốn trò chơi 16 Hình 3.10: Hàm khởi tạo server 18 Hình 3.11: Client.java 19 Hình 3.12: Thiết lập bàn cờ 8x8 ô 21 Hình 3.13: Lần lượt thiết kế chức nước quân cờ 22 Hình 3.14: Hàm gọi quân cờ set kiện cho nút - quân cờ .23 Hình 3.15: Giao diện kết nối đến server .23 Hình 3.16: Giao diện hiển thị client kết nối server 24 Hình 3.17: Hàm kiểm tra hiển thị kết .25 Hình 4.18 Giao diện trang chủ 26 Hình 4.19 Bàn cờ gameplay 26 Hình 4.20 Hiển thị id hoạt động hành động .27 Hình 4.21 Chấp nhận lời mời .27 Hình 4.22 Hiển thị kết 28 Trang Chương Giới thiệu 1.1 Tổng quan 1.1.1 Mục tiêu chuyên đề - Hiểu nguyên lý hoạt động mơ hình Server – Client lập trình mạng - Hiểu kỹ thuật Socket Java Cách áp dụng để xây dựng ứng dụng - Tìm hiểu cách chương trình máy tính chơi trị chơi đấu trí cờ vua, cờ tướng,… Tìm hiểu trị chơi - Trình bày tổng quan lý thuyết TCP/IP - Trình bày toán nước quân cờ bàn cờ - Xây dựng chương trình demo game cờ vua chơi TCP/IP 1.1.2 Đối tượng nghiên cứu - Mơ hình tổng quan game cờ vua qua TCP/IP - Các thuật toán liên quan đến nước quân cờ - Ngôn ngữ Java 1.1.3 Phạm vi nghiên cứu - lập trình game cờ vua - Sản phẩm phần mềm demo nhận dạng chữ viết máy - Ứng dụng đề tài phục vụ cho học tập giải trí 1.2 Phương pháp, kết 1.2.1 Phương pháp * Phương pháp chủ đạo - Phương pháp nghiên cứu lý thuyết + Tìm hiểu tổng quan lý thuyết thuật toán di chuyển quân cờ bàn cờ + Tìm hiểu hướng tiếp cận giải toán liên qua đến nước quân cờ bàn cờ Trang + Tìm hiểu số phương pháp làm game java nhận gửi dử liệu tcp/ip - Phương pháp nghiên cứu thực nghiệm + Tiến hành phân tích cài đặt cơng cụ Eclipse Java 2019 + Đánh giá kết đạt * Phương pháp bổ trợ - Phương pháp hỏi ý kiến bạn bè, anh chị, thầy có kinh nhgiệm 1.2.2 Kết Tạo game cờ vua có chức chơi máy lúc qua TCP/IP 1.3 Cấu trúc đồ án Nội dung chuyên đề chia thành phần sau: Chương Tổng quan game cờ vua : Chương trình bày cách tổng quan mục tiêu, đối tượng phạm vi nghiên cứu, hướng tiếp cận để giải tốn nhận dạng kết dự tính Chương Phương pháp làm game cờ vua : Chương Phân tích thiết kế hệ thống triển khai xây dựng: giới thiệu mơ hình tổng quan triển khai xây dựng phần mềm Trọng tâm chương giới thiệu phần mềm demo nhận dạng chữ viết máy với giao diện đồ hoạ thân thiện với người sử dụng Chương Kết luận hướng phát triển: Phần tổng kết kết đạt đồ án với hướng phát triển tương lai Trang  Kết thúc chương trình Client  Tạo Socket kết nối đến Server  Lấy InputStream OutputStream để nhận gửi liệu với Server  Gửi nhận liệu với Server, sử dụng phương thức read() write() đối tượng InputStream OutputStream  Đóng Socket  Kết thúc chương trình 3.1.2 Các chức tổng quan trị chơi Hình 3.8: Giao diện tổng quan trị chơi - Game cờ vua cho phép người chơi với - Tạo socket cho phép kết nối nhiều user chơi mạng lan Trang 15 - Chat chơi game - Server kiểm soát hoạt động game client - Chơi với máy (AI) - Save game - Gợi ý nước 3.1.3 Xử lý thuật tốn Hình 3.9: Quy trình thuật tốn trị chơi Trang 16 - Chương trình cờ vua hai người bao gồm server client, Client muốn chơi phải đăng ký tới Server - Mỗi ván cờ bao gồm hai người chơi bàn cờ, client giao tiếp với thông qua Server - Server cờ vua đảm nhận việc giao tiếp client, server trả danh sách người dùng đăng ký chơi có yêu cầu người chọn chơi từ client - Khi người chơi bắt đầu chơi Server gửi bàn cờ cho client hiển thị Server chịu trách nhiệm truyền qua lại bàn thờ cho client bàn cờ cập nhật Chương trình bao gồm package chính: - Gamechess gồm lớp Boardchess.java (hiển thị bàn cờ), Crown.java (gọi hiển thị quân cờ bàn cờ), Client.java (file Client gửi liệu đến Server), PlayOnline.java( Khởi tạo chức chơi online client) Main.java để chạy chương trình - Piece bao gồm lớp chứa chức nước quân cờ bao gồm King, Queen, Knight, Rook, Bishop, Pawn - Server gồm lớp Server.java ServerThread nhằm khởi tạo server cho phép nhiều client truy cập vào server - AI bao gồm file AI cho phép người chơi chơi với máy 3.2 Triển khai viết chương trình Dựa vào sơ đồ thuật tốn trên, nhóm tiến hành viết code xây dựng ứng dụng Đầu tiên triển khai viết chương trình tạo server với IP lấy từ thiết bị cổng Port cấp sẵn Trang 17 Hình 3.10: Hàm khởi tạo server Server khởi tạo với địa IP cấp từ thiết bị cổng Port cấp sẵn từ trước Khởi tạo file client nhằm nhận liệu server gửi đến để gửi liệu đến server thơng qua phương thức InputStream OutputStream Trang 18 Hình 3.11: Client.java Trang 19 Khởi tạo hàm BoardChess.java để tạo bàn cờ 8x8 Trang 20 Hình 3.12: Thiết lập bàn cờ 8x8 ô Trang 21 Trong package piece ta khởi tạo hàm chứa chức quân cở với màu đen trắng: Hình 3.13: Lần lượt thiết kế chức nước quân cờ Trang 22 Tạo lớp Crown để gọi tất quân cờ lên bàn cờ Hình 3.14: Hàm gọi quân cờ set kiện cho nút - quân cờ Tạo giao diện kết nối lớp Connect.java nhằm mục đích kết nối đến server Hình 3.15: Giao diện kết nối đến server Trang 23 Khi người chơi ấn nút OK, chương trình gọi hàm Connect() để kết nối đến server với thông số địa IP để kết nối server, port Hàm Connect() có nhiệm vụ kết nối đến server thơng qua socket qua port định nghĩa gửi thông tin user lên server thông qua phương thức OutputStream Hàm có nhiệm vụ yêu cầu server gửi danh sách người kết nối cho client Tại lớp PlayOnline.java, tạo giao diện với chức hiển thị client kết nối vào server, với button CHALLENGE SURRENDER Hình 3.16: Giao diện hiển thị client kết nối server Trang 24 Hình 3.17: Hàm kiểm tra hiển thị kết Chương Triển khai đánh giá kết 4.1 Kết thực chức 4.1.1 Giao diện trị chơi Người chơi chọn chế độ chơi tùy ý Trang 25 Hình 4.18 Giao diện trang chủ 4.1.2 Bàn cờ gameplay Hình 4.19 Bàn cờ gameplay Trang 26 4.1.3 Các client kết nối với Hình 4.20 Hiển thị id hoạt động hành động Khi kết nối thành công, bảng console hiển thị trạng thái kết nối client Hình 4.21 Chấp nhận lời mời 4.1.4 Kiểm tra thắng thua Trò chơi kết thúc bên chịu thua nhấn vào nút SURRENDER Khi ấn vào, thông báo đưa người chơi trở lại giao diện Trang 27 Hình 4.22 Hiển thị kết 4.2 Kết hồn thành - Nhóm hồn thành Trị chơi cờ vua ngơn ngữ lập trình Java mơ hình Server – Client giao thức TCP/IP - Hoàn thành demo ứng dụng - Cho phép kết nối client đến server - Hiểu lý thuyết giao thức TCP/IP xây dựng chương trình Server – Client 4.3 Hạn chế Các mặt hạn chế tồn ứng dụng như: - Giao diện chưa thực tối ưu Tốc độc xử lý chưa cao Vẫn cịn tính - Khả kết nối chưa ổn định 4.4 Hướng phát triển - Cải thiện tốc xử lý game - Cải thiện giao diện đồ họa, hình ảnh game DANH MỤC TÀI LIỆU THAM KHẢO Trang 28 Tiếng Việt: Đồ án tốt nghiệp: Tìm hiểu Socket phương thức TCP(Nguồn Internet) Tiếng Anh: Wikipedia TCP/IP Trang 29

Ngày đăng: 28/09/2020, 22:05

Mục lục

    1.1.1 Mục tiêu của chuyên đề

    1.1.2 Đối tượng nghiên cứu

    1.1.3 Phạm vi nghiên cứu

    1.2 Phương pháp, kết quả

    1.3 Cấu trúc đồ án

    Chương 2 Nghiên cứu tổng quan

    2.1 Nghiên cứu Giao thức TCP/IP

    2.1.2 Tổng quan về giao thức TCP/IP

    2.3 Mô hình Client – Server với giao thức TCP

    2.4 Dạng trò chơi và cây trò chơi

Tài liệu cùng người dùng

Tài liệu liên quan