Hiệu quả của các trò chơi rèn luyện trí não đang được tranh luậntrong cộng đồng khoa học, với một số nghiên cứu cho thấy chúng có thể dẫn đếncải thiện hiệu suất nhận thức và các nghiên c
Trang 1TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT VĨNH LONG
KHOA CÔNG NGHỆ THÔNG TIN
Giảng viên hướng dẫn: Lê Thị Hoàng YếnSinh Viên Thực Hiện
Mã Sinh Viên: 18004168Tên Sinh Viên: Hứa Văn Hữu Chí
Vĩnh Long, 12/2021
Trang 2LỜI CẢM ƠN
"Đầu tiên, em xin gửi lời cảm ơn chân thành sâu sắc đến giảng viên Lê Thị Hoàng Yến đã dạy dỗ tận tâm, truyền đạt những kiến thức quý báu cho em trong suốt thời gian học tập vừa qua Trong thời gian tham gia lớp học lập trình dotnet của cô, em đã có thêm cho mình nhiều kiến thức bổ ích về thiết kế phần mềm Đây chắc chắn sẽ là những kiến thức quý báu và sẽ là hành trang để các em có thể vững chắc mai sau này.
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.
Em xin chân thành cảm ơn!”
DANH SÁCH HÌNH ẢNH
Trang 3Hình 1: Trình tự kết nối giao thức UDP 7
Hình 2: Sơ đồ kết nối giữ 2 máy 10
Hình 3: Giao diện chương trình 11
Hình 4 Giao diện khi đang chơi 12
Trang 4MỤC LỤC
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
Trang 5TÓM TẮTChơ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
thủ để thể hiện đẳng cấp chơi cờ của bạn
Trang 7Hiệu quả của các trò chơi rèn luyện trí não đang được tranh luậntrong cộng đồng khoa học, với một số nghiên cứu cho thấy chúng có thể dẫn đếncả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àykhông dẫn đến cải thiện đáng kể, đặc biệt là so với trò chơi điện tử Hơnnữ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ơirè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àyhiế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ưngnghiê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ấynhư 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ơichú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 íchnhậ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áctrò 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 chochúng có vẻ hiệu quả hơn chúng
1
Trang 81.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ấuO-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
II LÝ DO CHỌN ĐỀ TÀI
Như chúng ta đã thấy cho đến nay, chơi trò chơi trí tuệ có thể giúp bạn cảithiện các kỹ năng nhận thức khác nhau Tuy nhiên, nếu bạn muốn tích cực cốgắng cải thiện kỹ năng nhận thức của mình bằng cách chơi trò chơi điện tử, thì cómột số điều quan trọng mà bạn nên ghi nhớ:
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ứckhá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ạncả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ơitrò 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ácnhiệ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 khinó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
Trang 9Theo đó, để tối đa hóa lợi ích nhận thức mà bạn thu được từ việc chơi, bạnnê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ăngkhá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ợinhuậ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 trungvà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ácnhiệ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ụctiê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 đinhữ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ăngthẳ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
III MỤC TIÊU NGHIÊN CỨU
Ứng dụng game cơ Caro được xây dựng nhằm mục đích làm quen với ngônngữ, giải trí nhẹ nhàng cho những ai đang căng thẳng
IV ĐỐI TƯỢNG VÀ KHÁCH THỂ NGHIÊN CỨU
- Đối tượng nghiên cứu: Game Caro
- Khách thể nghiên cứu:
+ Những ngưởi có nhu cầu giải trí + Luật chơi
3
Trang 10V 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
- Ngôn ngữ lập trình C Sharp (C#)
- Công cụ lập trình Visual Studio 2019
4
Trang 11CHƯƠ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ếtcá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
Trang 121.1.2 Namespace System/Net và System.Net.Sockets:
- Lớp IPAddress: để chứa địa chỉ IP của máy trong mạng
Một số phương thức cần chú ý:
+ Phương thức khởi tạo:
IPAddresss(Byte[]): tạo địa chỉ IP từ mảng byte (4 byte).IPAddress(Int64): tạo ra địa chỉ IP từ một số kiểu long
+ Parse: chuyển IP dạng chuỗi về dạng IP chuẩn
+ TryParse: kiểm tra IP ở dạng chuỗi có hợ lệ hay khô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ú ý:
+ IPEndPoint(IPAddress, Int32): tạo một đối tượng IPEndPointmới, tham số truyền vào là một địa chỉ IPAddress và số hiệu cổng.+ ToString: trả về địa chỉ IP và số hiệu cổng theo dạng
IP:port Ví dụ: 192.168.1.10:3000
- 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ú ý:
+ GetHostEntry(IP/string Tenmay): phân giải tên hoặc địa chỉ IP và trả về đối tượng IPHostEntry
+ GetHostByAddress(string IP): trả về thông tin của trạm có địa
chỉ IP được truyền vào
6
Trang 13ta còn có thể gửi các gói tin quảng bá (broadcast).
- Trình tự kết nối:
Hình 1: Trình tự kết nối giao thức UDP
- Trong NET, lớp UDPClient đóng gói các chức năng của giao thức UDP
- Các phương thức cần lưu ý trong lớp UDPClient:
+ UdpClient(): tạo đối tượng mới của lớp UDPClient
7
Trang 14+ UdpClient(AddressFamily): tạo một đối tượng mới
UDPClient, thuộc một dòng địa chỉ được chỉ định
+ 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
+ Connect: thiết lập một default remote host
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 đốitượng khác
Ví dụ:
string pattern = @"\s2000";
Regex myRegex = new Regex(pattern);
8
Trang 15- Các thuộc tính của lớp Regex:
+ Options: trả về những mục chọn được trao qua cho constructor Regex
+ 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
- Các phương thức của lớp Regex:
+ IsMatch: trả về trị bool cho biết liệu xem RE có tìm thấymộ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ôngrồ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
1.1.5 Đồ họa trong C#
Sử dụng các lớp được cung cấp bởi namespace
System.Drawing
Lớp Pen: khởi tạo một đối tượng dùng để vẽ đường thẳng
hoặc đường cong
+ Pen(Color): khởi tạo một đối tượng Pen có màu truyền
vào
+ Pen(Color, Single): khởi tạo một đối tượng Pen có màu
và độ rộng truyền vào
Lớp Graphic: các phương thức sử dụng
+ DrawImage(Image,Point):vẽ ra một hình ảnh giữ nguyên
kích thước tại một vị trí truyền vào
+ DrawLine(Pen,Int X1, Int Y1, Int X2, Int Y2): vẽ một
9
Trang 16đường nối hai điểm có tọa độ (X1, Y1) và (X2, Y2).
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
Hình 2: Sơ đồ kết nối giữ 2 máy
10
Trang 182 Giao diện và chức năng của chương trình:
12
Trang 191 Giao diện khi vào chương trình
Hình 3: Giao diện chương trình
2 Giao diện khi đang chơi
13
Khung
đánh
Khung chat Chế độ chơi 1 người
Chế độ chơi 2 người 1 máy Chế độ chơi 2 người qua mạng LAN
đi lại và khôi phục hình ảnh người chơi Tùy Chọn
Chức năng
Trang 20Hình 4 Giao diện khi đang chơi
14
Trang 21CHƯƠ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.
15