Draw playfield border as solid blocks

This commit is contained in:
Trevor Slocum 2020-02-03 19:35:41 -08:00
parent e8207a9f1d
commit 62b55f5f34
4 changed files with 32 additions and 42 deletions

View File

@ -19,3 +19,15 @@ test:
stage: validate
script:
- go test -race -v ./...
build-netris:
stage: build
script:
- cd cmd/netris
- go build
build-netris-server:
stage: build
script:
- cd cmd/netris-server
- go build

View File

@ -1,3 +1,6 @@
0.1.6:
- Draw playfield border as solid blocks
0.1.5:
- Use default terminal colors

View File

@ -10,7 +10,6 @@ import (
"sync"
"time"
"github.com/gdamore/tcell"
"gitlab.com/tslocum/cview"
"gitlab.com/tslocum/netris/pkg/event"
"gitlab.com/tslocum/netris/pkg/game"
@ -71,14 +70,14 @@ var (
const DefaultStatusText = "Press Enter to chat, Z/X to rotate, arrow keys or HJKL to move/drop"
var (
renderHLine = []byte(string(tcell.RuneHLine))
renderVLine = []byte(string(tcell.RuneVLine))
renderLTee = []byte(string(tcell.RuneLTee))
renderRTee = []byte(string(tcell.RuneRTee))
renderULCorner = []byte(string(tcell.RuneULCorner))
renderURCorner = []byte(string(tcell.RuneURCorner))
renderLLCorner = []byte(string(tcell.RuneLLCorner))
renderLRCorner = []byte(string(tcell.RuneLRCorner))
renderHLine = []byte("[-:#444444] [-:-]")
renderVLine = []byte("[-:#444444] [-:-]")
renderLTee = []byte("[-:#444444] [-:-]")
renderRTee = []byte("[-:#444444] [-:-]")
renderULCorner = []byte("[-:#444444] [-:-]")
renderURCorner = []byte("[-:#444444] [-:-]")
renderLLCorner = []byte("[-:#444444] [-:-]")
renderLRCorner = []byte("[-:#444444] [-:-]")
)
func resetPlayerSettingsForm() {
@ -129,11 +128,11 @@ func handleResize(width int, height int) {
}
if screenH > mainHeight+9 {
screenPadding = 2
screenPadding = 1
mainHeight++
inputHeight = 2
} else if screenH > mainHeight+7 {
screenPadding = 2
screenPadding = 1
mainHeight++
inputHeight = 1
} else if screenH > mainHeight+5 {
@ -156,7 +155,7 @@ func handleResize(width int, height int) {
previewWidth = 18
}
multiplayerMatrixSize = ((screenW - screenPadding) - ((10 * xMultiplier) + previewWidth + 6)) / ((10 * xMultiplier) + 4)
multiplayerMatrixSize = ((screenW - screenPadding) - ((10 * xMultiplier) + previewWidth + 6)) / ((10 * xMultiplier) + 6)
newLogLines = ((screenH - mainHeight) - inputHeight) - screenPadding
if newLogLines > 0 {
@ -165,7 +164,7 @@ func handleResize(width int, height int) {
showLogLines = 1
}
gameGrid.SetRows(screenPadding, mainHeight, inputHeight, -1).SetColumns(screenPadding+1, 3+(10*xMultiplier), previewWidth, -1)
gameGrid.SetRows(screenPadding, mainHeight, inputHeight, -1).SetColumns(screenPadding+1, 5+(10*xMultiplier), previewWidth, -1)
draw <- event.DrawAll
}
@ -375,12 +374,12 @@ func renderPlayerDetails(m *mino.Matrix, bs int) {
buf = buf[:m.W*xMultiplier]
}
padBuf := ((m.W*xMultiplier - len(buf)) / 2) + 1
padBuf := ((m.W*xMultiplier - len(buf)) / 2) + 3
for i := 0; i < padBuf; i++ {
renderBuffer.WriteRune(' ')
}
renderBuffer.WriteString(buf)
padBuf = m.W*xMultiplier + 2 - len(buf) - padBuf
padBuf = m.W*xMultiplier + 4 - len(buf) - padBuf
for i := 0; i < padBuf; i++ {
renderBuffer.WriteRune(' ')
}

View File

@ -471,26 +471,12 @@ func renderTitle() {
}
func renderGameList() {
w := 32
w := 34
gameListView.Clear()
gameListView.Write(renderULCorner)
for i := 0; i < w; i++ {
gameListView.Write(renderHLine)
}
gameListView.Write(renderURCorner)
gameListView.Write([]byte("\n"))
gameListView.Write(renderVLine)
gameListView.Write([]byte(fmt.Sprintf("%-25s%s", "Game", "Players")))
gameListView.Write(renderVLine)
gameListView.Write([]byte("\n"))
gameListView.Write(renderLTee)
for i := 0; i < w; i++ {
gameListView.Write(renderHLine)
}
gameListView.Write(renderRTee)
gameListView.Write([]byte(fmt.Sprintf("%-27s%s", "Game", "Players")))
gameListView.Write([]byte("\n"))
h := 10
@ -501,15 +487,13 @@ func renderGameList() {
p += "/" + strconv.Itoa(g.MaxPlayers)
}
gameListView.Write(renderVLine)
if titleSelectedButton == 0 && gameListSelected == i {
gameListView.Write([]byte("[#000000:#FFFFFF]"))
}
gameListView.Write([]byte(fmt.Sprintf("%-25s%7s", g.Name, p)))
gameListView.Write([]byte(fmt.Sprintf("%-27s%7s", g.Name, p)))
if titleSelectedButton == 0 && gameListSelected == i {
gameListView.Write([]byte("[-:-]"))
}
gameListView.Write(renderVLine)
gameListView.Write([]byte("\n"))
h--
@ -517,19 +501,11 @@ func renderGameList() {
if h > 0 {
for i := 0; i < h; i++ {
gameListView.Write(renderVLine)
for i := 0; i < w; i++ {
gameListView.Write([]byte(" "))
}
gameListView.Write(renderVLine)
}
}
gameListView.Write(renderLLCorner)
for i := 0; i < w; i++ {
gameListView.Write(renderHLine)
}
gameListView.Write(renderLRCorner)
}
func refreshGameList() {