everything I got
This commit is contained in:
93
geometry/square.go
Normal file
93
geometry/square.go
Normal file
@@ -0,0 +1,93 @@
|
||||
package geom
|
||||
|
||||
import (
|
||||
"image/color"
|
||||
|
||||
"github.com/hajimehoshi/ebiten/v2"
|
||||
)
|
||||
|
||||
var GrayFill = color.RGBA{R: 128, G: 128, B: 128, A: 255}
|
||||
var RedFill = color.RGBA{R: 200, G: 0, B: 0, A: 255}
|
||||
var GreenFill = color.RGBA{R: 0, G: 200, B: 0, A: 255}
|
||||
var BlueFill = color.RGBA{R: 0, G: 0, B: 200, A: 255}
|
||||
var LightRedFill = color.RGBA{R: 255, G: 104, B: 103, A: 255}
|
||||
var LightGreenFill = color.RGBA{R: 144, G: 255, B: 143, A: 255}
|
||||
var LightBlueFill = color.RGBA{R: 150, G: 150, B: 255, A: 255}
|
||||
|
||||
var RGBColourMap = map[int]color.Color{
|
||||
0: RedFill,
|
||||
1: GreenFill,
|
||||
2: BlueFill,
|
||||
}
|
||||
|
||||
var AllColourMap = map[int]color.Color{
|
||||
0: GrayFill,
|
||||
1: RedFill,
|
||||
2: GreenFill,
|
||||
3: BlueFill,
|
||||
4: LightRedFill,
|
||||
5: LightBlueFill,
|
||||
6: LightGreenFill,
|
||||
}
|
||||
|
||||
var LightRGBMap = map[int]color.Color{
|
||||
0: LightRedFill,
|
||||
1: LightGreenFill,
|
||||
2: LightBlueFill,
|
||||
}
|
||||
|
||||
type Square struct {
|
||||
x int
|
||||
y int
|
||||
clr color.Color
|
||||
width int
|
||||
height int
|
||||
Img *ebiten.Image
|
||||
RGBColourIndex int
|
||||
}
|
||||
|
||||
func MakeSquare(size int) Square {
|
||||
image := ebiten.NewImage(size, size)
|
||||
defaultColor := color.RGBA{R: 128, G: 128, B: 128, A: 255}
|
||||
image.Fill(defaultColor)
|
||||
sq := Square{clr: defaultColor, Img: image, width: size, height: size, x: 0, y: 0, RGBColourIndex: -1}
|
||||
return sq
|
||||
}
|
||||
|
||||
func (sq *Square) ChangeColour(newColor color.Color) {
|
||||
sq.clr = newColor
|
||||
sq.Img.Fill(newColor)
|
||||
}
|
||||
|
||||
func (sq *Square) SetPosition(x int, y int) {
|
||||
sq.x = x
|
||||
sq.y = y
|
||||
}
|
||||
|
||||
func (sq *Square) X() int {
|
||||
return sq.x
|
||||
}
|
||||
|
||||
func (sq *Square) Y() int {
|
||||
return sq.y
|
||||
}
|
||||
|
||||
func (sq *Square) moveRightOnGrid() {
|
||||
newX := sq.x + GameGrid.squareSize + GameGrid.squareSpacing
|
||||
sq.x = newX
|
||||
}
|
||||
|
||||
func (sq *Square) moveLeftOnGrid() {
|
||||
newX := sq.x - GameGrid.squareSize - GameGrid.squareSpacing
|
||||
sq.x = newX
|
||||
}
|
||||
|
||||
func (sq *Square) moveDownOnGrid() {
|
||||
newY := sq.y + GameGrid.squareSize + GameGrid.squareSpacing
|
||||
sq.y = newY
|
||||
}
|
||||
|
||||
func (sq *Square) moveUpOnGrid() {
|
||||
newY := sq.y - GameGrid.squareSize - GameGrid.squareSpacing
|
||||
sq.y = newY
|
||||
}
|
||||
Reference in New Issue
Block a user