Professional Documents
Culture Documents
DoAn3 HuaVanHuuChi
DoAn3 HuaVanHuuChi
Đồ án CNTT 3
Đề tài
LẬP TRÌNH GAME CARO BẰNG C#
Môn lập trình dotnet là môn học thú vị, vô cùng bổ ích và có tính thực tế cao.
Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên khi
làm phần mềm. Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp
thu thực tế còn nhiều bỡ ngỡ. Mặc dù em đã cố gắng hết sức nhưng chắc chắn bài
báo cáo khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác,
kính mong cô xem xét và góp ý để bài báo có của em được hoàn thiện hơn.
Contents
CHƯƠNG 1: TỔNG QUAN....................................................................................................................1
I. TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU............................................................................1
1.1.1 Game trí tuệ là gì?.....................................................................................................................1
1.1.2 Game Caro là gì?.......................................................................................................................2
II. LÝ DO CHỌN ĐỀ TÀI..................................................................................................................2
III. MỤC TIÊU NGHIÊN CỨU..........................................................................................................3
IV. ĐỐI TƯỢNG VÀ KHÁCH THỂ NGHIÊN CỨU.......................................................................3
V. PHƯƠNG TIỆN NGHIÊN CỨU...................................................................................................4
CHƯƠNG 2: NHỮNG CƠ SỞ LÝ LUẬN CỦA ĐỀ TÀI NGHIÊN CỨU...........................................5
I. TỔNG QUAN VỀ MICROSOFT VISUAL STUDIO....................................................................5
1.1.1 Lập trình mạng với SocKet:......................................................................................................5
1.1.2 Namespace System/Net và System.Net.Sockets:.......................................................................6
1.1.3 Giao thức UDP..........................................................................................................................7
1.1.4 RegularExpressions:...............................................................................................................8
1.1.5 Đồ họa trong C#......................................................................................................................9
CHƯƠNG 3: GIỚI THIỆU CHƯƠNG TRÌNH..................................................................................10
I. Giới thiệu chương trình:................................................................................................................10
1. Sơ đồ kết nối...............................................................................................................................10
2. Giao diện và chức năng của chương trình:..............................................................................11
CHƯƠNG 4: TỔNG KẾT.....................................................................................................................13
I. Kết quả đạt được............................................................................................................................13
II. Ưu điểm, nhược điểm của chương trình:....................................................................................13
1. Ưu điểm:.....................................................................................................................................13
2. Nhược điểm:...............................................................................................................................13
III. Hướng phát triển:........................................................................................................................13
TÓM TẮT
Chơi cờ Caro một game trí tuệ trực tuyến đã rất quen thuộc với mỗi chúng
ta. Với lối chơi đơn giản nhưng yếu tố trí tuệ lại rất cao nên Chơi Cờ Caro được
rất nhiều người yêu thích đặc biệt là các bạn học sinh, sinh viên và dân văn phòng.
Game Chơi cờ Caro không chỉ mang tính chất giải trí đơn thuần mà là một cuộc
đấu trí vô cùng gay cấn. Cùng tham gia game Chơi cờ Caro và đánh bại các đối
Hiệu quả của các trò chơi rèn luyện trí não đang được tranh luận
trong cộng đồng khoa học, với một số nghiên cứu cho thấy chúng có thể dẫn đến
cải thiện hiệu suất nhận thức và các nghiên cứu khác cho thấy những trò chơi này
không dẫn đến cải thiện đáng kể, đặc biệt là so với trò chơi điện tử. Hơn
nữa, nghiên cứu về chủ đề này cho thấy rằng, trong nhiều trường hợp, các trò chơi
rèn luyện trí nhớ có thể giúp bạn cải thiện chủ yếu ở các nhiệm vụ nhận thức có
liên quan mật thiết đến các nhiệm vụ trong trò chơi, nhưng những tác động này
hiếm khi mở rộng sang các nhiệm vụ khác.
Nhìn chung, mặc dù còn tranh cãi về hiệu quả của game trí tuệ, nhưng
nghiên cứu cho thấy rằng những trò chơi này có thể giúp mọi người cải thiện một
số kỹ năng nhận thức của họ, ở một mức độ nào đó và trong một số tình huống.
Do đó, nếu bạn thích chơi các trò chơi rèn luyện trí não và cảm thấy
như chúng đang giúp bạn cải thiện kỹ năng nhận thức, đặc biệt là khi liên quan
đến các nhiệm vụ ngoài những nhiệm vụ trong trò chơi, thì bạn cũng có thể chơi
chúng. Bạn chỉ cần đảm bảo giữ cho kỳ vọng của mình thực tế khi nói đến lợi ích
nhận thức mà các trò chơi này mang lại, đặc biệt là vì các công ty quảng cáo các
trò chơi này đôi khi có thể tăng cường sản phẩm của họ, nhằm cố gắng làm cho
chúng có vẻ hiệu quả hơn chúng.
1
1.1.2 Game Caro là gì?
- Là một loại game đối kháng gồm có hai người chơi trên một màn
hình (hoặc một tờ giấy) có kẻ các ô vuông đều nhau và người chơi đánh các ký tự
O---X (tùy quy định từng người) vào đó.
- Luật chơi game: Trò chơi gồm hai người, lần lượt mỗi bên đánh dấu
O-X. Nếu mỗi bên đạt được năm dấu chung hàng (có thể là hàng ngang, hàng dọc,
hàng chéo) thì thắng.Ngược lại thì thua, trò chơi có thể hào khi hết màn hình.Lưu
ý, nếu đạt được năm dấu cùng hàng mà bị chặn trước hai đầu là chưa thắng. Đặc
biêt, chỉ có năm dấu cùng hàng mới thắng.
Các trò chơi trí tuệ khác nhau sẽ giúp bạn rèn luyện các kỹ năng nhận thức
khác nhau, có nghĩa là bạn không nên mong đợi một trò chơi duy nhất giúp bạn
cải thiện tất cả các kỹ năng có thể.
Sự cải thiện đối với các kỹ năng nhận thức mà bạn nhận được từ việc chơi
trò chơi trí tuệ không phải lúc nào cũng chuyển một cách có ý nghĩa sang các
nhiệm vụ bên ngoài, nghĩa là nó có thể không có bất kỳ ý nghĩa thực tế nào khi
nói đến các nhiệm vụ mà bạn cần thực hiện trong thế giới thực.
Có một giới hạn về số lượng trò chơi trí tuệ có thể giúp bạn cải thiện kỹ
năng nhận thức của mình, có nghĩa là, sau một thời điểm nhất định, thời gian chơi
bổ sung có thể sẽ không mang lại bất kỳ lợi ích ý nghĩa nào.
2
Theo đó, để tối đa hóa lợi ích nhận thức mà bạn thu được từ việc chơi, bạn
nên luân phiên giữa các loại trò chơi khác nhau, giúp bạn cải thiện các khả năng
khác nhau, đặc biệt là khi bạn cảm thấy rằng bạn đang đạt đến điểm giảm dần lợi
nhuận khi tham gia một trò chơi nhất định. Hơn nữa, bạn nên cố gắng tập trung
vào các trò chơi giúp bạn cải thiện kỹ năng của mình theo cách chuyển sang các
nhiệm vụ trong thế giới thực mà bạn cần thực hiện.
Tuy nhiên, điều quan trọng nhất cần ghi nhớ là chơi trò chơi trí tuệ với mục
tiêu chính là tích cực cải thiện hiệu suất nhận thức của bạn có thể khiến bạn mất đi
những lợi ích quan trọng khác của việc chơi trò chơi trí tuệ. Ví dụ, chơi game trí
tuệ theo cách này có thể có nghĩa là việc chơi không còn giúp bạn giải tỏa căng
thẳng và cải thiện tâm trạng. Điều này là quan trọng cần tính đến, vì nó có nghĩa
là, trong nhiều trường hợp, bạn có thể được lợi nhiều hơn từ việc chơi trò chơi
điện tử để giải trí và cho phép bản thân tiến bộ một cách tự nhiên.
+ Luật chơi.
3
V. PHƯƠNG TIỆN NGHIÊN CỨU
- Nghiên cứu cơ sở lý thuyết về phân tích và thiết kế hệ thống.
4
CHƯƠNG 2: NHỮNG CƠ SỞ LÝ LUẬN CỦA ĐỀ TÀI
NGHIÊN CỨU
I. TỔNG QUAN VỀ MICROSOFT VISUAL STUDIO
Microsoft Visual Studio là một môi trường phát triển tích hợp từ Microsoft.
Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows,
cũng như các trang web, các ứng dụng web và các dịch vụ web.
Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như
Windows API, Windows Forms, Windows Presentation Foundation, Windows
Store và Microsoft Silverlight. Nó có thể sản xuất cả hai ngôn ngữ máy và mã số
quản lý.
Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như
cải tiến mã nguồn. Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã
nguồn và gỡ lỗi mức độ máy. Công cụ tích hợp khác bao gồm một mẫu thiết kế
các hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế
giản đồ cơ sở dữ liệu. Nó chấp nhận các plug-in nâng cao các chức năng ở hầu hết
các cấp bao gồm thêm hỗ trợ cho các hệ thống quản lý phiên bản (như
Subversion) và bổ sung thêm bộ công cụ mới như biên tập và thiết kế trực quan
cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành cho các khía cạnh khác trong
quy trình phát triển phần mềm.
1.1.1 Lập trình mạng với SocKet:
- Socket là một API cung cấp các phương thức để giao tiếp thông qua
mạng.
- Lập trình mức socket là nền tảng của lập trình mạng.
- Thông qua giao diện nay chúng ta có thể lập trình điều khiển việc
truyền thông giữa hai máy sử dụng các giao thức mức thấp TCP, UDP////
5
1.1.2 Namespace System/Net và System.Net.Sockets:
- Lớp IPAddress: để chứa địa chỉ IP của máy trong
mạng.
- Lớp IPEndPoint: chứa địa chỉ IP và số hiệu cổng để giao tiếp qua
mạng. Một số phương thức cần chú ý:
- Lớp DNS: phân giải tên miền đơn giản, lấy thông tin về máy cục
bộ như tên, địa chỉ… Một số phương thức cần chú ý:
6
1.1.3 Giao thức UDP
- UDP (User Datagram Protocol) là một giao thức cốt lõi của giao
thức TCP/IP, thuộc loại phi kết nối (Connectionless).
- Giao thức UDP không tin cậy bằng giao thức TCP, tuy nhiên
UDP có tốc độ nhanh, dễ cài đặt và hiệu quả hơn đối với các gói tin kích
thước nhỏ và yêu cầu khắt khe về thời gian. Ngoài ra với giao thức UDP
ta còn có thể gửi các gói tin quảng bá (broadcast).
7
+ UdpClient(RemoteHost: String, Int32): tạo một UdpClient và
thiết lập với một trạm từ xa mặc định.
Bất kỳ chuỗi đầu vào nào thỏa quy tắc này sẽ được coi là một
chuỗi hợp lệ. Việc sử dụng Regex sẽ giúp ta loại bỏ được các dữ liệu
không hợp lệ trong quá trình nhập liệu.
Lớp Regex: lớp Regex tượng trưng cho 1 regular expression bất
di bất dịch (read-only). Nó cũng chứa một phương thức tĩnh (static)
cho phép chúng ta sử dụng những lớp rex khác mà khỏi khởi tạo 1 đối
tượng khác.
Ví dụ:
+ Options: trả về những mục chọn được trao qua cho constructor
Regex.
8
+ RightToLeft: nhận 1 trị cho biết liệu xem regular expression dò
tìm từ phải qua trái hay không.
+ IsMatch: trả về trị bool cho biết liệu xem RE có tìm thấy
một so khớp hay không trên pattern.
+ Match: dò tìm trên pattern xem có xuất hiện một RE hay không
rồi trả về kết quả chính xác như là một đối tượng Match duy nhất.
+ Matches: dò tìm trên pattern xem tất cả các xuất hiện của một RE
có hay không rồi trả về tất cả những so khớp thành công xem như
Match được gọi nhiều lần.
9
CHƯƠNG 3: GIỚI THIỆU CHƯƠNG TRÌNH
I. Giới thiệu chương trình:
1. Sơ đồ kết nối
10
2. Giao diện và chức năng của chương trình:
1. Giao diện khi vào chương trình
Tùy Chọn
Chức năng
hình ảnh người chơi
Khung chat
11
2. Giao diện khi đang chơi
12
CHƯƠNG 4: TỔNG KẾT
I. Kết quả đạt được
- Tìm hiểu và hiểu rõ hơn về các lớp, phương thức trong lập
trình mạng bằng C#.
- Xây dựng được chương trình chơi cờ caro qua mạng LAN
đơn giản theo mô hình Client-Server.
II. Ưu điểm, nhược điểm của chương trình:
1. Ưu điểm:
- Chương trình có giao diện thân thiện.
- Có chức năng chat giữa hai người chơi.
- Có chức năng chơi với máy.
2. Nhược điểm:
- Chương trình chưa có tùy chọn thay đổi luật chơi.
- Khi chương trình đã chạy, không thể kết nối đến người có địa
chị IP khác so với lúc nhập ban đầu.
III. Hướng phát triển:
- Xây dựng chương trình với nhiều tùy chọn hơn nữa trong việc
chơi game.
- Cải thiện giao diện đẹp hơn, thân thiện hơn.
13