28 lines
421 B
Go
28 lines
421 B
Go
package dungeon
|
|
|
|
type Visibility int
|
|
|
|
const (
|
|
Hidden Visibility = iota
|
|
Visited
|
|
Visible
|
|
)
|
|
|
|
func UpdateVisibility(floor *Floor) {
|
|
for i, room := range floor.Rooms {
|
|
if i == floor.CurrentRoom {
|
|
room.Visited = true
|
|
}
|
|
}
|
|
}
|
|
|
|
func GetRoomVisibility(floor *Floor, roomIdx int) Visibility {
|
|
if roomIdx == floor.CurrentRoom {
|
|
return Visible
|
|
}
|
|
if floor.Rooms[roomIdx].Visited {
|
|
return Visited
|
|
}
|
|
return Hidden
|
|
}
|