1. Trang chủ
  2. » Thể loại khác

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

Đ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

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 1,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Về bản chất, Internet là một hệ thống mạng, liên kết các máy tính trên toàn thế giới lại theo những chuẩn chung của nó.. Là một sinh viên công nghệ thông tin, thì với sự hiểu biết và kiế

Trang 1

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN CƠ SỞ 1

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 …

Trang 3

MỞ ĐẦU

Ngày nay với sự phát triển nhanh chóng của công nghệ thông tin vàInternet nên ứng dụng của nó vào nhu cầu học tập và làm việc là rất lớn.Internet đã trở thành một thành phần không thể thiếu với cuộc sống hiện đại

Về bản chất, Internet là một hệ thống mạng, liên kết các máy tính trên toàn thế giới lại theo những chuẩn chung của nó Trong các công ty cũng như trongtrường học thì việc gửi nhận các tập tin trong nội bộ công ty hay trường học làrất cần thiết để có thể dễ dàng quản lý và làm việc

Là một sinh viên công nghệ thông tin, thì với sự hiểu biết và kiến thứctích lũy được của mình trong thời gian học ở trường cũng như là tự học, nên nhóm em quyết định chọn đề tài “ Xây dựng trò chơi cờ caro bằng kỹ thuật lập trình socket” với hy vọng sẽ ứng dụng những gì đã học để thiết kế một trò chơi nhỏ, qua đó với mục tiêu để cho các sinh viên có một kiến thức tốt về lậptrình ứng dụng mạng, phát triển ứng dụng TCP

Trong quá trình học tập và miệt mài nghiêng cứu về chuyên môn của ngành, nhóm chúng em đã tiếp thu được một số kiến thức hữu ích cho bản thân, nhằm đánh giá kết quả đã đạt được trong quá trình học tập, nhóm chúng

em đã hoàn thành bài báo cáo của môn học này

Trang 4

LỜI CẢM ƠN

Chúng em xin gửi lời cảm ơn chân thành tới các thầy cô trong Khoa CNTT-TT,đặc biệt là thầy Huỳnh Ngọc Thọ đã hướng dẫn, chỉ bảo tận tình trong suốt thời giannhóm chúng em thực hiện đề tài này

Về hình thức trình bày và nội dung của bài báo cáo do còn nhiều hạn chế vềtrình độ cũng như mặt thời gian nên để tài này sẽ không tránh khỏi sai sót Nhóm emrất mong nhận được sự chỉ bảo góp ý của các thầy cô và các bạn để giúp chúng emhoàn thiện được kỹ năng lập trình cũng như bổ sung vào lỗ hỏng kiến thức cho hìnhthức và nội dung của bài báo cáo được đầy đủ hơn và sau đó là áp dụng cho những lầnthực hiện sau được tốt hơn

Trang 5

NHẬN XÉT (Của giảng viên hướng dẫn)

………

………

………

………

………

………

Trang 6

MỤC LỤC Trang MỞ ĐẦU

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

1.1 Lý do 1

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

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

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

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

2.1.2 Luật chơi cờ caro 2

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

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

2.2.2 Mô hình Client-Server 3

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

2.3.1 Giới thiệu TCP 4

2.3.2 Giới thiệu IP 4

2.3.3 Giới thiệu Socket 4

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

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

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 4 Triển khai xây dựng 5

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

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

4.3 Chương trình 8

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

4.3.2 Trên Client 9

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

Chương 5 Kết luận và 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

Trang 7

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

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

Ngày nay do nhu cầu đời sống của con người ngày càng được nângcao, trong đó nhu cầu giải trí của con người được quan tâm đến rấtnhiều Trong đó việc giải trí bằng Game máy tính ngày càng pháttriển nhanh và lan rộng ra do sự lôi cuốn rất mạnh mẽ của nó Hầunhư ai đã sử dụng máy tính đều đã giải trí bằng một số game nào đótrên máy tính Có thể nói Game là một thể loại phong phú nhất trongtất cả các loại chương trình trên máy tính cho nên nhóm chúng emchọn đề tài “game caro online”

*Thứ nhất là giúp cho người chơi giải trí

*Thứ hai, trong quá trình học tập nhóm chúng em được sự tận tìnhchỉ bảo của thầy Huỳnh Ngọc Thọ, đã truyền đạt cho nhóm chúng

