微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【swift】15-0608 方法

//方法
enum 怪物经验对应表: Int {
case 鸡 = 20,鹿 = 40,钉耙猫 =50,半兽人 = 80,森林雪人 = 135,骷髅 = 250,骷髅精灵 = 800,白野猪 = 2500,沃玛教主 = 4000,赤月恶魔 = 5000
}
struct 服务器经验倍数 {
var 开启 = false
var 倍数 = 0
}
//方法
class 人民币玩家 {
var 经验值 = 0
var 服倍数 = 服务器经验倍数()
func 挂机经验() {
经验值 += 200
}
func 打怪经验(#怪物经验值: Int,经验倍数: Int) {
经验值 += (怪物经验值 * 经验倍数)
if 服倍数.开启 && 服倍数.倍数 > 1 {
经验值 *= self.服倍数.倍数
}
}
}
var 法神 = 人民币玩家()
法神.挂机经验()
法神.服倍数.开启 = true
法神.服倍数.倍数 = 2
法神.打怪经验(怪物经验值: 怪物经验对应表.沃玛教主.toRaw(),经验倍数: 3)
类中的方法可以更改属性的值
结构体中的方法不能更改属性
struct 坐标 {
var x = 0,y = 0
mutating func 安全区坐标(横坐标: Int,纵坐标: Int) { //加上mutating,说明这是一个突变的方法,此时可以更改属性。如果不加mutating则会报错。
self.x = 横坐标
self.y = 纵坐标
}
func 安全区坐标(横坐标: Int,纵坐标: Int) {
self = 坐标(x: 横坐标,y: 纵坐标)
}
}
var 某坐标 = 坐标(x: 0,y: 0)
某坐标.安全区坐标(500,纵坐标: 500) //swift中把函数或结构体方法的第一个参数认不设为外部参数,第一个参数后面的参数都认以外部参数写出来。

//类方法,结构体方法 struct 复活 { static var hp = 0 static func 复活点(#死亡省: String) -> String { return 死亡省 + “安全区” } } class 玩家 { var 姓名 = “” var HP = 0 var 当前所在省 = “” init (姓名: String,HP: Int,当前所在省: String) { self.姓名 = 姓名 self.HP = HP self.当前所在省 = 当前所在省 } func 复活回安全区() { if HP == 0 { println(“您在(复活.复活点(死亡省: 当前所在省))复活!”) } } } var 菜鸟 = 玩家(姓名: “菜鸟2015”,HP: 200,当前所在省: “比奇省”) 菜鸟.当前所在省 = “盟重省” 菜鸟.HP = 0 菜鸟.复活回安全区()

原文地址:https://www.jb51.cc/swift/327003.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