Я пытаюсь создать некоторый код, который имитирует эксперимент с котом Шредингера с некоторыми изменениями.Я очень новичок в Swift и вообще программирую, поэтому я борюсь с основами.
Я пробовал кое-что, но чувствую, что хожу по кругу.
struct Cat: Explosive, Bunker {
let name: String
var isAlive: Bool?
var bombExploded: Bool?
init(name:String, isAlive: Bool?, bombExploded: Bool?){
self.name = "Jessica"
self.isAlive = nil
self.bombExploded = bombExploded
}
func detonate () -> Bool {
let halfTime = Bool.random()
if halfTime {
return halfTime == bombExploded
}
else {
return halfTime == bombExploded
}
}
func open() {
let explosive = bombExploded
if bombExploded == nil {
print("Cat ded")
}else {
print("Live cat live")
}
}
}
protocol Explosive {
func detonate () -> Bool
}
protocol Bunker {
//: - TODO: when initialising cat's `isAlive` should be set to nil, to represent that cat is in a super-position
var occupent: Cat { get set }
var explosive: Explosive { get }
//: - TODO: By the mere action of opening the bunker door, determines the state of the cat's life.
func open()
}
Я чувствовал, что на правильном пути, пока не начал реализовывать протокол Bunker
.Я знаю, что мне не хватает некоторого кода, и, вероятно, есть многочисленные ошибки, однако я не уверен, как исправить то, что я сделал.