因为qbcolor()的参数数据类型是整形,如果用rnd*16,当产生的随机数大于15.5时,在转变为整形时四舍五入后的值为16,超过qbcolor()的范围。qbcolor()函数的参数范围为0至15,这不是数据类型的问题,而是取值范围的问题,就像在实数范围内,对负数进行开根号是不对的。
在 Rnd*16 外面套一个 CInt() 就可以了。
Circle (ScaleWidth / 2, ScaleHeight / 2), i * 100, QBColor(Cint(Rnd*16))
少的是0
rnd得不到0