Hướng dẫn script
Bài 3: vòng lặp
Table:
(có thể coi là một biến chứa nhiều giá trị)
Cách tạo 1 table:
local a = {1,2,3,”hello”, “hi”}
→ mình vừa tạo 1 table tên là “a” với các giá trị 1,2,3,”hello”,”hi”
→ mỗi một giá trị có một số thứ tự lần lượt từ 1 cho đến n (table của bạn có bao nhiêu giá trị thì “n” bằng bấy nhiêu, mình sử dụng “n” vì 1 table không nhất thiết phải có bao nhiêu giá trị, có thể có 1 hoặc không có giá trị nào.
Cách gọi giá trị của table:
khi viết a[1] tức là bạn đang gọi giá trị đầu tiên trong table tức là giá trị 1 ( local a = {1,2,3,”hello”, “hi”} ). Nếu viết a[4] thì bạn đang gọi giá trị thứ 4 của table hay chính là giá trị “hello”.
Ngoài ra, bạn có thể tạo biến trong table và gán giá trị cho biến đó.
VD:
local a = { a1 = “ếch”, a5 = “nhìn gì?” }
→ khi đó, a1 là biến thứ nhất, có số thứ tự là 1 và a5 là biến thứ 2 có số thứ tự là 2. Khi viết a[1] thì tức là bạn đang gọi giá trị “ếch” của biến a1, a[2] thì bạn sẽ gọi giá trị “nhìn gì?” của biến a5. Ngoài ra bạn cũng có thể viết a[“a1”] để gọi giá trị của biến a1 (tương tự với các biến khác trong table)
lưu ý, bạn có thể đặt tên biến trong table và tên table tùy ý, không nhất thiết là a và a1 hay a5,…
Vòng lặp:for, while, repeat until
- các vòng lặp này có thể lặp vô hạn hoặc lặp một số lượt nhất định tùy vào điều kiện của vòng lặp
- vòng lặp for có hai loại
for i, v in pairs(tên của một “table”) do (hành động) end -> vòng lặp này sẽ lặp đi lặp lại với số lần bằng số lượng các phần tử có trong 1 “table”. “i” là số thứ tự của phần tử và “v” là giá trị của phần tử đó local b = 10 for i = 1, b do (hành động) end -- vòng lặp này sẽ lặp theo số lần bạn muốn, “i” là giá trị sẽ cộng mỗi lần lặp, b là giới hạn, nếu giá trị vượt qua hoặc bằng giới hạn thì vòng lặp sẽ dừng. Ví dụ, mình để i = 5 và b = 10 thì vòng lặp sẽ chỉ lặp 2 lần do sau hai lần lặp thì giá trị đã bằng 10. Nếu i = 3 và b = 10 thì sẽ là 4 lần do sau khi lặp 3 lần thì giá trị đã là 9, đến lần lặp thứ 4 thì giá trị là 12 > b (= 10) thì vòng lặp sẽ dừng. -- Lưu ý: thay vì viết local b = 10 rồi đến vòng lặp thì ghi b, các bạn có thể trực tiếp viết giá trị 10 vào.
· vòng lặp while: vòng lặp này sẽ tiếp tục lặp miễn là điều kiện của vòng lặp được thỏa mãn (điều kiện đã được học ở bài 3). Các bạn có thể trực tiếp điền “true” nếu như muốn làm một vòng lặp vô hạn. LƯU Ý: vòng lặp vô hạn nếu như không có thời gian chờ (lặp một lần và sau bao lâu sẽ tiếp tục lặp) thì sẽ gây crash game hoặc script sẽ không chạy.
→ “Trigger:wait()” các bạn có thể dùng api này để xác định thời gian chờ (đơn vị là giây), số giây chờ sẽ được viết vào giữa hai dấu ngoặc đơn.
While (điều kiện) do (hành động) end
· vòng lặp repeat…until…: trái với while, vòng lặp này sẽ lặp cho tới khi điều kiện được thỏa mãn. Các tính chất khác thì tương đồng.
repeat (hành động) until (điều kiện) end
· Lưu ý: các syntax này đều cần phải kết thúc với “end”
Bài tập:
sử dụng vòng lặp để liên tục hiện văn bản “xin chào” trên thanh chat với thời gian giữa các vòng lặp là 1.5 giây.
— Cre:Vũ Hoàng 2024/06/21 17:31