【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
菜鸟.复活回安全区()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值