From 2a9cb8e6775392278b7a55ebb4fd7bd622c8cfe0 Mon Sep 17 00:00:00 2001 From: Aaron Date: Sat, 23 Jan 2021 17:09:31 -0500 Subject: [PATCH] Theoretical RPS WVM completed --- .../AlarmActivationViewController.swift | 37 ++++++++++++++++++- ProjectClock/Base.lproj/Main.storyboard | 25 ++++++++++++- ProjectClock/TestingViewController.swift | 2 +- 3 files changed, 60 insertions(+), 4 deletions(-) diff --git a/ProjectClock/AlarmActivationViewController.swift b/ProjectClock/AlarmActivationViewController.swift index 092de54..d976b31 100644 --- a/ProjectClock/AlarmActivationViewController.swift +++ b/ProjectClock/AlarmActivationViewController.swift @@ -13,12 +13,17 @@ class AlarmActivationViewController: UIViewController var timer: Timer? var currentAlarm: Alarm? - //Outlets + //Puzzle outlets @IBOutlet weak var puzzleView: UIView! @IBOutlet weak var puzzleQuestionLabel: UILabel! @IBOutlet weak var puzzleAnswerInput: UITextField! var puzzleAnswers: [Int] = [] + //RPS Outlets + @IBOutlet weak var rpsView: UIView! + @IBOutlet weak var rpsResult: UILabel! + + init?(coder: NSCoder, currentAlarm: Alarm) { self.currentAlarm = currentAlarm @@ -35,6 +40,7 @@ class AlarmActivationViewController: UIViewController super.viewDidLoad() //Hide all inactive wakemethods puzzleView.isHidden = true + rpsView.isHidden = true timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(AlarmActivationViewController.playSound), userInfo: nil, repeats: true) setAlarmType() @@ -61,6 +67,10 @@ class AlarmActivationViewController: UIViewController puzzleView.isHidden = false case "Smash": print("") + case "RPS": + rpsView.isHidden = false + //Get Choice here + //rpsAction(choice: choice) default: print("Invalid alarm type") } @@ -78,6 +88,31 @@ class AlarmActivationViewController: UIViewController } } + //Gets RPS choice + @IBAction func rockChoice(_ sender: Any) { + if rpsAction(choice: .rock)! { + endAlarm() + } else { + rpsResult.text = "Paper: You lost, try again" + } + } + @IBAction func paperChoice(_ sender: Any) { + if rpsAction(choice: .paper)! { + endAlarm() + } else { + rpsResult.text = "Scissors: You lost, try again" + } + } + @IBAction func scissorChoice(_ sender: Any) { + if rpsAction(choice: .scissors)! { + endAlarm() + } else { + rpsResult.text = "Rock: You lost, try again" + } + } + + + //Standard way to turn off and close the alarm func endAlarm() { timer?.invalidate() diff --git a/ProjectClock/Base.lproj/Main.storyboard b/ProjectClock/Base.lproj/Main.storyboard index d23d9f4..599710b 100644 --- a/ProjectClock/Base.lproj/Main.storyboard +++ b/ProjectClock/Base.lproj/Main.storyboard @@ -553,27 +553,43 @@ - + + - + @@ -593,6 +609,8 @@ + + @@ -807,6 +825,9 @@ + + + diff --git a/ProjectClock/TestingViewController.swift b/ProjectClock/TestingViewController.swift index 4738236..d0b2444 100644 --- a/ProjectClock/TestingViewController.swift +++ b/ProjectClock/TestingViewController.swift @@ -58,7 +58,7 @@ class TestingViewController: UIViewController @IBAction func addAlarm(_ sender: Any) { let (h, m, _) = Date().getHMS() - Alarms.fromLocal().apply { $0.list.append(Alarm(hour: h, minute: m, text: "Test alarm - \(h * m)", wakeMethod: wvms[0], lastActivate: Date().added(.minute, -1))) }.localSave() + Alarms.fromLocal().apply { $0.list.append(Alarm(hour: h, minute: m, text: "Test alarm - \(h * m)", wakeMethod: wvms[1], lastActivate: Date().added(.minute, -1))) }.localSave() } @IBAction func deleteAlarm(_ sender: Any)