From 0dd8bd79cbbb6abc8df9e6e3d740e3ddfc79c618 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Thu, 17 Oct 2019 17:39:59 -0400 Subject: [PATCH] End the game when new pieces can't be placed --- Tetris Mac/ContentView.swift | 4 ++++ Tetris/ContentView.swift | 4 ++++ TetrisKit/GameController.swift | 26 ++++++++++++++++---------- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/Tetris Mac/ContentView.swift b/Tetris Mac/ContentView.swift index 391251f..b151a17 100644 --- a/Tetris Mac/ContentView.swift +++ b/Tetris Mac/ContentView.swift @@ -60,6 +60,10 @@ struct ContentView: View { func startTimer() { self.timer = Timer.scheduledTimer(withTimeInterval: 0.5, repeats: true, block: { (_) in + guard case .playing(_) = self.controller.state else { + self.stopTimer() + return + } self.controller.step() }) } diff --git a/Tetris/ContentView.swift b/Tetris/ContentView.swift index f122425..496fe1d 100644 --- a/Tetris/ContentView.swift +++ b/Tetris/ContentView.swift @@ -123,6 +123,10 @@ struct ContentView: View { func startTimer() { self.timer = Timer.scheduledTimer(withTimeInterval: 0.5, repeats: true) { (_) in + guard case .playing(_) = self.controller.state else { + self.stopTimer() + return + } self.controller.step() } } diff --git a/TetrisKit/GameController.swift b/TetrisKit/GameController.swift index 00b104f..004f6c6 100644 --- a/TetrisKit/GameController.swift +++ b/TetrisKit/GameController.swift @@ -32,10 +32,6 @@ public class GameController: ObservableObject { @Published public var score = 0 var previousPieceWasTetris = false - public var ended: Bool { - return (0..