drawBorder.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package game
  2. import (
  3. "strconv"
  4. "github.com/gdamore/tcell/v3"
  5. )
  6. func (game *Game) drawBorder(x, y, size int) {
  7. // Rulers
  8. var rulerx int
  9. rulerx = 1
  10. var rulery int
  11. rulery = 1
  12. for row := x; row < x+size+2; row++ {
  13. for col := y; col < y+size+2; col++ {
  14. // Draw the lines
  15. if row == x+size+1 && col != y && col != y+size+1 {
  16. game.screen.Put(row, col, string(tcell.RuneVLine), game.style.text)
  17. }
  18. if col == y+size+1 && row != x && row != x+size+1 {
  19. game.screen.Put(row, col, string(tcell.RuneHLine), game.style.text)
  20. }
  21. // Doing corner cases
  22. if row == x && col == y {
  23. game.screen.Put(row, col, string(tcell.RuneULCorner), game.style.text)
  24. }
  25. if row == x+size+1 && col == y {
  26. game.screen.Put(row, col, string(tcell.RuneURCorner), game.style.text)
  27. }
  28. if row == x && col == y+size+1 {
  29. game.screen.Put(row, col, string(tcell.RuneLLCorner), game.style.text)
  30. }
  31. if row == x+size+1 && col == y+size+1 {
  32. game.screen.Put(row, col, string(tcell.RuneLRCorner), game.style.text)
  33. }
  34. // Printing parms
  35. // X
  36. if col == y && row != x && row != x+size+1 {
  37. game.screen.Put(row, col, strconv.Itoa(rulerx), game.style.text)
  38. rulerx++
  39. }
  40. // Y
  41. if row == x && col != y && col != y+size+1 {
  42. game.screen.Put(row, col, strconv.Itoa(rulery), game.style.text)
  43. rulery++
  44. }
  45. // This doesn't work
  46. if rulerx == 10 {
  47. rulerx = 0
  48. }
  49. // But this works
  50. if rulery == 10 {
  51. rulery = 0
  52. }
  53. }
  54. }
  55. }