aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorJoop Kiefte <ikojba@gmail.com>2020-08-27 04:04:33 +0200
committerJoop Kiefte <ikojba@gmail.com>2020-08-27 04:04:33 +0200
commite7099a6f597f227cf141f621e28dcc2acf64fdf3 (patch)
tree18c5820d4c683142fb18c5dc897b49c222fca21e /main.go
Initial commit
Diffstat (limited to 'main.go')
-rw-r--r--main.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..a436135
--- /dev/null
+++ b/main.go
@@ -0,0 +1,61 @@
+package main
+
+import (
+ "fmt"
+ "time"
+)
+
+type Piece int
+
+const (
+ IPiece Piece = iota
+ JPiece
+ LPiece
+ SPiece
+ ZPiece
+ TPiece
+ OPiece
+)
+
+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
+}
+
+func main() {
+ var f Field
+ fmt.Print("\033[2J") // Clear screen
+ for i := 0; i < 200; i++ {
+ if (i+i/10)%2 == 0 {
+ f[i/10][i%10] = true
+ }
+ fmt.Print("\033[0;0H") // Position to 0,0
+ fmt.Println(f.String())
+ time.Sleep(time.Second/1000)
+ }
+}