diff options
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -56,6 +56,7 @@ func GetKey(t *term.Term) []byte { func main() { restart: var startlevel int + var pause bool if len(os.Args) > 1 { startlevel, _ = strconv.Atoi(os.Args[1]) } @@ -100,7 +101,11 @@ restart: sscore := fmt.Sprintf("score %d", score) slines := fmt.Sprintf("lines %d", linescleared) if !harddrop { - ppos(0, 0, "Hold (c)") + if pause { + ppos(0, 0, " PAUSED ") + } else { + ppos(0, 0, "Hold (c)") + } npos(3, 0, tris.HoldBox) fpos(0, 10, f.Add(p)) var next tris.Field @@ -124,8 +129,8 @@ restart: case 68: // Left x = p.X - 1 default: - ppos(22, 0, "...escape, escape!") - return + ppos(0, 0, "PAUSE") + pause = !pause } case 'w', 'i': // Up rot = (p.Rot + 1) % 4 @@ -155,6 +160,9 @@ restart: ppos(22, 0, "...never let an engineer pick the name of your software?") return } + if pause { + continue + } select { case <-lev.C: y = p.Y + 1 |