KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGĐỒ ÁN CƠ SỞ 1 ĐỀ TÀI: Trò chơi caro trực tuyến ứng dụng kỹthuật lập trình Socket

24 32 0
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGĐỒ ÁN CƠ SỞ 1 ĐỀ TÀI: Trò chơi caro trực tuyến ứng dụng kỹthuật lập trình Socket

Đ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: Trị chơi caro trực tuyến ứng dụng kỹ thuật lập trình Socket Sinh viên thực : TRẦN QUỐC NGUYÊN MSSV : 19IT181 Lớp : 19IT3 Sinh viên thực : PHẠM QUỐC VĂN MSSV : 19IT211 Lớp : 19IT3 Giảng viên hướng dẫn : TS HUỲNH NGỌC THỌ Đà Nẵng, ngày… tháng … năm … ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ Trò chơi caro trực tuyến ứng dụng kỹ thuật lập trình Socket Đà Nẵng, ngày… tháng … năm … MỞ ĐẦU Ngày với phát triển nhanh chóng cơng nghệ thơng tin Internet nên ứng dụng vào nhu cầu học tập làm việc lớn Internet trở thành thành phần thiếu với sống đại Về chất, Internet hệ thống mạng, liên kết máy tính tồn giới lại theo chuẩn chung Trong cơng ty trường học việc gửi nhận tập tin nội công ty hay trường học cần thiết để dễ dàng quản lý làm việc Là sinh viên công nghệ thông tin, với hiểu biết kiến thức tích lũy thời gian học trường tự học, nên nhóm em định chọn đề tài “ Xây dựng trò chơi cờ caro kỹ thuật lập trình socket” với hy vọng ứng dụng học để thiết kế trị chơi nhỏ, qua với mục tiêu sinh viên có kiến thức tốt lập trình ứng dụng mạng, phát triển ứng dụng TCP Trong trình học tập miệt mài nghiêng cứu chuyên mơn ngành, nhóm chúng em tiếp thu số kiến thức hữu ích cho thân, nhằm đánh giá kết đạt trình học tập, nhóm chúng em hồn thành báo cáo môn học LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn chân thành tới thầy cô Khoa CNTT-TT, đặc biệt thầy Huỳnh Ngọc Thọ hướng dẫn, bảo tận tình suốt thời gian nhóm chúng em thực đề tài Về hình thức trình bày nội dung báo cáo cịn nhiều hạn chế trình độ mặt thời gian nên để tài khơng tránh khỏi sai sót Nhóm em mong nhận bảo góp ý thầy bạn để giúp chúng em hồn thiện kỹ lập trình bổ sung vào lỗ hỏng kiến thức cho hình thức nội dung báo cáo đầy đủ sau áp dụng cho lần thực sau tốt NHẬN XÉT (Của giảng viên hướng dẫn) …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ……………………………………………………… MỤC LỤC Trang MỞ ĐẦU Chương Giới thiệu đề tài 1.1 Lý 1.2 Mục tiêu, kết Chương Cơ sở lý thuyết 2.1 Giới thiệu trò chơi cờ caro 2.1.1 Lịch sử nguồn gốc 2.1.2 Luật chơi cờ caro 2.2 Tổng quan mạng máy tính 2.2.1 Khái niệm mạng máy tính 2.2.2 Mơ hình Client-Server 2.3 Giới thiệu giao thức TCP/IP .4 2.3.1 Giới thiệu TCP 2.3.2 Giới thiệu IP .4 2.3.3 Giới thiệu Socket Chương Nghiên cứu tổng quan 3.1 Mơ hình tổng quan hệ thống nghiên cứu 3.2 Thiết kế chi tiết .5 3.2.1 Trên Server .5 3.2.2 Trên Client .5 Chương Triển khai xây dựng 4.1 Môi trường triển khai 4.2 Kết thực 4.3 Chương trình 4.3.1 Cấu trúc chương trình 4.3.2 Trên Client .9 4.3.3 Chương trình máy Client 13 Chương Kết luận Hướng phát triển 18 5.1 Ưu điểm 18 5.2 Khuyết điểm 18 5.3 Hướng phát triển 18 Chương Giới thiệu đề tài 1.1 Lý chọn đề tài Ngày nhu cầu đời sống người ngày nâng cao, nhu cầu giải trí người quan tâm đến nhiều Trong việc giải trí Game máy tính ngày phát triển nhanh lan rộng lơi mạnh mẽ Hầu sử dụng máy tính giải trí số game máy tính Có thể nói Game thể loại phong phú tất loại chương trình máy tính nhóm chúng em chọn đề tài “game caro online” *Thứ giúp cho người chơi giải trí *Thứ hai, q trình học tập nhóm chúng em tận tình bảo thầy Huỳnh Ngọc Thọ, truyền đạt cho nhóm chúng em kiến thức hữu ích để nhóm chúng em hồn thành báo cáo tốt *Thứ ba, việc viết game ngơn ngữ Java cung cấp cho nhóm chúng em có khả tiếp cận, tìm hiểu ngơn ngữ mới, nâng cao kinh nghiệm lập trình để sau tham gia vào dự án lớn 1.2 Mục tiêu, kết -Giúp cho người chơi giải trí -Xây dựng chương trình game caro chơi mạng, chơi nhiều cặp với Chương Cơ sở lý thuyết 2.1 Giới thiệu trò chơi cờ caro 2.1.1 Lịch sử nguồn gốc Cờ caro mơn cờ logic lâu đời cổ xưa Trái Đất Cờ caro sáng tạo từ nhiều văn minh khác cách độc lập Nó bắt đầu xuất từ năm 2000 trước CN sơng Hồng Hà, Trung Quốc Một số nhà khoa học tìm thấy chứng chứng minh Caro phát minh Hy lạp cổ đại Châu Mỹ trước thời Colombo Cờ Caro thuộc thể loại trị chơi bàn cờ, thi đấu trí tuệ hai người 2.1.2 Luật chơi cờ caro Cờ Caro thời kì có luật chơi khác có luật sau : * Quân cờ sử dụng X O * Hai người luân phiên nhau, lần lượt không trùng với ô có quân cờ * Mỗi bên xác định thắng tạo thành hàng dọc, ngang chéo qn cờ * Trị chơi kết thúc có bên thắng khơng cịn bàn cờ 2.2 Tổng quan mạng máy tính 2.2.1 Khái niệm mạng máy tính Mạng máy tính hệ thống gồm nhiều máy tính thiết bị kết nối với đường truyền vật lý theo kiến trúc (Network Architecture) nhằm thu thập, trao đổi liệu chia tài nguyên cho nhiều người sử dụng Các máy tính kết nối với phòng, tòa nhà, thành phố phạm vi tồn cầu Mạng máy tính bao gồm ba thành phần chính: - Các máy tính; - Các thiết bị mạng đảm bảo kết nối máy tính với nhau; - Phần mềm cho phép thực việc trao đổi thơng tin máy tính Hệ thống mạng máy tính 2.2.2 Mơ hình Client-Server Server hiểu máy chủ, thường hệ thống máy lớn, có xử lý mạnh, có khả hoạt động đáng tin cậy, có khả lưu trữ liệu lớn, chuyên quản lý tài nguyên (chủ yếu sở liệu), cung cấp dịch vụ mạng cho máy khách (client) sử dụng Bình thường chạy suốt thời gian thực sẵn sàng chấp nhận yêu cầu kết nối yêu cầu dịch vụ khác từ máy khách Client máy khách, thường sử dụng người dùng cuối Nó hoạt động dựa việc sử dụng dịch vụ mà máy server cung cấp để thực công việc mà người dùng cuối mong muốn Quy trình hoạt động mơ hình lặp lại trình sau : - Client gửi yêu cầu lên Server - Server nhận u cầu sẻ xử lý thích hợp trả lời lại Client Mơ hình Client/Server 2.3 Giới thiệu giao thức TCP/IP 2.3.1 Giới thiệu TCP Giao thức TCP (Transmission Control Protocol) giao thức hướng kết nối (connection-oriented), địi hỏi thiết lập kết nối trước bắt đầu gửi liệu kết thúc kết nối việc gửi liệu hoàn tất theo thứ tự: thiết lập kết nối, truyền liệu kết thúc kết nối 2.3.2 Giới thiệu IP IP địa máy tính mạng, dựa vào địa IP giao thức TCP truyền liệu xác từ máy qua máy thông qua hệ thống mạng Ở mạng, máy tính sẻ có địa IP khác nhau, từ địa IP biết máy mạng ngược lại 2.3.3 Giới thiệu Socket - Socket khái niệm để định vị dịch vụ máy tính mạng kết hợp hai khái niệm IP Port lại - Socket có nhiệm vụ sau :  Gắn cổng máy  Lắng nghe kết  Kết nối/Đóng kết nối đến máy tính xa qua cổng gắn  Gửi/nhận liệu  Lắng nghe liệu đến Thực chất, Socket chẳng qua kết hợp địa IP máy tính cổng Port mà ứng dụng sử dụng Chính kết hợp mà trở thành khái niệm mà từ đó, ngơn ngữ lập trình có chứa gói, giao diện lập trình (API) để hỗ trợ nhà lập trình dễ dàng việc lâp trình liên quan đến mạng qua giao thức TCP Điển hình ngôn ngữ Java mà em sẻ giới thiệu sau Chương Phân tích thiết kế hệ thống 3.1 Mơ hình tổng quan hệ thống nghiên cứu Viết chương trình game caro cho phép người chơi với qua mạng 3.2 Thiết kế chi tiết 3.2.1 Trên Server  Tạo cổng kết nối sẵn sàng đón nhận kết nối từ Client  Tạo bàn cờ Caro, hiển thị ô đánh nhận đánh từ Client hiển thi lên bàn Cờ  Kiểm tra bàn Cờ xem thắng thua thơng báo kết  Tạo đồng hồ đếm ngược kiểm soát thời gian suy nghĩ ván Cờ, hết thời gian suy nghĩ tự động thua  Lưu lại lịch sử đấu bao gồm: tên người chơi, người thắng tổng số Ô cờ đánh sau ván đấu  Nhận tin nhắn từ Client hiển thị tin nhắn gửi trả lạ tin nhắn cho Client  Khởi tạo Webcam gửi hình ảnh trực tiếp qua cho Client 3.2.2 Trên Client  Kết nối tới Server  Tạo bàn cờ Caro, hiển thị ô đánh nhận ô đánh từ Server hiển thi lên bàn Cờ  Kiểm tra bàn Cờ xem thắng thua thông báo kết  Tạo đồng hồ đếm ngược kiểm soát thời gian suy nghĩ ván Cờ, hết thời gian suy nghĩ tự động thua  Nhận tin nhắn từ Server hiển thị tin nhắn gửi trả lạ tin nhắn cho Server  Khởi tạo Webcam gửi hình ảnh trực tiếp qua cho Server Chương Triển khai xây dựng 4.1 Môi trường triển khai - Hệ điều hành: Microsoft Windows 10 Home - IDE: Eclipse 4.2 Kết thực - Về bản, chương trình thực chức tạo kết nối, đánh qua lại người chơi, xử lí thắng thua, lưu lại lịch sử ván đấu, chat qua lại người chơi, call Video trực tiếp người chơi - Với phạm vi nhỏ đề tài, chưa thực số chức mà triển khai như: gửi icon, gửi tin nhắn có định dạng,… giống phần mêm Caro có Internet - Các thao tác giao diện chưa thực tiện lợi, Việc thử nghiệm dừng lại máy mạng LAN (Giữa máy thật máy ảo) máy cục (Sử dụng địa localhost) Một số hình ảnh minh họa Hình 1: Giao diện khởi động Server Hình 2: Giao diện khởi động Client Hình 3: Giao diện bên Server Hình 4: Giao diện bên Client Hình 5: Giao diện lịch sử đấu 4.3 Chương trình 4.3.1 Cấu trúc chương trình 4.3.2 Chương trình máy Server  File: caroServer.java Hình 1: Thư viện Hình 2: Xử lý kiện nhập tên Server Hình 3: Xử lý kiện tạo game Hình 4: Xử lý kiện cho nút chương trình Hình 5: Tạo bàn cờ Hình 6: Tạo kết nối 10 Hình 7: Xử lí u cầu Client gửi tới Hình 8: Tạo nút gửi tin nhắn 11 Hình 9: Hiển thị Ơ đánh Hình 10: Lưu lại lịch sử Hình 11: Webcam 12  File: bdImgServer.java Hình 12: Tạo hiệu ứng viền 4.3.3 Chương trình máy Client  File: caroClient.java Hình 1: Thư viện 13 Hình 2: Xử lý nhập tên Hình 3: Xử lý nút tạo game Hình 4: Xử lý nút chương trình 14 Hình 5: Tạo bàn cờ Hình 6: Tạo kết nối Hình 7: Xử lý yêu cầu Server gửi tới 15 Hình 8: Xử lý kiện nút gửi tin nhắn Hình 9: Hiển thị đánh 16 Hình 10: Xử lý thua Hình 11: Webcam  File: bdImgClient.java Hình 12: Tạo hiệu ứng viền 17 Chương Kết luận Hướng phát triển 5.1 Ưu điểm - Xây dựng chức chương trình game: hệ thống chat, call video, lịch sử đấu - Cho phép nhiều cặp chơi đánh lúc với - Có thể cho cặp chơi chat, gặp mặt, nói chuyện với 5.2 Khuyết điểm - Giao diện chưa thực bắt mắt - Chưa tối ưu kích cỡ bàn cờ - Trao đỗi client server chưa tốt - Chưa kiểm soát hết lỗi tối ưu hóa chức 5.3 Hướng phát triển - Cần bổ sung thêm nhiều chức để chương trình game trở nên hồn chỉnh - Tìm hiểu hồn thiện số chức chương trình game chưa thực - Tìm hiểu thêm ngơn ngữ Java lập trình mạng - Mở rộng đưa chương trình vào thực tế 18 ... NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG ĐỒ ÁN CƠ SỞ Trị chơi caro trực tuyến ứng dụng kỹ thuật lập trình Socket Đà Nẵng, ngày… tháng … năm … MỞ ĐẦU Ngày với phát triển nhanh chóng cơng nghệ. .. đề tài 1. 1 Lý 1. 2 Mục tiêu, kết Chương Cơ sở lý thuyết 2 .1 Giới thiệu trò chơi cờ caro 2 .1. 1 Lịch sử nguồn gốc 2 .1. 2 Luật chơi cờ caro. .. nghiệm lập trình để sau tham gia vào dự án lớn 1. 2 Mục tiêu, kết -Giúp cho người chơi giải trí -Xây dựng chương trình game caro chơi mạng, chơi nhiều cặp với Chương Cơ sở lý thuyết 2 .1 Giới thiệu trò

