[SWIFT] Les débutants rapides ont essayé d'implémenter la logique micro-ondes!

Aperçu

Actuellement, j'utilise le service MENTA et je reçois des conseils de Yamataku Mentor.

Cliquez ici pour en savoir plus sur les mentors et les services Yamataku! (https://menta.work/plan/584)

Parmi eux, il s'agit cette fois de la deuxième étape de l'apprentissage appliqué, *** J'ai fait la tâche de "Implémentation de la logique micro-ondes" ***, donc je vais le sortir.

De plus, ce problème est une logique créée par les débutants de Swift, et je pense que de nombreux points ne peuvent être atteints. J'apprécierais que vous puissiez veiller avec des yeux chaleureux.

Si vous avez des conseils, j'apprécierais que vous m'apprendriez.

environnement

-Playground

Exigences de mise en œuvre

・ La puissance du micro-ondes est de 900,600,200. ・ Cette fois, pour des raisons de sécurité, il n'est pas possible de chauffer plus de 11 minutes.

・ Implémentation de la minuterie ・ Implémentation du concept des minutes et secondes ・ Sortie du temps restant ・ Lorsque le temps restant atteint 0 seconde, la sortie "Le réchauffement est terminé" et arrêtez la minuterie. ・ Si le temps de réchauffement est de 11 minutes ou plus, "Le réchauffement ne peut pas démarrer!" Sortie "Veuillez régler la minuterie dans les 10 minutes 59 secondes"

・ Si la minuterie est réglée dans les 10 minutes et 59 secondes, l'indicateur de réchauffement possible est renvoyé et "Le réchauffement commence !!" est émis. ・ Sortie de la puissance sélectionnée

la mise en oeuvre

VirtualVendingMachine.rb


import UIKit
import PlaygroundSupport

class VirtualMicrowave : UIViewController {

    //Veuillez régler la minuterie
    var timeSet = (min:0,sec:0)
    
    //Initialisation de la classe Timer
    var timer: Timer!
    
    //Déterminez la puissance
    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()
  
        //Appeler la minuterie de démarrage
        startTimer()
        
   }
   
    
   override func viewWillAppear(_ animated: Bool) {
       super.viewWillAppear(animated)
   }
   
   override func didReceiveMemoryWarning() {
       super.didReceiveMemoryWarning()
   }
   
   
    //Renvoie le drapeau chauffable
    func startWarm(type: powerConsumptionType) -> Bool {
    
    
       var isWarmable = false
        
       
        if  timeSet.min < 11 {
        
            print("Commencez à vous réchauffer! !!:\(type.displayName)")
            
           return true
         
        
        }
        
        
        return isWarmable
        
        //Appelez le compte à rebours
        countDownTimer()
      
 
    }
    
   
@objc func countDownTimer(){
       
  
    if timeSet.min == 0 && timeSet.sec == 0 {
           
           print("Ça s'échauffe")
           timer.invalidate()
  
 
   }else if timeSet.min > 10{
     
        
        print("Je ne peux pas commencer à me réchauffer!")
        print("Réglez la minuterie dans les 10 minutes 59 secondes")
        timer.invalidate()
        
    

    }else if timeSet.sec > 0 && timeSet.min < 11 {
        
    //Lorsque le nombre de secondes est égal ou supérieur à 0 ou 10 minutes ou moins
     
        timeSet.sec -= 1
        print("\(timeSet.min)Minutes\(timeSet.sec)Secondes")
     
    
    } else if (timeSet.sec == 0) && timeSet.min > 0 {
    
    //Lorsque le nombre de secondes est égal à 0
      
        timeSet.sec += 59
        timeSet.min -= 1
    
        print("\(timeSet.min)Minutes\(timeSet.sec)Secondes")

        
    }
    
        
    }
    
    //Méthode pour démarrer la minuterie
    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)

Sommaire

Cette fois, j'ai appris à utiliser les arguments et à utiliser la méthode du minuteur, bien qu'il s'agisse d'un environnement Playground. Depuis que j'ai pensé à la logique à partir de zéro, j'ai approfondi ma compréhension de la syntaxe de base. Compte tenu des fonctions supplémentaires, il peut être possible d'ajouter non seulement la fonction de cuisinière, mais également les fonctions de four et de pain grillé.

Recommended Posts

Les débutants rapides ont essayé d'implémenter la logique micro-ondes!
Les débutants rapides ont essayé de mettre en œuvre la logique des distributeurs automatiques!
J'ai essayé d'implémenter le modèle Iterator
[Swift5] Comment mettre en œuvre une animation à l'aide de "lottie-ios"
J'ai essayé d'implémenter des relations polymorphes à Nogizaka.
[Pour les débutants] Comment implémenter la fonction de suppression
Les débutants de Rails ont essayé de se lancer avec RSpec
J'ai essayé d'implémenter un serveur en utilisant Netty
Comment implémenter UICollectionView avec du code uniquement dans Swift
J'ai essayé d'implémenter le téléchargement de fichiers avec Spring MVC
J'ai essayé d'implémenter la notification push Firebase en Java
[Pour les débutants] Pouvons nous enduire comme Swift!
J'ai essayé d'implémenter Sterling Sort avec Java Collector
Un débutant en développement d'applications a essayé de créer une application de calculatrice Android
[Java] J'ai essayé de mettre en œuvre la recherche de produits de l'API Yahoo
J'ai essayé d'implémenter la méthode de division mutuelle d'Eugrid en Java
[Pour les débutants Swift] J'ai essayé de résumer le cycle de mise en page désordonné de ViewController et View
J'ai essayé d'implémenter la fonction similaire par communication asynchrone
[1er] RSpec débutant a essayé d'écrire ModelSpec en tant que débutant
J'ai essayé d'implémenter une application web pleine de bugs avec Kotlin
Implémenter l'écriture et la lecture dans la liste des propriétés (.plist) dans Swift