em những kiến thức hữu ích để nhóm chúng em được hoàn thành báocáo tốt hơn

*Thứ ba, việc viết game bằng ngôn ngữ Java cung cấp cho nhómchúng em có khả năng tiếp cận, tìm hiểu ngôn ngữ mới, nâng caokinh nghiệm lập trình để sau này có thể tham gia vào các dự án lớnhơn

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

-Giúp cho người chơi có thể giải trí

-Xây dựng được một chương trình game caro có thể chơi trên mạng,

có thể chơi nhiều cặp với nhau

Trang 8

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

Cờ caro chính là môn cờ logic lâu đời và cổ xưa nhất trên Trái Đất

Cờ caro đã được sáng tạo từ nhiều nền văn minh khác nhau một cáchđộc lập Nó bắt đầu xuất hiện từ năm 2000 trước CN ở sông Hoàng

Hà, Trung Quốc Một số nhà khoa học đã tìm thấy bằng chứng chứngminh Caro đã được phát minh ở Hy lạp cổ đại và ở Châu Mỹ trướcthời Colombo Cờ Caro thuộc thể loại trò chơi bàn cờ, thi đấu trí tuệgiữa hai người

2.1.2 Luật chơi cờ caro

Cờ Caro tại mỗi thời kì có những luật chơi khác nhau nhưng về cơbản thì có các luật như sau :

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

Mạng máy tính là một hệ thống gồm nhiều máy tính và các thiết bị được kết nối với nhau bởi đường truyền vật lý theo một kiến trúc (Network Architecture) nào đó nhằm thu thập, trao đổi dữ liệu và chia sẽ tài nguyên cho nhiều người sử dụng Các máy tính được kết nối với nhau có thể trong cùng một phòng, một tòa nhà, một thành phố hoặc trên phạm vi toà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 các máy tính với nhau;

- Phần mềm cho phép thực hiện việc trao đổi thông tin giữa các máy tính.

2

Trang 9

Hệ thống mạng máy tính

2.2.2 Mô hình Client-Server

Server được hiểu là máy chủ, thường là một hệ thống máy lớn, có

bộ xử lý mạnh, có khả năng hoạt động đáng tin cậy, có khả năng lưutrữ dữ liệu lớn, nó chuyên quản lý tài nguyên (chủ yếu là cơ sở dữliệu), cung cấp các dịch vụ mạng cho các máy khách (client) sửdụng Bình thường nó chạy suốt thời gian thực và sẵn sàng chấpnhận các yêu cầu kết nối và các yêu cầu dịch vụ khác từ máy khách.Client là máy khách, nó thường được sử dụng bởi người dùng cuối

Nó hoạt động dựa trên việc sử dụng dịch vụ mà máy server cung cấp

để thực hiện các công việc mà người dùng cuối mong muốn

Quy trình hoạt động của mô hình này lặp lại 2 quá trình như sau :

- Client gửi yêu cầu lên Server

- Server nhận được yêu cầu thì sẻ xử lý thích hợp và trả lời lạiClient

Mô hình Client/Server

Trang 10

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

2.3.1 Giới thiệu TCP

Giao thức TCP (Transmission Control Protocol) là giao thức hướngkết nối (connection-oriented), nó đòi hỏi thiết lập kết nối trước khibắt đầu gửi dữ liệu và kết thúc kết nối khi việc gửi dữ liệu hoàn tấttheo đúng thứ tự: thiết lập kết nối, truyền dữ liệu và kết thúc kết nối

2.3.2 Giới thiệu IP

IP là địa chỉ của một máy tính trên mạng, dựa vào địa chỉ IP giaothức TCP có thể truyền dữ liệu chính xác từ một máy này qua máy kiathông qua hệ thống mạng Ở trên mạng, một máy tính sẻ có một địa chỉ IPkhác nhau, từ địa chỉ IP có thể biết được máy nào trên mạng và ngược lại

2.3.3 Giới thiệu Socket

- Socket là một khái niệm để định vị một dịch vụ của một máy tínhtrên mạng khi kết hợp hai khái niệm IP và Port lại

- Socket có những nhiệm vụ như sau :

mà em sẻ giới thiệu ngay sau đây

4

