Tải bản đầy đủ (.pdf) (16 trang)

ĐÒ ÁN LẬP TRÌNH MẠNG CĂN BẢN GAME CARO QUA MẠNG LAN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (735.28 KB, 16 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN MÔN HỌC
LẬP TRÌNH MẠNG CĂN BẢN
Đề tài:
GAME CARO QUA MẠNG LAN

Giảng viên hướng dẫn: Sinh viên thực hiện:
ThS. Trần Bá Nhiệm Dƣơng Quang Huynh
09520113

Tp Hồ Chí Minh, tháng 8 năm 2012
CHƢƠNG 1: NỀN TẢNG KIẾN THỨC
I. 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 này 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 là TCP, UDP…
II. 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:
IPAddress(Byte[]): tạo địa chỉ IP từ mảng byte (4 byte).
IPAddress(Int64): tạo địa chỉ IP từ một số kiểu long.

CHƢƠNG 1: NỀN TẢNG KIẾN THỨC (TT)
+ 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
IPEndPoint mớ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.




III. 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).
- Trình tự kết nối:



CHƢƠNG 1: NỀN TẢNG KIẾN THỨC (TT)
III. Giao thức UDP (tt):

- 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.
+ UdpClient(AddressFamily): tạo một đối tượng mới của
lớp 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.
+ Close: đóng kết nối.
+ Receive(EndPoint của máy ở xa) As Byte(): nhận dữ liệu
đồng bộ do máy ở xa gửi.
+ Send: gửi dữ liệu đồng bộ cho máy ở xa.

CHƢƠNG 1: NỀN TẢNG KIẾN THỨC (TT)
IV. RegularExpressions:
- Regex là một biểu thức ở dạng chuỗi mô tả một quy tắc dùng để
so khớp mẫu văn bản.
- 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ụ:
string pattern = @"\s2000";
Regex myRegex = new Regex(pattern);

CHƢƠNG 1: NỀN TẢNG KIẾN THỨC (TT)

IV. RegularExpressions:
- 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ấ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.

CHƢƠNG 1: NỀN TẢNG KIẾN THỨC (TT)
V. Đồ 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 đường nối hai điểm có tọa độ (X1, Y1) và (X2, Y2).

CHƢƠNG 1: NỀN TẢNG KIẾN THỨC (TT)
CHƢƠNG 2: GIỚI THIỆU CHƢƠNG TRÌNH
I. Tổng quan:
- Ngôn ngữ lập trình: C# trên nền tảng .NET Framework 4.0.
- Công cụ lập trình: Microsoft Visual Studio 2010.
- Công cụ thiết kế: Adobe Photoshop CS5, Microsoft Paint.
II. . Giới thiệu chƣơng trình:
1. Sơ đồ kết nối:


2. Giao diện và các chức năng của chƣơng trình:

CHƢƠNG 2: GIỚI THIỆU CHƢƠNG TRÌNH (TT)
Thông tin của máy cục bộ,
gồm tên máy và địa chỉ IP
Chọn hình thức kết nối là
máy server hay máy client
Nhập tên của bạn và IP của
máy đối thủ
- Giao diện khi vào chương trình:

Bảng tỉ số
và quân
cờ 2 bên
Thông tin
người chơi
hiện tại
Thông tin

đối thủ

Các nút chức
năng: Nhập lại
tin nhắn, Xóa
ô chat,
Khóa/mở
chức năng
chat
Khung
nhập tin
nhắn
Nút gửi tin
nhắn
Nút kết nối
với server
Nút bắt đầu
trò chơi
Nút chọn
quân cờ
Nút thoát
chương
trình






CHƢƠNG 2: GIỚI THIỆU CHƢƠNG TRÌNH (TT)

- Giao diện khi đang chơi:

CHƢƠNG 2: GIỚI THIỆU CHƢƠNG TRÌNH (TT)
Khi đến lượt,
nhấn chuột
vào bất kì ô
trống trên bàn
cờ để đặt
quân cờ của
mình
- Hộp thoại thay đổi quân cờ:

CHƢƠNG 2: GIỚI THIỆU CHƢƠNG TRÌNH (TT)
- Hộp thoại giúp đỡ:

CHƢƠNG 2: GIỚI THIỆU CHƢƠNG TRÌNH (TT)
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 2 người chơi.
2. Nhƣợc điểm:
- Chương trình chưa có tùy chọn cho việc thay đổi luật chơi.
- Khi chương trình đã chạy, không thể kết nối đến người chơi có
địa chỉ IP khác so với lúc nhập ban đầu.


CHƢƠNG 3: TỔNG KẾT
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.
- Giải quyết vấn đề không thể kết nối đến người chơi khác
trong khi đang chạy chương trình.
- Cải tiến giao diện đẹp hơn, thân thiện hơn.
IV. Tài liệu tham khảo:
- Slide bài giảng Lập trình mạng căn bản C# (ThS. Trần Bá
Nhiệm).
- Các giải pháp lập trình C# (Nguyễn Ngọc Bình Phương -
Thái Thanh Phong).
- Các website:




CHƢƠNG 3: TỔNG KẾT (TT)

×