snake/apple.go

52 lines
983 B
Go

package main
import (
"math/rand"
"github.com/gdamore/tcell/v2"
)
// getFoodItem returns an emoji from a string used to represent food
// Takes no arguments, but returns an emoji/rune from a predefined string
// func getFoodItem() rune {
// var foods string = "🐵🐱🐷🐁🐇🐿🦇🐓🐣🐸🦎🍎🍏"
// foodsRune := []rune(foods)
// randomIndex := rand.Intn(len(foodsRune))
// return foodsRune[randomIndex]
// }
// func placeApple(snakex int, snakey int) Apple {
func placeApple(snake *Snake) Apple {
var x, y int
var found bool
for !found {
x = rand.Intn(80)
y = rand.Intn(24)
if x != snake.head.x && y != snake.head.y {
found = true
}
if x == 0 || x == 79 || y == 0 || y == 23 {
found = false
}
if hitsTail(snake, x, y) {
found = false
}
}
apple := Apple{
x: x,
y: y,
}
return apple
}
func drawApple(screen tcell.Screen, style tcell.Style, apple *Apple) {
screen.SetContent(apple.x, apple.y, 'o', nil, style)
}