From bf8376a5d616353a0b4dc56c7c7305837803dd49 Mon Sep 17 00:00:00 2001 From: Sofiane Lasri <alasri250@gmail.com> Date: Tue, 23 May 2023 17:51:16 +0200 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20de=20la=20base=20du=20calcul=20?= =?UTF-8?q?du=20score.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Pendu/GameEngine.swift | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/Pendu/GameEngine.swift b/Pendu/GameEngine.swift index 219891e..d664bae 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; } } -- GitLab