FANDOM


Loop 能夠將某段 code 重複幾次,而 loop 分有三種: For, While 及 Repeat。

For Loop

使用 For loop樣板 : for (起始值,條件式,更新值)

for variable = 開始數字, 總結數字, 加多少 do
...
end

For Loop 原理:

For
  • 將重複做的東西變為-小段
原本 更改後 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 原理:

While
  • 將重複做的東西變為-小段
原本 更改後 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 原理:

Repeat
  • 將重複做的東西變為-小段
原本 更改後 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

學習更多

Roblox Studio Scripting 教學

Roblox Lua Loop 試卷 by horacepang

Roblox 更新/教學 Facebook