找回密码
 加入
搜索
楼主: apibits

[AU3基础] 关于For的循环问题,实在是头大了..求教!![附代码-已解决]

 火.. [复制链接]
发表于 2011-3-24 16:36:32 | 显示全部楼层
回复  3mile


    Level[3] = 2660 也就是 升级到4J需要 2660经验
而4那个就是升级到5级的经验
apibits 发表于 2011-3-24 11:33



   误解了...我还以为升级到3级需要2660经验....
发表于 2011-3-25 10:28:14 | 显示全部楼层
原来如此,总算看明白LZ的意思了
发表于 2011-3-25 22:48:08 | 显示全部楼层
Global $level[21] = [0, 800, 1760, 2660, 3620, 4700, 6982, 9478, 12441, 15884, 21801, 26680, 30144, 38540, 44250, 57850, 59456, 66410, 77000, 80000, 100000]

Dim $Lv, $tempExp, $iUpLv
$CurrentEXP = InputBox("Input", "当前拥有经验")
$WriteLv = InputBox("Input", "输入等级")

For $Lv = Int($WriteLv) To UBound($level) - 1 Step 1
        $tempExp += $level[$Lv]
        If $tempExp == $CurrentEXP Then
                $iUpLv = $Lv + 1
                ExitLoop
        Else
                $iUpLv = $Lv
                ExitLoop                
        EndIf
        If $Lv = 20 Then $iUpLv = $Lv
Next
发表于 2011-3-25 22:49:13 | 显示全部楼层
Global $level[21] = [0, 800, 1760, 2660, 3620, 4700, 6982, 9478, 12441, 15884, 21801, 26680, 30144, 38540, 44250, 57850, 59456, 66410, 77000, 80000, 100000]

Dim $Lv, $tempExp, $iUpLv
$CurrentEXP = InputBox("Input", "当前拥有经验")
$WriteLv = InputBox("Input", "输入等级")

For $Lv = Int($WriteLv) To UBound($level) - 1 Step 1
        $tempExp += $level[$Lv]
        If $tempExp == $CurrentEXP Then
                $iUpLv = $Lv + 1
                ExitLoop
        Else
                $iUpLv = $Lv
                ExitLoop                
        EndIf
        If $Lv = 20 Then $iUpLv = $Lv
Next
 楼主| 发表于 2011-3-26 01:29:22 | 显示全部楼层
回复 19# 298311657


    我就奇怪了...我试验的时候用这个代码 ,,为什么啥数据都出不来呢?

MsgBox(0,"",$Lv & @CRLF & $CurrentEXP & @CRLF  & @CRLF & UBound($XyLevel) - 1 & @CRLF & $tempExp)       
这个出现的数据都不对呢....输入6982经验,等级为3的时候
输出是 3回车6982回车回车20回车2660
发表于 2011-3-26 01:36:22 | 显示全部楼层
回复 20# apibits

有个地方翻译错了,抱歉
Global $level[21] = [0, 800, 1760, 2660, 3620, 4700, 6982, 9478, 12441, 15884, 21801, 26680, 30144, 38540, 44250, 57850, 59456, 66410, 77000, 80000, 100000]
Dim $Lv, $tempExp, $iUpLv
$CurrentEXP = InputBox("Input", "当前拥有经验")
$WriteLv = InputBox("Input", "输入等级")

For $Lv = Int($WriteLv) To UBound($level) - 1 Step 1
        $tempExp += $level[$Lv]
        If $tempExp == $CurrentEXP Then
                $iUpLv = $Lv + 1
                ExitLoop
        ElseIf $tempExp > $CurrentEXP Then
                $iUpLv = $Lv
                ExitLoop  
        EndIf
        If $Lv = 20 Then $iUpLv = $Lv
Next
MsgBox(0,0,$Lv)
 楼主| 发表于 2011-3-26 08:00:16 | 显示全部楼层
回复  apibits

有个地方翻译错了,抱歉
298311657 发表于 2011-3-26 01:36



    恩.感谢提供的代码..我看懂了...大哥是不是学过 Java啊~~~~

这个就是照着那个JAVA脚本到Au3 代码的
发表于 2011-4-4 00:28:17 | 显示全部楼层
学习中。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-1 06:49 , Processed in 0.068730 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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