You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

59 lines
878 B

package main
import "github.com/01-edu/z01"
const CLOSE = 0
const OPEN = 1
type Door struct {
State int
}
func PrintStr(str string) {
arrayRune := []rune(str)
for _, s := range arrayRune {
z01.PrintRune(s)
}
z01.PrintRune('\n')
}
func CloseDoor(ptrDoor *Door) {
PrintStr("Door Closing...")
ptrDoor.State = CLOSE
}
func OpenDoor(ptrdoor *Door) {
PrintStr("Door Opening...")
ptrdoor.State = OPEN
}
func IsDoorOpened(ptrDoor *Door) bool {
PrintStr("is the Door opened ?")
if ptrDoor.State == OPEN {
return true
}
return false
}
func IsDoorClosed(ptrDoor *Door) bool {
PrintStr("is the Door closed ?")
if ptrDoor.State == CLOSE {
return true
}
return false
}
func main() {
var door Door
OpenDoor(&door)
if IsDoorClosed(&door) {
OpenDoor(&door)
}
if IsDoorOpened(&door) {
CloseDoor(&door)
}
if door.State == OPEN {
CloseDoor(&door)
}
}