一米阳光商人
RO精灵 RO侏儒 RO巨人 RO诸神 RO创世
|
什麼是迴圈 就是循环,像是 for while 這些都是迴圈指令
迴圈是用來做重複的事情 幫助我們省下很多時間
常見的例子就是計算總和 如: 1+2+3+4+5 (因為重複用到加法)
等等會寫幾個範例 接下來介紹指令的用法
for:
使用方法
- for ( 起始值 ; 判斷式 ; 更新值 ) { 腳本內容 }
复制代码 基本寫法
- for ( set .@n , 0 ; .@n < 5 ; set .@n , .@n + 1 ) { mes .@n; }
复制代码 變數 .@n 起始值為 0 , 終止判斷為小於 5 , 更新值為每次 +1 , 每次執行 mes 出該變數的值
一開始可能會比較不好了解 在這邊說明一下
上面腳本的 for 迴圈是由 0 開始往上 +1 一直到小於 5 ( 所以跑了 0 , 1 , 2 , 3 , 4 共 5 次 )
假如我要跑 9 次 我只需再判斷式改成 .@n < 9 即可
起始值也可以做修改哦 假如 起始值為 3 判斷式為 < 5 更新值不變 ( 結果從 3 , 4 共 2次 )
值可由個人需求做變化 接下來要舉幾個範例
範例:
- prontera,152,94,4 script 迴圈測試 98,{
- // .@sum 總和初始值為 0
- set .@sum , 0 ;
- // .@n 初始值為 1 , 判斷為 <= 5 , 更新值 + 1 , 總共 1~5 跑 5 次
- for ( set .@n , 1 ; .@n <= 5 ; set .@n , .@n + 1 ){
- // .@sum(總和) 為 .@sum(目前總和) + .@n(N值)
- set .@sum , .@sum + .@n ;
- }
- // mes 出結果 .@sum
- mes " 總和為: " + .@sum ;
- close;
- }
复制代码 實際圖片:
( 結果為 1 + 2 + 3 + 4 + 5 = 15 )
while:
使用方法
當條件式成立時 重複執行腳本內容 直到條件不成立
跟 for 的用法差別在於 for 可以指定迴圈次數
而 while 是一直重複執行迴圈直到條件不成立
範例:
- prontera,152,94,4 script 迴圈測試 98,{
- // 倒數 5 秒
- set .@n , 5 ;
- // 當 .@n 大於 0 就繼續執行迴圈(倒數)
- while ( .@n > 0 ) {
- // mes 秒數
- mes .@n + " ...";
- // .@n (秒數) - 1
- set .@n , .@n - 1 ;
- // sleep2 用來延遲腳本(單位是微秒) , 1000 = 1 秒
- sleep2(1000);
- }
- close;
- }
复制代码 實際圖片:
進階教学
前面二節是最難懂的部分 但是只要熟悉陣列和迴圈的運作
可以把二者結合在一起 寫出更多功能的腳本哦
以下為進階範例 給大家參考學習
顯示陣列清單:
- prontera,152,94,4 script 陣列迴圈測試 98,{
- // 波利清單陣列 ( 9 個 )
- setarray .@list$ ,
- "波利" , "土波利" , "波波利" ,
- "波利之王" , "天使波利" , "惡魔波利" ,
- "幽靈波利" , "聖天使波利" , "魔王波利";
- mes " ^ff0000波利列表:^000000";
- // 用迴圈重複執行 mes 陣列中每一筆資料 ( 因為 9 個所以 .@i 要跑 9 次 )
- for ( set .@i , 0 ; .@i < 9 ; set .@i , .@i + 1 ) {
- mes .@list$[ .@i ];
- }
- close;
- }
复制代码 範例圖片:
清單式選單:
- prontera,152,94,4 script 陣列迴圈測試 98,{
- // 清單式選單陣列
- setarray .@list$ , "劍士" , "弓箭手" , "法師" , "服事" , "盜" , "商人" ;
- mes " [ 職業選擇 ] ";
- mes " 請選擇你想要的職業即可轉職";
- // 陣列轉成選單清單
- for ( set .@i , 0 ; .@i < 6 ; set .@i , .@i + 1 ){
- // 在 select 指令中 用 : 可以分隔選項
- set .@s$ , .@s$ + .@list$[ .@i ] + ":" ;
- }
- // 選單顯示
- select(.@s$);
- close;
- }
复制代码 範例圖片:
|
|