[SWIFT] Schnelle Anfänger versuchten, Mikrowellenlogik zu implementieren!

Überblick

Derzeit nutze ich den MENTA-Service und erhalte Anleitungen von Yamataku Mentor.

Klicken Sie hier, um mehr über Yamataku Mentoren und Dienstleistungen zu erfahren! (https://menta.work/plan/584)

Diesmal ist es die zweite Stufe des angewandten Lernens. *** Ich habe die Aufgabe "Implementieren der Mikrowellenlogik" erledigt ***, also werde ich sie ausgeben.

Darüber hinaus ist dieses Problem eine Logik, die von Swift-Anfängern entwickelt wurde, und ich denke, es gibt viele Punkte, die nicht erreicht werden können. Ich würde es begrüßen, wenn Sie mit warmen Augen wachen könnten.

Wenn Sie einen Rat haben, würde ich mich freuen, wenn Sie mich unterrichten könnten.

Umgebung

-Playground

Implementierungsanforderungen

・ Die Leistung der Mikrowelle beträgt 900.600.200. ・ Dieses Mal ist es aus Sicherheitsgründen nicht möglich, länger als 11 Minuten zu heizen.

・ Implementierung des Timers ・ Implementierte das Konzept von Minuten und Sekunden ・ Ausgabe der verbleibenden Zeit ・ Wenn die verbleibende Zeit 0 Sekunden erreicht, geben Sie "Warmlauf ist abgeschlossen" aus und stoppen Sie den Timer. ・ Wenn die Erwärmungszeit 11 Minuten oder mehr beträgt, "Erwärmung kann nicht gestartet werden!", Ausgabe "Bitte stellen Sie den Timer innerhalb von 10 Minuten 59 Sekunden ein"

・ Wenn der Timer innerhalb von 10 Minuten und 59 Sekunden eingestellt wird, wird das Warmable-Flag zurückgegeben und "Warming Starts !!" ausgegeben. ・ Geben Sie die ausgewählte Leistung aus

Implementierung

VirtualVendingMachine.rb


import UIKit
import PlaygroundSupport

class VirtualMicrowave : UIViewController {

    //Bitte stellen Sie den Timer ein
    var timeSet = (min:0,sec:0)
    
    //Initialisierung der Timer-Klasse
    var timer: Timer!
    
    //Bestimmen Sie die Leistung
    enum powerConsumptionType{
        
        case bottun900W
        case bottun600W
        case bottun200W
     
        
    var displayName: String{
            
            switch self {
            
            case.bottun900W :
                
                return "900W"
            
            case.bottun600W :
            
                 return "600W"
                
            case.bottun200W :
                
                return "200W"
                
            }
        
    }
        
    }
    
    
    override func viewDidLoad() {
       super.viewDidLoad()
  
        //Rufen Sie den Start-Timer auf
        startTimer()
        
   }
   
    
   override func viewWillAppear(_ animated: Bool) {
       super.viewWillAppear(animated)
   }
   
   override func didReceiveMemoryWarning() {
       super.didReceiveMemoryWarning()
   }
   
   
    //Gibt die wärmbare Flagge zurück
    func startWarm(type: powerConsumptionType) -> Bool {
    
    
       var isWarmable = false
        
       
        if  timeSet.min < 11 {
        
            print("Erwärme dich! !!:\(type.displayName)")
            
           return true
         
        
        }
        
        
        return isWarmable
        
        //Rufen Sie den Countdown-Timer auf
        countDownTimer()
      
 
    }
    
   
@objc func countDownTimer(){
       
  
    if timeSet.min == 0 && timeSet.sec == 0 {
           
           print("Es wärmt sich auf")
           timer.invalidate()
  
 
   }else if timeSet.min > 10{
     
        
        print("Ich kann mich nicht erwärmen!")
        print("Stellen Sie den Timer innerhalb von 10 Minuten und 59 Sekunden ein")
        timer.invalidate()
        
    

    }else if timeSet.sec > 0 && timeSet.min < 11 {
        
    //Wenn die Anzahl der Sekunden 0 oder mehr oder 10 Minuten oder weniger beträgt
     
        timeSet.sec -= 1
        print("\(timeSet.min)Protokoll\(timeSet.sec)Sekunden")
     
    
    } else if (timeSet.sec == 0) && timeSet.min > 0 {
    
    //Wenn die Anzahl der Sekunden 0 ist
      
        timeSet.sec += 59
        timeSet.min -= 1
    
        print("\(timeSet.min)Protokoll\(timeSet.sec)Sekunden")

        
    }
    
        
    }
    
    //Methode zum Starten des Timers
    func startTimer() {
          timer = Timer.scheduledTimer(
               timeInterval: 1,
               target: self,
            selector: #selector(self.countDownTimer),
               userInfo: nil,
               repeats: true)
       }
    }

        
let window = UIWindow(frame: CGRect(x: 0, y: 0, width: 300, height: 500))
let viewController = VirtualMicrowave()
viewController.view.backgroundColor = UIColor.gray
window.rootViewController = viewController
window.makeKeyAndVisible()
PlaygroundPage.current.liveView = window

let virtualMicrowave = VirtualMicrowave()
var isSuccessToWarm = virtualMicrowave.startWarm(type:.bottun200W)

print(isSuccessToWarm)

Zusammenfassung

Dieses Mal habe ich gelernt, wie man Argumente verwendet und wie man die Timer-Methode verwendet, obwohl es sich um eine Spielplatzumgebung handelt. Da ich von Grund auf über die Logik nachdachte, vertiefte ich mein Verständnis der grundlegenden Syntax. In Anbetracht der zusätzlichen Funktionen kann es möglich sein, nicht nur die Bereichsfunktion, sondern auch die Ofen- und Toastfunktionen hinzuzufügen.

Recommended Posts

Schnelle Anfänger versuchten, Mikrowellenlogik zu implementieren!
Schnelle Anfänger haben versucht, die Automatenlogik zu implementieren!
Ich habe versucht, das Iterator-Muster zu implementieren
[Swift5] So implementieren Sie Animationen mit "lottie-ios"
Ich habe versucht, polymorph in Nogizaka zu implementieren.
[Für Anfänger] So implementieren Sie die Löschfunktion
Rails-Anfänger haben versucht, mit RSpec zu beginnen
Ich habe versucht, einen Server mit Netty zu implementieren
So implementieren Sie UICollectionView mit Code nur in Swift
Ich habe versucht, das Hochladen von Dateien mit Spring MVC zu implementieren
Ich habe versucht, die Firebase-Push-Benachrichtigung in Java zu implementieren
[Für Anfänger] Lassen Sie uns wie Swift beschichten!
Ich habe versucht, Sterling Sort mit Java Collector zu implementieren
Anfänger in der App-Entwicklung haben versucht, eine Android-Rechner-App zu erstellen
[Java] Ich habe versucht, die Yahoo API-Produktsuche zu implementieren
Ich habe versucht, die Methode der gegenseitigen Teilung von Eugrid in Java zu implementieren
[Für Swift-Anfänger] Ich habe versucht, den chaotischen Layoutzyklus von ViewController und View zusammenzufassen
Ich habe versucht, die ähnliche Funktion durch asynchrone Kommunikation zu implementieren
[1st] RSpec-Anfänger haben versucht, Model Spec als Anfänger zu schreiben
Ich habe versucht, eine Webanwendung voller Fehler mit Kotlin zu implementieren
Implementieren Sie das Schreiben und Lesen in die Eigenschaftsliste (.plist) in Swift