Trang 11

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

 Tạo cổng kết nối và sẵn sàng đón nhận các sự kết nối từ Client

 Tạo bàn cờ Caro, hiển thị ô đánh của mình và nhận ô đánh từClient và hiển thi lên bàn Cờ

 Kiểm tra trên bàn Cờ xem mình đã thắng hay là thua và thôngbáo kết quả

 Tạo 1 đồng hồ đếm ngược kiểm soát thời gian suy nghĩ trong 1ván Cờ, nếu hết thời gian suy nghĩ sẽ tự động thua

 Lưu lại lịch sử đấu bao gồm: tên 2 người chơi, người thắng vàtổng số Ô cờ đã đánh sau mỗi ván đấu

 Nhận tin nhắn từ Client hiển thị tin nhắn và gửi trả lạ tin nhắncho Client

 Khởi tạo Webcam và 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 của mình và nhận ô đánh từServer và hiển thi lên bàn Cờ

 Kiểm tra trên bàn Cờ xem mình đã thắng hay là thua và thôngbáo kết quả

 Tạo 1 đồng hồ đếm ngược kiểm soát thời gian suy nghĩ trong 1ván Cờ, nếu hết thời gian suy nghĩ sẽ tự động thua

 Nhận tin nhắn từ Server hiển thị tin nhắn và gửi trả lạ tin nhắncho Server

 Khởi tạo Webcam và gửi hình ảnh trực tiếp qua cho Server

Chương 4 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 quả thực hiện

- Về cơ bản, chương trình thực hiện được các chức năng là tạo kếtnối, đánh qua lại giữa 2 người chơi, xử lí thắng thua, lưu lại lịch sử

Trang 12

của ván đấu, chat qua lại giữa 2 người chơi, call Video trực tiếp giữa

2 người chơi

- Với phạm vi nhỏ của đề tài, chưa thực hiện một số chức năng mà cóthể triển khai được như: gửi các icon, gửi tin nhắn có định dạng,…giống như các phần mêm Caro hiện đang có trên Internet

- Các thao tác trên giao diện cũng chưa thực sự tiện lợi, Việc thửnghiệm chỉ mới dừng lại trên máy ở mạng LAN (Giữa máy thật vàmáy ảo) và trên máy cục bộ (Sử dụng địa chỉ 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 khi khởi động Client

6

Trang 13

Hình 3: Giao diện chính bên Server

Hình 4: Giao diện chính bên Client

Trang 14

Hình 5: Giao diện lịch sử đấu4.3 Chương trình

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

8

Trang 15

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

 File: caroServer.java

Hình 1: Thư viện

Hình 2: Xử lý sự kiện nhập tên Server

Hình 3: Xử lý sự kiện tạo game mới

Trang 16

Hình 4: Xử lý sự kiện cho nút thoát chương trình

Hình 5: Tạo bàn cờ

Hình 6: Tạo các kết nối

10

Trang 17

Hình 7: Xử lí các yêu cầu Client gửi tới

Hình 8: Tạo nút gửi tin nhắn

Trang 18

Hình 9: Hiển thị Ô đánh

Hình 10: Lưu lại lịch sử

Hình 11: Webcam

12

Trang 19

 File: bdImgServer.java

Hình 12: Tạo hiệu ứng viền

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

 File: caroClient.java

Hình 1: Thư viện

Trang 20

Hình 2: Xử lý nhập tên

Hình 3: Xử lý nút tạo game mới

Hình 4: Xử lý nút thoát chương trình

14

Trang 21

Hình 5: Tạo bàn cờ

Hình 6: Tạo các kết nối

Hình 7: Xử lý các yêu cầu Server gửi tới

Trang 22

Hình 8: Xử lý sự kiện nút gửi tin nhắn

Hình 9: Hiển thị ô đánh

16

Trang 23

Hình 10: Xử lý thua

Hình 11: Webcam

 File: bdImgClient.java

Trang 24

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

5.1 Ưu điểm

- Xây dựng được các chức năng của một 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 cùng lúc với nhau

- Có thể cho từng cặp chơi chat, gặp mặt, nói chuyện với nhau

5.2 Khuyết điểm

- Giao diện vẫn chưa thực sự bắt mắt

- Chưa tối ưu kích cỡ của bàn cờ

- Trao đỗi giữa client và server chưa được tốt

- Chưa kiểm soát được hết lỗi cũng như tối ưu hóa các chức năng

- Tìm hiểu thêm về ngôn ngữ Java cũng như lập trình mạng

- Mở rộng và đưa chương trình vào thực tế

18

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w