Skip to content
Snippets Groups Projects
Commit 40b1bb16 authored by Sofiane Lasri's avatar Sofiane Lasri
Browse files

Merge remote-tracking branch 'refs/remotes/origin/main'

parents 647f6755 edfa895f
No related branches found
No related tags found
No related merge requests found
......@@ -30,9 +30,6 @@ 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
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment