/// <summary> /// Frappe le clou quand la touche espace est enfoncée, c'est ici que les manches se calculent. /// </summary> public override async void PressKey(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Space && !isKeyDown) { isKeyDown = true; #region Tour joueur //Ramène l'image de la table devant le clou. table.BringToFront(); //Le joueur tape le clou player.Blow(nail, bar.CaptureCursorPower()); //Vérifie si le joueur a gagné if (HasWin()) { //Stop l'éxecution de la méthode return; } //C'est au tour de l'IA de jouer UpdateTurns(false); #endregion #region Tour UI //Update l'UI UpdateStatusLabel(); //Simule le temps de réflexion de l'IA await Task.Delay(2000); //L'IA frappe le clou ia.Blow(nail, ia.CalculateBlowPower(nail, player)); //Vérifie si l'IA a gagnée if (HasWin()) { //Stop l'éxecution de la méthode return; } //C'est au tour du joueur de jouer UpdateTurns(true); UpdateStatusLabel(); //Relance le curseur sur la barre d'énergie bar.StartCursor(); #endregion isKeyDown = false; } }