Loop 能夠將某段 code 重複幾次,而 loop 分有三種: For, While 及 Repeat。
For Loop[]
使用 For loop樣板 : for (起始值,條件式,更新值)
for variable = 開始數字, 總結數字, 加多少 do
...
end
|
For Loop 原理:
- 將重複做的東西變為-小段
原本 | 更改後 | Output |
---|---|---|
print("Hello Mom!")
print("Hello Mom!")
print("Hello Mom!")
print("Hello Mom!")
print("Hello Mom!")
print("Hello Mom!")
print("Hello Mom!")
print("Hello Mom!")
print("Hello Mom!")
print("Hello Mom!")
|
for i=1, 10 do --由1去到10/ 即是做十次
print("Hello Mom!")
end
|
Hello Mom!
Hello Mom! Hello Mom! Hello Mom! Hello Mom! Hello Mom! Hello Mom! Hello Mom! Hello Mom! Hello Mom! |
print(1)
print(2)
print(3)
print(4)
print(5)
|
for i = 1, 5 do
print(i)
end
|
1
2 3 4 5 |
print(1)
print(1.5)
print(2)
print(2.5)
print(3)
|
for i=1,3, 0.5 do -- 由1去到3, 每一次加0.5
print(i)
end
|
1
1.5 2 2.5 3 |
print(1)
print(0)
print(-1)
|
for i=1,-1,-1 do
print(i)
end
|
1
0 -1 |
永遠的 for loop[]
for i = 0,math.huge do --math huge 代表無限
wait() -- 以免電腦爆炸
....
end
|
While loop[]
While 會每一次看一看 該句子對不對才進行,使用方法 :
while 條件 do
...
end
|
While Loop 原理:
- 將重複做的東西變為-小段
原本 | 更改後 | Output |
---|---|---|
print(1)
print(2)
print(3)
print(4)
print(5)
|
local i = 1
while i <= 5 do
print(i)
i = i + 1
end
|
1
2 3 4 5 |
永遠的 while loop[]
while true do -- 永遠都是正確
wait() -- 以免電腦爆炸
....
end
|
Repeat Loop[]
- 與 While loop 差不多, 但第一次無論條件正不正確都會運行一次
Repeat 會每一次做完後看一看 該句子對不對才繼續進行,使用方法 :
repeat
...
until 條件
|
Repeat Loop 原理:
- 將重複做的東西變為-小段
原本 | 更改後 | Output |
---|---|---|
print(1)
print(2)
print(3)
print(4)
print(5)
|
local i = 1
repeat
print(i)
i = i + 1
until i==6
|
1
2 3 4 5 |
Break 中斷[]
有時候一些loop 並不會停止, 因此你需要 break 在某個時候中斷loop
例子
local i = 0
while true do
wait()
i = i + 1
print(i)
if i >= 3 then
break
end
end
|
Output:
1 2 3 |
小遊戲[]
1. 以下script的output是?
for i=0,1 do
for j=10,15 do
print(j)
end
print(i)
end
|
答案 | 原因 |
---|---|
10
11 12 13 14 15 0 10 11 12 13 14 15 1 |
雙重 For loop
第一關咋!!唔好放棄 └(=^‥^=)┐ |
2. 以下script的output是?
local i = 0
for i = 0, 2,0.725 do
for i=10,12 do
print(i)
end
end
|
答案 | 原因 |
---|---|
10
11 12 10 11 12 10 11 12 |
3. 以下script的output是?
local i=0
while true do
i = i + 1
end
print(i)
|
答案 | 原因 |
---|---|
CRASH/INFINITE LOOP | 你的電腦也應付不到吧 😂😂 |
4. 以下script的output是?
local i=0
while not(i = 0) do
print(i)
end
|
答案 | 原因 |
---|---|
ERROR | Line 3: 應該是 i == 0 |
5. 以下script的output是?
local i=0
while i = i + 1 do
wait()
end
|
答案 | 原因 |
---|---|
WILL NOT END |
6. 以下script的output是?
for i=1,2 do
for j= 1,i do
print("$")
end
end
|
答案 | 原因 |
---|---|
$
$ $ |
7.以下script的output是?
for (i=1;i<=4;i++){
print(i)
}
|
答案 | 原因 |
---|---|
ERROR | 你當自己是在打 C program 嗎? |
8. 嘗試將以下程式簡單化
script.Parent.Transparency = 0
wait(0.05)
script.Parent.Transparency = 0.05
wait(0.05)
script.Parent.Transparency = 0.1
wait(0.05)
script.Parent.Transparency = 0.15
wait(0.05)
script.Parent.Transparency = 0.2
wait(0.05)
script.Parent.Transparency = 0.25
wait(0.05)
script.Parent.Transparency = 0.3
wait(0.05)
script.Parent.Transparency = 0.35
wait(0.05)
script.Parent.Transparency = 0.4
wait(0.05)
script.Parent.Transparency = 0.45
wait(0.05)
script.Parent.Transparency = 0.5
|
答案 |
---|
for i = 0,0.5,0.05 do
script.Parent.Transparency = i
end
|