按键精灵的数组 | 信义之树

按键精灵的数组

2018年02月16日 星期五 22:24:32 按键精灵 7,090 次 0

一、一维数组

Dim 道具栏(5)    //定义有6个元素的数组
道具栏(0)="小红药"
道具栏(1)="大红药"
道具栏(2)="小蓝药"
道具栏(3)="大蓝药"
道具栏(4)="屠龙刀"
道具栏(5)="倚天剑"
TracePrint ubound(道具栏)  //数组最大下标
TracePrint lbound(道具栏)   //数组最小下标
For i = 0 To ubound(道具栏)    //数组的遍历
    TracePrint "道具栏("&i&")="&道具栏(i)
Next

运行结果:

第8行:5
第9行:0
第11行:道具栏(0)=小红药
第11行:道具栏(1)=大红药
第11行:道具栏(2)=小蓝药
第11行:道具栏(3)=大蓝药
第11行:道具栏(4)=屠龙刀
第11行:道具栏(5)=倚天剑

二、数组的复制

Dim a(2)
a(0) = 11
a(1) = 20
a(2) = 123
Dim b
b = a
TracePrint b(0)
TracePrint b(1)
TracePrint b(2)

运行结果:

第7行:11
第8行:20
第9行:123

三、多维数组

dim 包裹(4,5)
For i = 0 To ubound(包裹, 1)
    For j = 0 To ubound(包裹, 2)
        //TracePrint 407+113*i
        //TracePrint 267 + 95 * j
        //TracePrint GetPixelColor( 407+113*i,267+95*j)
        IfColor  407+113*j,267+95*i,"000000",0 then
            包裹(i,j)="没东西"
        Else 
            包裹(i,j)="有东西"
        End if
        TracePrint  "包裹......第"&(i+1)&"行,第"&(j+1)&"列......"&包裹(i,j)
    Next	
Next

运行结果:

第12行:包裹......第1行,第1列......没东西
第12行:包裹......第1行,第2列......有东西
第12行:包裹......第1行,第3列......没东西
第12行:包裹......第1行,第4列......没东西
第12行:包裹......第1行,第5列......没东西
第12行:包裹......第1行,第6列......没东西
第12行:包裹......第2行,第1列......没东西
第12行:包裹......第2行,第2列......没东西
第12行:包裹......第2行,第3列......没东西
第12行:包裹......第2行,第4列......有东西
第12行:包裹......第2行,第5列......没东西
第12行:包裹......第2行,第6列......没东西
第12行:包裹......第3行,第1列......没东西
第12行:包裹......第3行,第2列......有东西
第12行:包裹......第3行,第3列......有东西
第12行:包裹......第3行,第4列......有东西
第12行:包裹......第3行,第5列......有东西
第12行:包裹......第3行,第6列......没东西
第12行:包裹......第4行,第1列......没东西
第12行:包裹......第4行,第2列......有东西
第12行:包裹......第4行,第3列......有东西
第12行:包裹......第4行,第4列......没东西
第12行:包裹......第4行,第5列......没东西
第12行:包裹......第4行,第6列......有东西
第12行:包裹......第5行,第1列......没东西
第12行:包裹......第5行,第2列......没东西
第12行:包裹......第5行,第3列......没东西
第12行:包裹......第5行,第4列......没东西
第12行:包裹......第5行,第5列......没东西
第12行:包裹......第5行,第6列......没东西

四、传递数组参数

Dim a(2)
a(0) = 1
a(1) = 2
a(2) = 3
Call 数组传递(a)
Function 数组传递(b)
    TracePrint "a(0)="&b(0)
    TracePrint "a(1)="&b(1)
    TracePrint "a(2)="&b(2)
End Function

运行结果:

第7行:a(0)=1
第8行:a(1)=2
第9行:a(2)=3

五、求对角线之和

Dim a(2,2)
n=1
For i = 0 To 2
    For j = 0 To 2
        a(i,j)=n
        n=n+1
        TracePrint a(i,j)
    Next	
Next
TracePrint a(0,0)+a(0,2)+a(1,1)+a(2,0)+a(2,2)

运行结果:

第7行:1
第7行:2
第7行:3
第7行:4
第7行:5
第7行:6
第7行:7
第7行:8
第7行:9
第10行:25