diff --git a/Pendu/GameEngine.swift b/Pendu/GameEngine.swift index 219891e8252fd7598ea0b0cb6f88723943db991a..d664baeea49513a75c91388fe5bebeaaddfa5c58 100644 --- a/Pendu/GameEngine.swift +++ b/Pendu/GameEngine.swift @@ -25,6 +25,7 @@ class GameEngine: NSObject { private var wordToGuess : String = ""; private var attemptsRemaining : Int = 0; private var guessedLetters : [Character] = []; + private var lastGuessedLetterTime : Date? = nil; private var theme : String = ""; private var difficulty : String = ""; private var playerName : String = ""; @@ -92,9 +93,37 @@ class GameEngine: NSObject { public func guessLetter(letter: Character) -> Bool { if wordToGuess.contains(letter) { - return true + let dateNow = Date(); + + var elapsedTime = 100; // temps au dessus du temps de bonus + + if(lastGuessedLetterTime != nil) { + elapsedTime = Int(dateNow.timeIntervalSince(lastGuessedLetterTime!)); + } + + var timeBonusMultiplier = 1; + switch difficulty { + case "Easy": + timeBonusMultiplier = 1; + case "Normal": + timeBonusMultiplier = 2; + case "Hard": + timeBonusMultiplier = 3; + default: + timeBonusMultiplier = 1; + } + let bonusPoints = (10 * (timeBonusMultiplier)) + + if(elapsedTime < 10) { + score += 100 + bonusPoints; + } else { + score += 100; + } + lastGuessedLetterTime = Date(); + return true; } else { - return false + lastGuessedLetterTime = nil; + return false; } }