Spawn pieces within view

This commit is contained in:
Trevor Slocum 2020-02-20 14:25:13 -08:00
parent 0398a2a13c
commit d09c858f71
5 changed files with 18 additions and 9 deletions

View File

@ -1,3 +1,6 @@
0.1.7:
- Spawn pieces within view
0.1.6:
- Persist settings via configuration file
- Draw playfield border as solid blocks

5
go.mod
View File

@ -10,7 +10,8 @@ require (
github.com/gliderlabs/ssh v0.2.2
github.com/mattn/go-isatty v0.0.12
gitlab.com/tslocum/cbind v0.1.1
gitlab.com/tslocum/cview v1.4.4-0.20200216181307-c6599f4ee261
golang.org/x/crypto v0.0.0-20200214034016-1d94cc7ab1c6
gitlab.com/tslocum/cview v1.4.4-0.20200220174815-3bf6bb259c75
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975
golang.org/x/sys v0.0.0-20200219091948-cb0a6d8edb6c // indirect
gopkg.in/yaml.v2 v2.2.8
)

10
go.sum
View File

@ -23,11 +23,11 @@ github.com/rivo/uniseg v0.1.0 h1:+2KBaVoUmb9XzDsrx/Ct0W/EYOSFf/nWTauy++DprtY=
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
gitlab.com/tslocum/cbind v0.1.1 h1:JXXtxMWHgWLvoF+QkrvcNvOQ59juy7OE1RhT7hZfdt0=
gitlab.com/tslocum/cbind v0.1.1/go.mod h1:rX7vkl0pUSg/yy427MmD1FZAf99S7WwpUlxF/qTpPqk=
gitlab.com/tslocum/cview v1.4.4-0.20200216181307-c6599f4ee261 h1:5EAh+iLkvHBBR+jUWCRZEvOLiMCRAxvWvrA31wDTSN8=
gitlab.com/tslocum/cview v1.4.4-0.20200216181307-c6599f4ee261/go.mod h1:+bEf1cg6IoWvL16YHJAKwGGpQf5s/nxXAA7YJr+WOHE=
gitlab.com/tslocum/cview v1.4.4-0.20200220174815-3bf6bb259c75 h1:htStKLVVrf77HtDVx0jFY4YUO45w/FaESnu2U+T2gKY=
gitlab.com/tslocum/cview v1.4.4-0.20200220174815-3bf6bb259c75/go.mod h1:+bEf1cg6IoWvL16YHJAKwGGpQf5s/nxXAA7YJr+WOHE=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20200214034016-1d94cc7ab1c6 h1:Sy5bstxEqwwbYs6n0/pBuxKENqOeZUgD45Gp3Q3pqLg=
golang.org/x/crypto v0.0.0-20200214034016-1d94cc7ab1c6/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 h1:/Tl7pH94bvbAAHBdZJT947M/+gp0+CqQXDtMRC0fseo=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -37,6 +37,8 @@ golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfru
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4 h1:sfkvUWPNGwSV+8/fNqctR5lS2AqCSqYwXdrjCxp/dXo=
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200219091948-cb0a6d8edb6c h1:jceGD5YNJGgGMkJz79agzOln1K9TaZUjv5ird16qniQ=
golang.org/x/sys v0.0.0-20200219091948-cb0a6d8edb6c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=

View File

@ -138,8 +138,6 @@ func createTemporaryConfig() (string, error) {
return "", err
}
log.Println(f.Stat())
f.Close()
return filepath.Clean(f.Name()), err
}

View File

@ -116,11 +116,12 @@ func (m *Matrix) takePiece() bool {
if spawn.X < 0 || spawn.Y < 0 {
return false
}
p.Point = spawn
m.P = p
m.lowerPiece()
return true
}
@ -614,6 +615,10 @@ func (m *Matrix) LowerPiece() {
m.Lock()
defer m.Unlock()
m.lowerPiece()
}
func (m *Matrix) lowerPiece() {
if m.GameOver {
return
} else if m.canAddAt(m.P, Point{m.P.X, m.P.Y - 1}) {