游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3309|回复: 10

如何实现既要能用数组作参数,又要能用若干个数字作参数

[复制链接]

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
发表于 2005-11-27 11:27:00 | 显示全部楼层 |阅读模式
Private Sub Form_Load()
Dim N()
ReDim N(1 To 2)
N(1) = 1
N(2) = 2
MsgBox a(n)
End Sub
Function a(ParamArray ff())
For Each i In ff
a = a + i
Next i
End Function

这样不行

Private Sub Form_Load()
Dim N()
ReDim N(1 To 2)
N(1) = 1
N(2) = 2
MsgBox a(1,2)
End Sub
Function a(ParamArray ff())
For Each i In ff
a = a + i
Next i
End Function

这样可以

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2005-11-27 12:20:00 | 显示全部楼层

Re:如何实现既要能用数组作参数,又要能用若干个数字作

???什么意思???
能说清楚点吗?

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
 楼主| 发表于 2005-11-27 12:30:00 | 显示全部楼层

Re:如何实现既要能用数组作参数,又要能用若干个数字作

Function a(ParamArray ff())
For Each i In ff
a = a + i
Next i
End Function

这里的参数既可以是若干个数字,又可以是数组,如何实现

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
发表于 2005-11-27 12:37:00 | 显示全部楼层

Re: Re:如何实现既要能用数组作参数,又要能用若干个数

sandy_zc_1: Re:如何实现既要能用数组作参数,又要能用若干个数字作参数

???什么意思???
能说清楚点吗?



同一数组里处理多个不同的数据, 这个我早在打击者1940和DOS游戏里就用到了,
X(1)=1:Y(1)=1
X(2)=2:Y(2)=2
.....

不过三国里如果这样用程序反而长不好管理, 我觉得:
X(1)=1:X(2)=2  和 X1=1:X2=2 没有区别.

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2005-11-27 14:09:00 | 显示全部楼层

Re: Re:如何实现既要能用数组作参数,又要能用若干个数

陈?: Re:如何实现既要能用数组作参数,又要能用若干个数字作参数

Function a(ParamArray ff())
For Each i In ff
a = a + i
Next i
End Function

这里的参数既可以是...



不会,VB6中好像没有这个功能。

53

主题

241

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
发表于 2005-11-27 17:51:00 | 显示全部楼层

Re:如何实现既要能用数组作参数,又要能用若干个数字作

VB6:
function a(optional array() as integer, optional int_1 as integer, optional int_2 as integer, optional int_3 as integer, ....... , optional int_n as integer)

VB.NET:
两个字:重载

53

主题

241

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
发表于 2005-11-27 18:20:00 | 显示全部楼层

Re:如何实现既要能用数组作参数,又要能用若干个数字作

如果你一定要只有一个参数,用Function a(Array() as integer),然后把若干个数字先放入数组,再传递到函数

8

主题

120

帖子

120

积分

注册会员

Rank: 2

积分
120
QQ
发表于 2005-11-28 00:49:00 | 显示全部楼层

Re: Re: Re:如何实现既要能用数组作参数,又要能用若干个

游戏之家: Re: Re:如何实现既要能用数组作参数,又要能用若干个数字作参数




同一数组里处理多个不同的数据, 这个我早在打击者1940和DOS游戏里就用到了,
X(1)=1:Y(1)=1
X(2)=2:...


有意见喔。
我觉得用数组才更好管理
如果赋值呢? 1000个变量你怎么用手来赋值?

for i = 1 to 1000
    a(i)=i
next i

a1=1:a2=2:a3=3....???

8

主题

120

帖子

120

积分

注册会员

Rank: 2

积分
120
QQ
发表于 2005-11-28 01:05:00 | 显示全部楼层

Re:如何实现既要能用数组作参数,又要能用若干个数字作

Option Explicit

Private Sub Form_Load()
    Dim N() As Integer
    Dim i As Integer
   
    '重定义数组下标
    ReDim N(1 To 2)
   
    For i = 1 To 2
        N(i) = i
    Next i
   
    MsgBox "结果:" & sum(1, 2, 3, 4)
    MsgBox "结果:" & sum(N)
End Sub

Function sum(a, ParamArray b())
    Dim item As Variant
    Dim tmpSum As Long
    If UBound(b) >= 0 Then
        tmpSum = tmpSum + a
        For Each item In b
            tmpSum = tmpSum + item
        Next
    Else
        For Each item In a
            tmpSum = tmpSum + item
        Next
    End If
    sum = tmpSum
End Function

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
发表于 2005-11-28 09:02:00 | 显示全部楼层

Re: Re: Re: Re:如何实现既要能用数组作参数,又要能用若干

Siner: Re: Re: Re:如何实现既要能用数组作参数,又要能用若干个数字作参数



有意见喔。
我觉得用数组才更好管理
如果赋值呢? 1000个变量你怎么用手来赋值?

for i = 1 to 10...



for i = 1 to 1000
a(i)=i
next i
那请问I等于几?
是不是A(1),A(2),A(3)都一样, 就是每个城市的士兵开始都一样?
你还不是要分开写
A(1)=2000
A(2)=3000
根本没意义, 你这个用法只适合飞机子弹(弓箭), 不适合城市管理.
游戏里也不可能用到1000个变量, 该用数组的地方我都用了,
不想用数组的地方我就用独立变量.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 18:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表