/*知识点
(最重要的一点 函数也好子程序也好 一定要明白他们的作用域
在主脚本 声明的变量 就是全局变量
在子程 子程序里声明的变量 叫 局部变量
1子程序
2带参子程序
3参数的用法 与技巧
4形参与实参
(子程序 带参子程序 参数的用法 与技巧 形参与实参 例子跟说明)
子程序和函数的区别就是 子程序没返回值 函数有返回值
*/
//下面的是主程序的内容
Dim intX : Dim intY
intX=100:intY=200
Call 打怪// 用call来调用子程序 后面跟子程序名 和参数没有参数可以不用写
Call 走到定点坐标(intx,inty)//这里intx inty就是实参 就是存在的变量 把实参带到给走到定点坐标
//子程序里简单的说 就是那个做标X 和做标Y的值 就等于intx和intY的值
百分比血 = 百分比计算公式()
TracePrint "通过函数百分比计算公式得到的百分比血是 " & 百分比血
血=百分比计算(intX,intY)
血20=百分比计算(intX,intY)*0.2
TracePrint "通过函数百分比计算得到的血是 " & 血
百分20血 = 血 * 0.2
TracePrint "百分之20的血是 " & 百分20血
TracePrint "百分之20的血是 " & 血20
//当然你也可以写成这样//无参数子程序 //作用 来用封装一些功能的程序 比如 打怪 加血 买药 跑标
Sub 打怪()// 子程序用SUB来声明 后面跟子程序名()是参数 无参数的可以不写参数
TracePrint "正在打怪"
End Sub //sub 与 end sub 之间的都是子程序的内容//(需要注意的是子程序不被调用 永远不会执行)
//带参数子程序 //作用 来用封装一些功能的程序 比如 坐标 位置 这可以给子程序里的形数赋上值
// 这样在子程序里的形参都会变成实际传送的实参来执行
带参数子程序
Sub 走到定点坐标(坐标X,坐标Y)// 坐标X和坐标Y 就是参数 这里的X和Y 是形参 就是不存在的变量没有数值
//形参只在子程序里被使用 出了子程序就没用了
MoveTo 坐标X, 坐标y //子程序被调用后就等同于语句 moveto 100,200
//因为intx inty主程序里是100,200
Delay 200
LeftClick 1
// 这里特别需要注意的就是 所有子程序里的变量只要离开子程序就会被清空
// 所以他都是局部变量 不会改变主程序里的变量
End Sub/*
5函数
6带参函数
7函数的返回值
8参数的用法与技巧 形参与实参(函数 带参函数 函数的返回值 参数的用法与技巧 形参与实参 例子跟说明)
*/
//无参数函数 /作用 来用封装一些功能的程序 比如 计算 打怪 加血 买药 但是他可以把结果返回给主程序
Function 百分比计算公式()//函数用function来声明 后面跟子函数()是参数 无参数的可以不写参数
intX = 200 //注意这里的变量跟主程序的一样是可以的, 但是只会在函数里有效出了函数就没了
intY = 300 //出非你在主程序里用intX或者intY=函数名()给他强行赋值
//主程序的值才会变成函数计算完的结果
百分比公式=intX+(intY-intX)/100 //这里是血条的百分比的计算公式 放到函数里用到就调用函数就行
百分比计算公式 = 百分比公式 // 这句就是把计算的结果返回到百分比计算公式里, 然后主程序里用个
// 变量=百分比计算公式()来接收这个算出来的百分比结果就行了//函数返回值的写法就是 函数名=变量 意思 就是把变量赋给函数了 也就是说 a=函数名()
//这个a的值里就存了 面分比计算公式的结果了End Function//同样 end function 就是函数的结束语句
//有参数函数 //作用 来用封装一些功能的程序 多数用来处理功能 用实参把要处理的内容传递到函数里然后
//用于把处理的结束返回给主程序的变量
//本例用来传递XY的坐标然后算出来百分比血 然后给赋值给 变量血
Function 百分比计算(坐标X, 坐标Y)//这里因为给了形参了 只要调用就会变实参传递进去所以不用在给
//坐标X和坐标Y赋值了 因为调用时的实参就是坐标X和坐标Y的值
百分比公式=坐标X+(坐标Y-坐标X)/100 //这里还是计算那个公式
百分比计算 = 百分比公式 //这里也一样把公式处理的结果给函数百分比计算 方便主程序接收返回值
End Function