diff --git a/Pendu/GameViewController.swift b/Pendu/GameViewController.swift
index 947bd311b0721a9094e8a7934c3c649ebe6c4475..018d09c7af30d3ddf152bc7c393dd60d9f709881 100644
--- a/Pendu/GameViewController.swift
+++ b/Pendu/GameViewController.swift
@@ -29,10 +29,7 @@ extension UIView {
 }
 
 class GameViewController: UIViewController {
-    
-    let mainstoryboard = UIStoryboard(name: "Game", bundle: nil)
-    var wordToGuess : String = ""
-    
+
     @IBOutlet weak var wordLabel: UILabel!
         
     @IBOutlet weak var A_Button: UIButton!
@@ -141,22 +138,23 @@ class GameViewController: UIViewController {
         InputButton(inputButton: N_Button)
     }
     
+    
+    
     func InputButton(inputButton: UIButton) {
         guard let letter = inputButton.titleLabel?.text else {
             return
         }
-        guessLetter(Character(letter))
+        guessLetter(String(letter))
         inputButton.isEnabled = false
     }
-    
-    func penduImage(nameFile: String) {
-        let image = UIImage(named: nameFile)
-        let imageView = UIImageView(image: image!)
-        imageView.frame = CGRect(x: 50, y: 250, width: 250, height: 250)
-        view.addSubview(imageView)
-    }
 
-    var currentWordState = ""
+
+    var currentWordState: [String] = []
+    var wordToGuess : String = ""
+    
+    var isWordFound = false
+    
+    var incorrectGuesses = 0
     
     override func viewDidLoad() {
         view.addBackground()
@@ -164,8 +162,8 @@ class GameViewController: UIViewController {
         print(wordToGuess)
         initializeWordState()
         updateWordLabel()
+        updateImage()
         
-        penduImage(nameFile: "humain8")
         let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 40))
         label.center = CGPoint(x: 170, y: 230)
         label.font = UIFont(name: "whatever it takes", size: 40)
@@ -176,30 +174,140 @@ class GameViewController: UIViewController {
     }
     
     func initializeWordState() {
-        for _ in wordToGuess {
-            currentWordState += "_"
-        }
-    }
+          let words = wordToGuess.components(separatedBy: " ")
+        print(words)
+          for word in words {
+              var wordState = ""
+              for _ in word {
+                  wordState += "_"
+              }
+              currentWordState.append(wordState)
+          }
+      }
     
     func updateWordLabel() {
-        wordLabel.text = currentWordState
+        let wordString = currentWordState.joined(separator: " ")
+        wordLabel.text = wordString
     }
     
-    func guessLetter(_ letter:Character) {
-        let guessedLetter = letter.uppercased()
-        guard wordToGuess.contains(guessedLetter)
-        else {
-          return
+    func checkIfWordFound() {
+        if currentWordState.joined() == wordToGuess {
+            isWordFound = true
+            wordLabel.textColor = UIColor.green
+            A_Button.isHidden = true
+            Z_Button.isHidden = true
+            E_Button.isHidden = true
+            R_Button.isHidden = true
+            T_Button.isHidden = true
+            Y_Button.isHidden = true
+            U_Button.isHidden = true
+            I_Button.isHidden = true
+            O_Button.isHidden = true
+            P_Button.isHidden = true
+            Q_Button.isHidden = true
+            S_Button.isHidden = true
+            D_Button.isHidden = true
+            F_Button.isHidden = true
+            G_Button.isHidden = true
+            H_Button.isHidden = true
+            J_Button.isHidden = true
+            K_Button.isHidden = true
+            L_Button.isHidden = true
+            M_Button.isHidden = true
+            W_Button.isHidden = true
+            X_Button.isHidden = true
+            C_Button.isHidden = true
+            V_Button.isHidden = true
+            B_Button.isHidden = true
+            N_Button.isHidden = true
         }
-        for (index, char) in wordToGuess.enumerated() {
-            if char.uppercased() == guessedLetter {
-                let startIndex = currentWordState.startIndex
-                let offsetIndex = currentWordState.index(startIndex, offsetBy: index)
-                
-                currentWordState.replaceSubrange(offsetIndex...offsetIndex, with: String(char))
+    }
+    
+    func guessLetter(_ letter:String) {
+            let guessedLetter = letter.uppercased()
+            
+            var updateWordState = currentWordState
+
+            var guessedCorrectly = false
+        
+            for (wordIndex, word) in wordToGuess.components(separatedBy: " ").enumerated() {
+                var updateWord = ""
+                let wordCharacters = Array(currentWordState[wordIndex])
+                for (charIndex, char) in word.enumerated() {
+                    let currentChar = String(char)
+                    
+                    if currentChar.uppercased() == guessedLetter {
+                        updateWord += currentChar
+                        guessedCorrectly = true
+                    } else {
+                        let currentWordStateChar = String(wordCharacters[charIndex])
+                        updateWord += currentWordStateChar
+                    }
+                }
+                updateWordState[wordIndex] = updateWord
             }
+            currentWordState = updateWordState
+            updateWordLabel()
+            checkIfWordFound()
+        
+            if !guessedCorrectly {
+                updateImage()
+            }
+            
+        }
+    
+    
+    func updateImage() {
+        let maxIncorrectGuesses = 8
+        
+        let imageName: String
+        
+        incorrectGuesses += 1
+        
+        if incorrectGuesses <= maxIncorrectGuesses - 1 {
+            imageName = "humain\(incorrectGuesses)"
+        } else {
+            imageName = "humain8"
+            wordLabel.textColor = UIColor.red
+            wordLabel.text = "Perdu"
+            A_Button.isHidden = true
+            Z_Button.isHidden = true
+            E_Button.isHidden = true
+            R_Button.isHidden = true
+            T_Button.isHidden = true
+            Y_Button.isHidden = true
+            U_Button.isHidden = true
+            I_Button.isHidden = true
+            O_Button.isHidden = true
+            P_Button.isHidden = true
+            Q_Button.isHidden = true
+            S_Button.isHidden = true
+            D_Button.isHidden = true
+            F_Button.isHidden = true
+            G_Button.isHidden = true
+            H_Button.isHidden = true
+            J_Button.isHidden = true
+            K_Button.isHidden = true
+            L_Button.isHidden = true
+            M_Button.isHidden = true
+            W_Button.isHidden = true
+            X_Button.isHidden = true
+            C_Button.isHidden = true
+            V_Button.isHidden = true
+            B_Button.isHidden = true
+            N_Button.isHidden = true
+        }
+        
+        let image = UIImage(named: imageName)
+        let imageView = UIImageView(image: image!)
+        imageView.frame = CGRect(x: 50, y: 250, width: 250, height: 250)
+        view.addSubview(imageView)
+        
+        if let image = UIImage(named: imageName) {
+            imageView.image = image
         }
-        updateWordLabel()
     }
+    
+    
 }