code-prettify swift
by Slava Slava
HTML
<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?lang=swift"></script>
<pre class="prettyprint lang-swift">
protocol PlayerType {
var health: Int { get set }
var speed: Int { get set }
var move: String { get set }
}
class HumanPlayer: PlayerType {
var health: Int = 100
var speed: Int = 6
var move: String = "walk"
}
class BirdPlayer: PlayerType {
var health: Int = 70
var speed: Int = 15
var move: String = "fly"
}
class LionPlayer: PlayerType {
var health: Int = 30
var speed: Int = 40
var move: String = "run"
}
class Player {
var state: PlayerType = HumanPlayer()
var aim = "Castle"
func move() {
print("\(state.move) to \(aim) with speed \(state.speed) per km")
}
func drinkMagicPotion(magic: String) {
switch magic {
case "bird":
state = BirdPlayer()
case "animal":
state = LionPlayer()
default:
state = HumanPlayer()
}
}
}
</pre>