 |
|
Mảng và cấu trúc
trong VB.NET |
|
Hầu hết các game dạng bảng như Line-NIIT đều đòi hỏi
việc sử dụng mảng hoặc cấu trúc tương tự mảng để
quản lý trạng thái của game. Bài viết này sẽ giới
thiệu một số kỹ thuật cơ bản liên quan đến mảng và
cấu trúc trong VB.NET. |
|
Mảng là gì? |
|
Mảng là một dãy gồm nhiều phần tử được xếp thứ tự.
Mỗi phần tử trong mảng được truy xuất qua một con số
dùng để xác định vị trí của nó trong mảng. Các giá
trị lưu trữ trong mảng phải có cùng kiểu dữ liệu,
bao gồm các kiểu dữ liệu cơ bản như mảng các chuỗi
(string), mảng số nguyên (integer) hay mảng các đối
tượng thuộc kiểu Balls do người dùng tự định nghĩa. |
|
Khởi động |
|
Câu lệnh sau khai báo một mảng các chuỗi có thể chứa
3 phần tử: |
Dim DanhSach (3) As String
‘Truyền giá trị vào các phần tử của mảng
DanhSach (0) = “C++”
DanhSach (1) = “VB”
DanhSach (2) = “C#” |
|
Mảng DanhSach được tổ chức trong bộ nhớ như một giá
sách với các chỉ số tương ứng như sau: |
 |
|
Có thể khai báo và khởi gán các phần tử mảng chỉ với
một dòng lệnh như sau: |
|
Dim DanhSach () As String = {"C++", " VB", "C#"} |
|
Để truy xuất phần tử thứ 2 trong mảng, ta dùng câu
lệnh sau: |
Dim GiaTri As String
‘Lưu ý: Phần tử thứ 2 có chỉ số là 1
GiaTri = DanhSach (1) |
|
Mảng hai chiều |
|
Bên cạnh mảng một chiều dùng để lưu trữ tên sách như
trên, ta có thể lưu trữ cả giá tiền từng cuốn sách
bằng một mảng khác với chỉ số tương ứng: |
|
Dim Gia () As String = {“20$”, “18$”, “25$”} |
|
Có cách khác hay hơn là dùng một mảng hai chiều để
thay thế cả hai mảng trên: |
‘ Khai báo một mảng hai chiều 3 cột, 2 hàng
Dim DanhMuc (3,1) As String
‘Truyền giá trị vào cho từng phần tử trong mảng
DanhMuc(0,0) = “C++”
DanhMuc(0,1) = “20$”
DanhMuc(1,0) = “VB”
DanhMuc(1,1) = “18$”
... |
 |
|
Cấu trúc (Structure) |
|
Cấu trúc là một kiểu dữ liệu do ngưởi dùng tự định
nghĩa dùng để tập hợp các thành phần dữ liệu có quan
hệ với nhau thành một cấu trúc duy nhất. Ví dụ, để
tổ chức lưu trữ tên một quyển sách cùng với giá của
nó, ta khai báo cấu trúc Book như sau: |
Structure Book
Public name As String
Public price As Double
End Structure |
|
Ta khai báo một đối tượng thuộc kiểu Book bằng câu
lệnh: |
|
Dim CBook As Book |
|
Các thành phần dữ liệu bên trong cấu trúc được truy
xuất bằng cách sử dụng dấu chấm: |
CBook.name = “C++”
CBook.price = “18” |
|
Ta có thể tạo ra một cấu trúc kiểu Ball để lưu trữ
đặc trưng của từng quả bóng (màu sắc, kích thước),
sau đó đặt chúng vào một mảng hai chiều biểu diễn
bảng game Line-NIIT: |
 |
|
Đây chỉ là một phương pháp khả dĩ. Việc sử dụng mảng
và cấu trúc phụ thuộc vào giải thuật mà các bạn lựa
chọn để giải quyết vấn đề đặt ra. |
|
Lê Xuân Hưng (Giảng viên NIIT) |
|
Tham khảo thông tin về cuộc thi “Đầu Bếp Quán Lập
Trình” trong chuyên mục Quán lập trình trên Website
e-CHÍP (www.echip.com.vn)
hay trên các số e-CHÍP ra ngày thứ Ba và thứ Sáu
hàng tuần. |
|
|
|
THÔNG BÁO CỦA BTC CUỘC THI “ĐẦU BẾP QUÁN LẬP TRÌNH” |
|
BTC cuộc thi “Đầu Bếp Quán Lập Trình” trân trọng
thông báo: Do đề thi tháng 10 có tính chất kế thừa
của đề thi tháng 9 nên không được nhiều bạn đọc tham
dự, ngoài ra, những bài dự thi trong tháng này không
đáp ứng được những yêu cầu BTC đề ra nên không có
bài thi nào đạt giải. |
|
Được sự đồng ý của nhà tài trợ là Học viện NIIT, để
khuyến khích các “Đầu Bếp”, BTC quyết định cộng dồn
giải thưởng tháng 10 vào giải thưởng tháng 11. Vì
vậy, mỗi giải thưởng tháng 11 sẽ là quà tặng trị giá
2 triệu đồng. |
|
Để xây dựng chương trình ngày càng tốt hơn, tạo sân
chơi rộng rãi cho bạn đọc nhiều hơn nữa, BTC rất
hoan nghênh những ý kiến đóng góp xây dựng chương
trình “Đầu bếp Quán Lập Trình”. |
|
Xin mời các bạn gởi ý kiến đóng góp, xây dựng và cải
tiến cuộc thi về địa chỉ email:
daubepquanlaptrinh@yahoo.com.vn. Những ý kiến đóng
góp có giá trị sẽ được nhận những phần quà của tạp
chí e-CHÍP và nhà tài trợ NIIT. |
|
BTC cuộc thi “Đầu Bếp Quán Lập Trình” |
|
Đầu
trang |