TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT - HÀN KHOA CÔNG NGHỆ THÔNG TIN 

TÓM TẮT ĐỒ ÁN TỐT NGHIỆP

NGÀNH: CÔNG NGHỆ THÔNG TIN

Đề tài:

LẬP TRÌNH SOCKET VÀ ỨNG DỤNG

TRONG GAME CỜ CARO

SVTH : Nguyễn Duy Mạnh

Lớp : CCCT15B

Niên khóa : 2015 - 2018

CBHD : TS. Lê Tân

Đà Nẵng, tháng 06 năm 2018

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT - HÀN KHOA CÔNG NGHỆ THÔNG TIN 

TÓM TẮT ĐỒ ÁN TỐT NGHIỆP

NGÀNH: CÔNG NGHỆ THÔNG TIN

Đề tài:

LẬP TRÌNH SOCKET VÀ ỨNG DỤNG

TRONG GAME CỜ CARO

SVTH : Nguyễn Duy Mạnh

Lớp : CCCT15B

Niên khóa : 2015 - 2018

CBHD : TS. Lê Tân

Đà Nẵng, tháng 06 năm 2018

1

MỞ ĐẦU

1. Lý do chọn đề tài

Công nghệ thông tin hiện nay đã có những bước phát triển

mạnh mẽ và đạt được nhiều thành tựu. Trong các lĩnh vực công nghệ

thông tin, thì lập trình Game đã có một bước nhảy vọt đáng kể về cả

công nghệ lẫn nội dung. Ngày nay chiếc máy tính PC hay laptop đã

rất phổ biến gắn liền với học tập, công việc, và giải trí của con người,

những giờ phút căng thẳng sẽ được giải tỏa, hay cần cảm giác thú vị,

chúng ta đến với Game giải trí sẽ đáp ứng các yêu cầu đó.

Hiện nay, đã có nhiều công nghệ để tạo game trên máy tính và

ở chương trình này em đã chọn Visual Studio 2015 môi trường viết

với ngôn ngữ sử dụng là C# và lập trình Socket. Với các kiến thức đã

học trong trong trường và tìm hiểu thêm một số tài liệu liên quan em

xây dựng chương trình game này.

Chúng em xin chân thành cảm ơn thầy TS. Lê Tân đã chỉ bảo

tận tình để em có thể hoàn thành đồ án này. 2. Mục tiêu và nhiệm vụ nghiên cứu.

- Tìm hiểu về lập trình Socket

- Tìm hiểu về thuật toán Minimax

- Xây dựng ứng dụng trên nền tảng Visual Studio 2015

- Tìm hiểu những ứng dụng đã được phát triển trước kia để

học hỏi kinh nghiệm

- Có thể chọn được quân cờ, chọn nhạc và chat với đối thủ. 3. Đối tƣợng và phạm vi nguyên cứu.

Ứng dụng được xây dựng nhằm mục đích giải trí cao và giúp

mọi người thoải mái sau khi làm việc căng thẳng.

 Đối tượng phục vụ :

2

- Cá nhân, công ty ,……

- Sinh viên nghiên cứu ứng dụng trên Visual Studio 2015.

4. Phƣơng pháp nghiên cứu.

- Tiến hành thu thập và phân tích những thông tin, tài liệu liên

quan đến đề tài để hình thành nên những ý tưởng tổng quan của ứng

dụng

- Xác định các yêu cầu nhằm phân tích thiết kế hệ thống ứng

dụng cho phù hợp.

- Xây dựng chương trình theo những yêu cầu đã đặt ra.

- Triển khai chương trình và đánh giá kết quả đạt được. 5. Dự kiến kết quả.

- Tìm hiểu rõ được phương thức kết nối của Lập trình socket

và áp dụng vào ứng dụng

- Tìm hiểu phương thức hoạt động của thuật toán Minimax để

áp dụng vào ứng dụng

- Xây dựng được ứng dụng game cờ Caro.

6. Dự kiến nội dung đồ án.

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

Chương 2: Phân tích và thiết kế

Chương 3: Cài đặt và kết quả đạt được

3

CHƢƠNG I. CƠ SỞ LÝ THUYẾT

1.1. GIỚI THIỆU VỀ CỜ CARO

1.1.1. Lịch sử về cờ Caro

1.1.2. Luật chơi cờ Caro

1.2. TỔNG QUAN VỀ MẠNG MÁY TÍNH

1.2.1. Khái niệm về mạng máy tính

1.2.2. Các mô hình phân tầng mạng.

 Mô hình tham chiếu OSI. (Open System

Interconnection)

Hình 1.1. Mô hình tham chiếu OSI

 Mô hình TCP/IP

Hình 1.2. Mô hình TCP/IP

4

1.2.3. Các mô hình ứng dụng mạng

 Mô hình Client – Server

Hình 1.3. Mô hình client – server

Nguyên lý hoạt động

 Mô hình Server – Client

Hình 1.4. Nguyên lý hoạt động của mô hình client – server

5

Hình 1.5. Mô hình server- client

Nguyên lý hoạt động

Hình 1.6. Nguyên lý hoạt động của Server – Client với TCP/IP

Giao thức TCP/IP

Hình 1.7. Mô hình bắt tay ba bước

6

 Mô hình mạng ngang hàng

Hình 1.8. Mô hình mạng ngang hàng

1.3. KHÁI NIỆM SOCKET

Hình 1.9. Socket trong mô hình TCP/IP

1.4. SỰ PHÁT TRIỂN CỦA GAME CARO

Hình 1.10. Game trên PC

7

