1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

16 2K 15

Đ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 16
Dung lượng 735,28 KB

Nội dung

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.. - 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

Trang 1

ĐẠ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

Trang 2

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

Trang 3

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

Trang 4

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:

Trang 5

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)

Trang 6

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);

Trang 7

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)

Trang 8

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)

Trang 9

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:

Trang 10

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

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ủ

Trang 11

- 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

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)

Trang 12

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

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

Trang 13

- Hộp thoại thay đổi quân cờ:

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

Trang 14

- Hộp thoại giúp đỡ:

Trang 15

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

Trang 16

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:

http://www.codeproject.com/

http://msdn.microsoft.com/

http://forums.congdongcviet.com/

Ngày đăng: 18/05/2015, 18:36

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w