Ngày đăng: 20/04/2021, 22:27

Từ khóa liên quan

Mục lục

  • Chương 1 Giới thiệu đề tài

    • 1.1 Lý do chọn đề tài

    • 1.2 Mục tiêu, kết quả

    • Chương 2 Cơ sở lý thuyết

      • 2.1 Giới thiệu trò chơi cờ caro

        • 2.1.1 Lịch sử nguồn gốc

        • 2.1.2 Luật chơi cờ caro

        • 2.2 Tổng quan về mạng máy tính

          • 2.2.1 Khái niệm mạng máy tính

          • 2.2.2 Mô hình Client-Server

          • 2.3 Giới thiệu về giao thức TCP/IP

            • 2.3.1 Giới thiệu TCP

            • 2.3.2 Giới thiệu IP

            • 2.3.3 Giới thiệu Socket

            • Chương 3 Phân tích thiết kế hệ thống

              • 3.1 Mô hình tổng quan của hệ thống nghiên cứu

                • Viết 1 chương trình game caro cho phép 2 người có thể chơi với nhau qua mạng.

                • 3.2 Thiết kế chi tiết

                  • 3.2.1 Trên Server

                  • 3.2.2 Trên Client

                  • Chương 4 Triển khai xây dựng

                    • 4.1 Môi trường triển khai

                    • 4.2 Kết quả thực hiện

                    • 4.3 Chương trình

                      • 4.3.1 Cấu trúc của chương trình

                      • 4.3.2 Chương trình trên máy Server

                      • 4.3.3 Chương trình trên máy Client

                      • Chương 5 Kết luận và Hướng phát triển

                        • 5.1 Ưu điểm

                        • 5.2 Khuyết điểm

                        • 5.3 Hướng phát triển

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

Tài liệu liên quan