mirror of https://github.com/01-edu/public.git
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
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) |
|
} |
|
}
|
|
|