Avancement sur le nouveau model

master
cldupland 6 years ago
parent 6bba3c9cb2
commit 35e15d12a0

@ -78,14 +78,14 @@ namespace TheGameExtreme.model.gameActions.classic
} }
} }
public void pioche(List<Card> CurrentHand, Player player) public void pioche(List<Card> currentHand, Player player)
{ {
((Piocher)gameActions[0]).pioche(CurrentHand, deck, player); ((Piocher)gameActions[0]).pioche(currentHand, deck, player);
} }
public void playCard(int valueCard, List<Card> CurrentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed) public void playCard(int valueCard, List<Card> currentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed)
{ {
if (((JouerUneCarte)gameActions[1]).play(valueCard, CurrentHand, orderedStackSelected, player, CurrentCardPlayed)) if (((JouerUneCarte)gameActions[1]).play(valueCard, currentHand, orderedStackSelected, player, CurrentCardPlayed))
{ {
OnTopRangeChanged(new TopRangeChangedEventArgs(piles.getStack(orderedStackSelected).Peek(), ((JouerUneCarte)gameActions[1]).OldCard, orderedStackSelected)); OnTopRangeChanged(new TopRangeChangedEventArgs(piles.getStack(orderedStackSelected).Peek(), ((JouerUneCarte)gameActions[1]).OldCard, orderedStackSelected));
} }
@ -96,10 +96,10 @@ namespace TheGameExtreme.model.gameActions.classic
TopRangeChanged?.Invoke(this, args); TopRangeChanged?.Invoke(this, args);
} }
public bool endTurn(List<Card> CurrentHand, List<Card> CurrentCardPlayed, Player player) public bool endTurn(List<Card> currentHand, List<Card> CurrentCardPlayed, Player player)
{ {
((TerminerSonTour)gameActions[2]).end(CurrentHand, nbCardAtBeginOfTurn, CurrentCardPlayed); ((TerminerSonTour)gameActions[2]).end(currentHand, nbCardAtBeginOfTurn, CurrentCardPlayed);
pioche(CurrentHand, player); pioche(currentHand, player);
//currentIndexPlayer += 1; //currentIndexPlayer += 1;
//if (currentIndexPlayer == playerList.Count) //if (currentIndexPlayer == playerList.Count)
//{ //{
@ -107,7 +107,7 @@ namespace TheGameExtreme.model.gameActions.classic
//} //}
//CurrentHand = playerList[currentIndexPlayer].getCardList(); //CurrentHand = playerList[currentIndexPlayer].getCardList();
//OnPlayerChanged(new PlayerChangedEventArgs(CurrentHand, playerList[currentIndexPlayer].Pseudo)); //OnPlayerChanged(new PlayerChangedEventArgs(CurrentHand, playerList[currentIndexPlayer].Pseudo));
nbCardAtBeginOfTurn = CurrentHand.Count; nbCardAtBeginOfTurn = currentHand.Count;
CurrentCardPlayed.Clear(); CurrentCardPlayed.Clear();
//if (isEndGame()) // Ajouter le score en calculant les cartes restantes dans la pile et dans les mains des joueurs //if (isEndGame()) // Ajouter le score en calculant les cartes restantes dans la pile et dans les mains des joueurs
//{ //{

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel;
using TheGameExtreme.model.card; using TheGameExtreme.model.card;
using TheGameExtreme.model.deck; using TheGameExtreme.model.deck;
using TheGameExtreme.model.@event; using TheGameExtreme.model.@event;
@ -11,7 +12,7 @@ using TheGameExtreme.model.rule.playRules;
namespace TheGameExtreme.model.manager namespace TheGameExtreme.model.manager
{ {
public abstract class GameManager public abstract class GameManager: INotifyPropertyChanged
{ {
/* GameMaster implémente un mode de jeu (classe fille de gameMode qui connait les actions a effectué en fonction du mode de jeu */ /* GameMaster implémente un mode de jeu (classe fille de gameMode qui connait les actions a effectué en fonction du mode de jeu */
@ -19,8 +20,6 @@ namespace TheGameExtreme.model.manager
protected GameMode gameMode; protected GameMode gameMode;
public readonly int nbPlayer; public readonly int nbPlayer;
protected List<Player> players = new List<Player>(); protected List<Player> players = new List<Player>();
public event EventHandler<TopRangeChangedEventArgs> TopRangeChanged;
public event EventHandler<PlayerChangedEventArgs> PlayerChanged;
public Piles ListOrderedStacks { get; set; } public Piles ListOrderedStacks { get; set; }
//protected int nbCardAtBeginOfTurn; //protected int nbCardAtBeginOfTurn;
protected int nbMaxCard; protected int nbMaxCard;
@ -28,8 +27,33 @@ namespace TheGameExtreme.model.manager
public String EndMessage { get; set; } public String EndMessage { get; set; }
protected List<Card> currentHand;
public List<Card> CurrentHand
{
get { return currentHand; }
set
{
currentHand = value;
OnPropertyChanged("CurrentHand");
}
}
#region event
public event EventHandler<TopRangeChangedEventArgs> TopRangeChanged;
//public event EventHandler<PlayerChangedEventArgs> PlayerChanged;
public event PropertyChangedEventHandler PropertyChanged;
public virtual void OnPropertyChanged(string info)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(info));
}
public void OnTopRangeChanged(object source, TopRangeChangedEventArgs args)
{
TopRangeChanged?.Invoke(this, args);
}
#endregion
public List<Card> CurrentHand { get; set; }
protected GameManager(List<string> playersNames, GameMode gameMode) protected GameManager(List<string> playersNames, GameMode gameMode)
@ -49,17 +73,12 @@ namespace TheGameExtreme.model.manager
public void joue(int valueCard, int orderedStackSelected) public void joue(int valueCard, int orderedStackSelected)
{ {
gameMode.playCard(valueCard, CurrentHand, orderedStackSelected, players[0], CurrentCardPlayed); // Mettre le joueur actif gameMode.playCard(valueCard, currentHand, orderedStackSelected, players[0], CurrentCardPlayed); // Mettre le joueur actif
} }
public bool endTurn() public bool endTurn()
{ {
return gameMode.endTurn(CurrentHand, CurrentCardPlayed, players[0]); // Mettre le joueur actif return gameMode.endTurn(currentHand, CurrentCardPlayed, players[0]); // Mettre le joueur actif
}
public void OnTopRangeChanged(object source, TopRangeChangedEventArgs args)
{
TopRangeChanged?.Invoke(this, args);
} }

@ -50,7 +50,7 @@ namespace TheGameExtreme.viewmodel
gameManager.TopRangeChanged += OnTopRangeChanged; gameManager.TopRangeChanged += OnTopRangeChanged;
gameManager.PlayerChanged += OnPlayerChanged; //gameManager.PlayerChanged += OnPlayerChanged;
CurrentHand = gameManager.CurrentHand; CurrentHand = gameManager.CurrentHand;

Loading…
Cancel
Save