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ử:
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ử:
1
2
3
4
5
| 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:
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:
1
| 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:
1
2
3
| 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:
1
| 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:
1
2
3
4
5
6
7
| ‘ 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:
1
2
3
4
| Structure Boo 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:
1
| 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:
1
2
| 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.
Đâ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.
0 nhận xét