Hình 1.11. Game caro online

Hình 1.12. Game caro trên điện thoại di động

8

CHƢƠNG II. PHÂN TÍCH VÀ THIẾT KẾ

2.1. XÁC ĐỊNH CÁC USECASE

2.1.1. UseCase tổng quát

Hình 2.1. UseCase tổng quát của Game Caro

2.1.2. UseCase chế độ chơi “Ngƣời với Máy”

Hình 2.2. UseCase chế độ chơi Người với Máy

9

2.1.3. UseCase chế độ chơi “Ngƣời với Ngƣời”

Hình 2.3. UseCase chế độ chơi "Người với Người"

2.1.4. UseCase chế độ chơi “Kết nối với mạng LAN”

Hình 2.4. UseCase chế độ chơi "Kết nối với mạng LAN"

Hình 2.5. UseCase "Kết nối với mạng LAN" bàn cờ 9x9

10

Hình 2.6. UseCase "Kết nối với mạng LAN" bàn cờ 15x15

2.2. XÁC ĐỊNH CÁC SEQUENCE DIAGRAM

2.2.1. Chức năng chơi với máy

a. Người với người và Người với máy

Hình 2.7. Sequence Diagram chế độ Người với Người và Người với

Máy

11

b. Thoát

Hình 2.8. Sequence Diagram chức năng Thoát

Hình 2.9. Sequence Diagram chuyển chế độ chơi cách 1

12

c. Chuyển chế độ chơi

Hình 2.10. Sequence Diagram chuyển chế độ chơi cách 2

d. Chơi mới

Hình 2.11. Sequence Diagram chức năng Chơi mới

e. Kết thúc trò chơi

Hình 2.12. Sequence Diagram chức năng Kết thúc trò chơi

13

f. Xem thông tin

Hình 2.13. Sequence Diagram chức năng Xem thông tin

2.2.2. Chức năng chơi kết nối mạng LAN

a. Kết nối IP

Hình 2.14. Sequence Diagram Kết nối IP giửa 2 máy

14

b. Xem hướng dẫn

Hình 2.15. Sequence Diagram chức năng Xem hướng dẫn

c. Tạo bàn cờ mới

Hình 2.16. Sequence Diagram chức năng Tạo bàn cớ mới

15

d. Thoát

Hình 2.17. Sequence Diagram chức năng Thoát

2.3. SƠ ĐỒ LUỒNG XỬ LÝ

Chú thích: Vị trí hợp lệ là vị trí phải nằm trong tọa độ bàn cờ,

và vị trí đó phải là ô vuông trống.

16

2.3.1. Chế độ Ngƣời chơi với máy

17

2.3.2. Chế độ Ngƣời chơi với Ngƣời

18

CHƢƠNG III. CÀI ĐẶT VÀ KẾT QUẢ ĐẠT ĐƢỢC

3.1. THUẬT TOÁN MINIMAX

3.1.1. Khái niệm

Bước 1:

Hình 3.1. Bước 1 thuật toán MinMax

Bước 2:

Hình 3.2. Bước 2 thuật toán MinMax

Bước 3:

19

Hình 3.3. Bước 3 thuật toán MinMax Bước 4:

Hình 3.4. Bước 4 thuật toán MinMax 3.1.2. Ứng dụng thuật toán Min-Max trong game cờ Caro

3.2. KẾT QUẢ ĐẠT ĐƢỢC

Form Trang chủ

Hình 3.5. Form Trang chủ

20

Form Tạo phòng

Hình 3.6. Form Tạo Phòng

Form Tìm đối thủ

21

Hình 3.7. Form Tìm đối thủ

Form Bắt đầu chơi

Hình 3.8. Form Bắt đầu chơi

Form Ngƣời với ngƣời

Hình 3.9. Form Người với người

22

Form Ngƣời với máy

Hình 3.10. Form Người với máy

Form BiChessBoard ( bàn cờ 15x15 )

Hình 3.11. Form BigChessBoard

Form SchessBoard (Bàn cờ 9x9)

23

Hình 3.12. Form SChessBoard

KẾT LUẬN

1. Kết quả đạt đƣợc

Game phù hợp cho mọi lứa tuổi, dễ sử dụng, luật chơi quen

thuộc.

Đáp ứng các chế độ chơi cơ bản: Người với Người, Người với

Máy, Kết nối với mạng LAN, Chat giữa hai đối thủ, Chọn quân cờ,

Chọn nhạc.

2. Hạn chế

Các chức năng đã làm được còn những sự thiếu sót và chưa

hoàn thiện đến mức tối đa của game.

Giao diện quá đơn giản, thiếu sáng tạo.

3. Hƣớng phát triển

Xây dựng game cờ Caro với chế độ chơi với máy và hướng

cho máy tự học cách chơi của đối thủ. Và nâng cấp các chức năng

cho hoàn thiện hơn.

24

TÀI LIỆU THAM KHẢO [1]. http://www.howkteam.com/Course/Lap-trinh-game-

Caro-voi-C-Winform/

[2]. http://kingbazoka.blogspot.com/2012/06/thuat-toan-

minimax-trong-tro-choi.html

[3]. http://kenhsinhvien.vn/topic/lap-trinh-game-doi-khang-

va-cac-phuong-phap-tim-kiem.79483/ [4]. http://blog.myclass.vn/game-caro-c-co-xu-ly-ai-nang-

cao/

[5]. https://www.youtube.com/watch?v=hwr2bg57oCY&list

=PLJbBHp6iPUiFHWtjeDm-Upadn5lRzKFs8