From a75637a1a9e8890b11a02054a7f9ed6db58dbace Mon Sep 17 00:00:00 2001 From: cldupland Date: Thu, 24 Oct 2019 10:02:46 +0200 Subject: [PATCH 1/2] =?UTF-8?q?r=C3=A9flexion=20v1=20graphique?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TheGameExtreme/model/manager/GameManager.cs | 21 ++++----- .../model/manager/SoloGameManager.cs | 44 +------------------ TheGameExtreme/view/MainPage.xaml | 3 +- TheGameExtreme/view/MainPage.xaml.cs | 42 +++++++++++++++--- TheGameExtreme/viewmodel/Main.cs | 40 ++++++++--------- 5 files changed, 69 insertions(+), 81 deletions(-) diff --git a/TheGameExtreme/model/manager/GameManager.cs b/TheGameExtreme/model/manager/GameManager.cs index 912ae16..be04050 100644 --- a/TheGameExtreme/model/manager/GameManager.cs +++ b/TheGameExtreme/model/manager/GameManager.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.ComponentModel; using TheGameExtreme.model.effect; using TheGameExtreme.model.@event; @@ -19,7 +18,6 @@ namespace TheGameExtreme.model.manager protected bool win = true; public event EventHandler TopRangeChanged; public event EventHandler PlayerChanged; - //public event EventHandler CurrentPlayerChanged; public List CurrentHand { get; set; } @@ -111,7 +109,7 @@ namespace TheGameExtreme.model.manager public void joue(int valueCard, int orderedStackSelected) { - CurrentHand.ForEach(card => + foreach(Card card in CurrentHand) { if (valueCard == card.Value) { @@ -119,21 +117,25 @@ namespace TheGameExtreme.model.manager { if (orderedStackSelected < 2) { - testPossibility(card, ListOrderedStacks[orderedStackSelected], false); + testPossibility(card, ListOrderedStacks[orderedStackSelected], true); } else { - testPossibility(card, ListOrderedStacks[orderedStackSelected], true); + testPossibility(card, ListOrderedStacks[orderedStackSelected], false); } } + else + { + throw new Exception("La pile choisie n'existe pas!"); + } return; } - }); + } } protected void testPossibility(Card card, Stack orderedStack, bool bottomUp) { - if ((bottomUp && card.Value > orderedStack.Peek().Value) || (!bottomUp && card.Value < orderedStack.Peek().Value)) + if ((bottomUp && card.Value > orderedStack.Peek().Value) || (!bottomUp && card.Value < orderedStack.Peek().Value) || card.Value == orderedStack.Peek().Value + 10 || card.Value == orderedStack.Peek().Value - 10) { Card oldCard = orderedStack.Peek(); playerList[currentIndexPlayer].joue(card); @@ -156,11 +158,6 @@ namespace TheGameExtreme.model.manager PlayerChanged?.Invoke(this, args); } - //protected internal void OnCurrentPlayerChanged(CurrentPlayerChangedEventArgs args) - //{ - // CurrentPlayerChanged?.Invoke(this, args); - //} - public bool isCanPlay() { if (CurrentHand.Count > 0) diff --git a/TheGameExtreme/model/manager/SoloGameManager.cs b/TheGameExtreme/model/manager/SoloGameManager.cs index 63f931b..2e9d9bc 100644 --- a/TheGameExtreme/model/manager/SoloGameManager.cs +++ b/TheGameExtreme/model/manager/SoloGameManager.cs @@ -16,6 +16,8 @@ namespace TheGameExtreme.model.manager public override void endTurn() { + // Vérifie que l'utilisateur a bien joué deux cartes + pioche(); currentIndexPlayer += 1; @@ -59,48 +61,6 @@ namespace TheGameExtreme.model.manager return testEndGame(playableCard); } return false; - - - - - //playerList.ForEach(player => - //{ - // if (player.getCardList().Count != 0) - // { - // List playableCard = new List(); - // List cardList = new List(player.getCardList()); - // cardList.ForEach(card => - // { - // if (card.Value < descendingCardListOrder1.Peek().Value || card.Value < descendingCardListOrder2.Peek().Value || card.Value > ascendingCardListOrder1.Peek().Value || card.Value > ascendingCardListOrder2.Peek().Value) - // { - // playableCard.Add(card); - // } - // }); - // if (playableCard.Count < 3 && playableCard.Count >= 2) - // { - // foreach (Card c in playableCard) - // { - // // Tester si c'est une classe ThreeCard - // // Si oui: - // if (currentPlayer == playerList.IndexOf(player)) - // { - // win = false; - // endGame = true; - // return; - // } - // } - // } - // else if (playableCard.Count < 2) - // { - // if (currentPlayer == playerList.IndexOf(player)) - // { - // win = false; - // endGame = true; - // return; - // } - // } - // } - //}); } protected override void tryToFindSoluce(List playableCard) diff --git a/TheGameExtreme/view/MainPage.xaml b/TheGameExtreme/view/MainPage.xaml index e02951b..2094d4b 100644 --- a/TheGameExtreme/view/MainPage.xaml +++ b/TheGameExtreme/view/MainPage.xaml @@ -56,7 +56,8 @@ Orientation="Horizontal" Padding="0,5,0,5"> + Orientation="Horizontal" + x:Name="Hand">