package main
import (
"io"
"math"
"math/rand"
"time"
"github.com/hajimehoshi/ebiten"
"github.com/hajimehoshi/ebiten/ebitenutil"
"golang.org/x/image/colornames"
)
var obrazok *ebiten.Image
var calkokiller *ebiten.Image
var x float64
var y float64
var d float64 = 50
var z float64 = 50
func update(screen *ebiten.Image) error {
if ebiten.IsKeyPressed(ebiten.KeyLeft) {
x -= 5
}
if ebiten.IsKeyPressed(ebiten.KeyRight) {
x += 5
}
if ebiten.IsKeyPressed(ebiten.KeyDown) {
y += 5
}
if ebiten.IsKeyPressed(ebiten.KeyUp) {
y -= 5
}
screen.Fill(colornames.White)
var opts ebiten.DrawImageOptions
var nopts ebiten.DrawImageOptions
opts.GeoM.Translate(x, y)
nopts.GeoM.Translate(d, z)
z += 7
if z > 1000 {
d = rand.Float64() * 800
z = 0
}
if x > 800 {
x = 0
}
if x < 0 {
x = 800
}
if y > 1000 {
y = 0
}
if y < 0 {
y = 1000
}
if math.Abs(x+40-(d+40)) < 110 && math.Abs(y+35-(z+35)) < 45 {
return io.EOF
}
screen.DrawImage(obrazok, &opts)
screen.DrawImage(calkokiller, &nopts)
return nil
}
func main() {
obrazok, _, _ = ebitenutil.NewImageFromFile("sd2.png", ebiten.FilterLinear)
calkokiller, _, _ = ebitenutil.NewImageFromFile("arrow.png", ebiten.FilterLinear)
ebiten.Run(update, 800, 1000, 1, "calko IIIIII")
rand.Seed(time.Now().UnixNano())
}
Comments