42 lines
		
	
	
		
			566 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			566 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import (
 | 
						|
	"math/rand"
 | 
						|
 | 
						|
	"github.com/gdamore/tcell/v2"
 | 
						|
)
 | 
						|
 | 
						|
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)
 | 
						|
}
 |