diff --git a/snake.go b/game.go similarity index 78% rename from snake.go rename to game.go index 082a8c4..7d0ab53 100644 --- a/snake.go +++ b/game.go @@ -1,28 +1,24 @@ package main import ( + "fmt" "log" + "strconv" "github.com/gdamore/tcell/v2" ) -func drawText(s tcell.Screen, x1, y1, x2, y2 int, style tcell.Style, text string) { - row := y1 - col := x1 - for _, r := range []rune(text) { - s.SetContent(col, row, r, nil, style) - col++ - if col >= x2 { - row++ - col = x1 - } - if row > y2 { - break - } +func updateScore(screen tcell.Screen, style tcell.Style, score int) { + var x, y int + _, y = screen.Size() + x = 5 + for _, r := range []rune("[ Score: " + strconv.FormatInt(int64(score), 10) + " ]") { + screen.SetContent(x, y-1, r, nil, style) + x++ } } -func drawBox(s tcell.Screen, x1, y1, x2, y2 int, style tcell.Style, text string) { +func drawBox(s tcell.Screen, x1, y1, x2, y2 int, style tcell.Style) { if y2 < y1 { y1, y2 = y2, y1 } @@ -55,7 +51,8 @@ func drawBox(s tcell.Screen, x1, y1, x2, y2 int, style tcell.Style, text string) s.SetContent(x2, y2, '╝', nil, style) } - drawText(s, x1+1, y1+1, x2-1, y2-1, style, text) + //drawText(s, x1+1, y1+1, x2-1, y2-1, style, text) + updateScore(s, style, 10) } func main() { @@ -77,7 +74,7 @@ func main() { screen.Clear() - drawBox(screen, 0, 0, x-1, y-1, defaultStyle, "There should be worms here!") + drawBox(screen, 0, 0, x-1, y-1, defaultStyle) quit := func() { // You have to catch panics in a defer, clean up, and @@ -97,13 +94,14 @@ func main() { switch ev := ev.(type) { case *tcell.EventResize: x, y := screen.Size() - drawBox(screen, 0, 0, x-1, y-1, defaultStyle, "There should be worms here!") + drawBox(screen, 0, 0, x-1, y-1, defaultStyle) + fmt.Println("size=ok:", checkSize(screen)) screen.Sync() case *tcell.EventKey: //fmt.Println("Key: ",ev.Rune()) if ev.Key() == tcell.KeyEscape || ev.Key() == tcell.KeyCtrlC { return - } else if ev.Rune() == 'q' { + } else if ev.Rune() == 'q' || ev.Rune() == 'Q' { return } else if ev.Key() == tcell.KeyCtrlL { screen.Sync()