|
|
|
@ -6,6 +6,7 @@ using TheGameExtreme.model.card;
|
|
|
|
|
using TheGameExtreme.model.deck;
|
|
|
|
|
using TheGameExtreme.model.@event;
|
|
|
|
|
using TheGameExtreme.model.gameActions.classic;
|
|
|
|
|
using TheGameExtreme.model.gameActions.decimals;
|
|
|
|
|
using TheGameExtreme.model.manager;
|
|
|
|
|
using TheGameExtreme.model.piles;
|
|
|
|
|
|
|
|
|
@ -51,11 +52,38 @@ namespace TheGameExtreme.viewmodel
|
|
|
|
|
public List<Stack<CardVM>> listOrderedStacks = new List<Stack<CardVM>>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Main(List<string> playersNames)
|
|
|
|
|
public Main(List<string> playersNames, int nbPile, int indexMode)
|
|
|
|
|
{
|
|
|
|
|
int nbPile = 4;
|
|
|
|
|
playersNames.ForEach(name => players.Add(new PlayerVM(new Player(name))));
|
|
|
|
|
Parametreur parametreur = new Parametreur(new GameMode(new ClassicPiles(nbPile), new ClassicDeck()));
|
|
|
|
|
GameMode gameMode;
|
|
|
|
|
switch (indexMode)
|
|
|
|
|
{
|
|
|
|
|
case 0:
|
|
|
|
|
gameMode = new GameMode(new ClassicPiles(nbPile), new ClassicDeck());
|
|
|
|
|
break;
|
|
|
|
|
case 1:
|
|
|
|
|
gameMode = new GameMode(new _50Range100Piles(nbPile), new _50Range100Deck());
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
gameMode = new GameMode(new DecimalPilesMoins5To5(nbPile), new DecimalDeck());
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
gameMode = new GameModeDecimal(new DecimalPilesMoins5To5(nbPile), new DizaineDeck());
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
gameMode = new GameMode(new DecimalPilesMoins5To5(nbPile), new CentaineDeck());
|
|
|
|
|
break;
|
|
|
|
|
case 5:
|
|
|
|
|
gameMode = new GameMode(new DecimalPilesMoins5To5(nbPile), new MilliemeDeck());
|
|
|
|
|
break;
|
|
|
|
|
//case 6:
|
|
|
|
|
// // Fraction
|
|
|
|
|
// break;
|
|
|
|
|
default:
|
|
|
|
|
gameMode = new GameMode(new ClassicPiles(nbPile), new ClassicDeck());
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
Parametreur parametreur = new Parametreur(gameMode);
|
|
|
|
|
players.ForEach(player => parametreur.AddPlayer(player.View));
|
|
|
|
|
gameManager = new SoloGameManager(parametreur);
|
|
|
|
|
|
|
|
|
@ -101,6 +129,7 @@ namespace TheGameExtreme.viewmodel
|
|
|
|
|
|
|
|
|
|
public void OnEndGame(object source, EventArgs args)
|
|
|
|
|
{
|
|
|
|
|
Alert = gameManager.EndMessage;
|
|
|
|
|
EndGame?.Invoke(source, args);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|