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));
}
@ -96,10 +96,10 @@ namespace TheGameExtreme.model.gameActions.classic
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);
pioche(CurrentHand, player);
((TerminerSonTour)gameActions[2]).end(currentHand, nbCardAtBeginOfTurn, CurrentCardPlayed);
pioche(currentHand, player);
//currentIndexPlayer += 1;
//if (currentIndexPlayer == playerList.Count)
//{
@ -107,7 +107,7 @@ namespace TheGameExtreme.model.gameActions.classic
//}
//CurrentHand = playerList[currentIndexPlayer].getCardList();
//OnPlayerChanged(new PlayerChangedEventArgs(CurrentHand, playerList[currentIndexPlayer].Pseudo));
nbCardAtBeginOfTurn = CurrentHand.Count;
nbCardAtBeginOfTurn = currentHand.Count;
CurrentCardPlayed.Clear();
//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.Collections.Generic;
using System.ComponentModel;
using TheGameExtreme.model.card;
using TheGameExtreme.model.deck;
using TheGameExtreme.model.@event;
@ -11,7 +12,7 @@ using TheGameExtreme.model.rule.playRules;
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 */
@ -19,8 +20,6 @@ namespace TheGameExtreme.model.manager
protected GameMode gameMode;
public readonly int nbPlayer;
protected List<Player> players = new List<Player>();
public event EventHandler<TopRangeChangedEventArgs> TopRangeChanged;
public event EventHandler<PlayerChangedEventArgs> PlayerChanged;
public Piles ListOrderedStacks { get; set; }
//protected int nbCardAtBeginOfTurn;
protected int nbMaxCard;
@ -28,8 +27,33 @@ namespace TheGameExtreme.model.manager
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)
@ -49,17 +73,12 @@ namespace TheGameExtreme.model.manager
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()
{
return gameMode.endTurn(CurrentHand, CurrentCardPlayed, players[0]); // Mettre le joueur actif
}
public void OnTopRangeChanged(object source, TopRangeChangedEventArgs args)
{
TopRangeChanged?.Invoke(this, args);
return gameMode.endTurn(currentHand, CurrentCardPlayed, players[0]); // Mettre le joueur actif
}

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

Loading…
Cancel
Save