Enemies now chase the player, but no combat yet.

master
Zed A. Shaw 5 days ago
parent 6a6c3b9013
commit dc2569f8e2
  1. 22
      main.go

@ -21,6 +21,7 @@ const (
RENDER = true RENDER = true
SHOW_RENDER = false SHOW_RENDER = false
SHOW_PATHS = true SHOW_PATHS = true
HEARING_DISTANCE = 6
) )
type Map [][]rune type Map [][]rune
@ -399,6 +400,26 @@ func (game *Game) PathEnemies() {
dbg.Println("pathing is", game.paths) dbg.Println("pathing is", game.paths)
} }
func (game *Game) EnemyMovement() {
for pos, _ := range game.enemies {
p_enemy := game.paths[pos.y][pos.x]
for _, path_at := range compass(pos.x, pos.y, 1) {
p_num := game.paths[path_at.y][path_at.x]
can_hear := p_num < HEARING_DISTANCE
is_open := !game.Occupied(path_at.x, path_at.y)
lower := p_num < p_enemy
if can_hear && is_open && lower {
game.MoveEnemy(pos, path_at)
break
}
}
}
}
func (game *Game) AddRooms(dead_ends []Position, size int) { func (game *Game) AddRooms(dead_ends []Position, size int) {
rand.Shuffle(len(dead_ends), func(i, j int) { rand.Shuffle(len(dead_ends), func(i, j int) {
dead_ends[i], dead_ends[j] = dead_ends[j], dead_ends[i] dead_ends[i], dead_ends[j] = dead_ends[j], dead_ends[i]
@ -445,6 +466,7 @@ func main() {
for game.HandleEvents() { for game.HandleEvents() {
game.PathEnemies() game.PathEnemies()
game.EnemyMovement()
game.Render() game.Render()
} }

Loading…
Cancel
Save