aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go62
1 files changed, 3 insertions, 59 deletions
diff --git a/main.go b/main.go
index 3de2cd5..e0ad4b4 100644
--- a/main.go
+++ b/main.go
@@ -3,64 +3,9 @@ package main
import (
"fmt"
"github.com/pkg/term"
+ "git.kiefte.eu/lapingvino/clitris/tris"
)
-type PieceType int
-
-const (
- IPiece PieceType = iota
- JPiece
- LPiece
- SPiece
- ZPiece
- TPiece
- OPiece
-)
-
-type Point struct {
- X, Y int
-}
-
-type Piece struct {
- Type PieceType
- RelX int
- RelY int
- Layout []Point
- Lock int
-}
-
-type Bag []Piece
-
-type Field [20][10]bool
-
-func (f Field) String() (output string) {
- var toprow [10]bool
- var top bool
- for _, row := range f {
- top = !top
- for i, block := range row {
- if top {
- toprow[i] = block
- continue
- }
- switch {
- case toprow[i] && block:
- output += "\u2588"
- case toprow[i] && !block:
- output += "\u2580"
- case !toprow[i] && block:
- output += "\u2584"
- default:
- output += " "
- }
- }
- if !top {
- output += "\n"
- }
- }
- return output
-}
-
// GetKey() returns the key currently pressed. It always returns a 3 byte slice. Check first element for Escape for handling arrow keys
// Because a defer would trigger too late and the Restore and Close are essential, separated in a function.
func GetKey() []byte {
@@ -74,10 +19,9 @@ func GetKey() []byte {
}
func main() {
- var f Field
+ var f tris.Field
fmt.Print("\033[2J") // Clear screen
- p := Point{}
- var oldp Point
+ var p, oldp tris.Point
for {
fmt.Print("\033[2J") // Clear screen
f[oldp.Y][oldp.X] = false