Draw playfield border as solid blocks
This commit is contained in:
parent
e8207a9f1d
commit
62b55f5f34
4 changed files with 32 additions and 42 deletions
|
@ -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
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
0.1.6:
|
||||
- Draw playfield border as solid blocks
|
||||
|
||||
0.1.5:
|
||||
- Use default terminal colors
|
||||
|
||||
|
|
|
@ -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(' ')
|
||||
}
|
||||
|
|
|
@ -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() {
|
||||
|
|
Loading…
Reference in a new issue