Ajout de la selection du nombre de joueur et des pseudos

master
cldupland 6 years ago
parent a203375e5c
commit f1fe118ad9

@ -46,25 +46,11 @@ namespace TheGameExtreme.model.gameActions.classic
gameActions.Add(new JouerUneCarte(piles));
gameActions.Add(new TerminerSonTour(piles));
createDeck();
deck = new ClassicDeck();
defineNbMaxCard(nbPlayer);
distribueCard(players);
}
protected void createDeck()
{
switch (true)
{
case false:
deck = new ClassicDeck();
break;
default:
deck = new ExtremeDeck();
break;
}
}
protected void defineNbMaxCard(int nbPlayer)
{
switch (nbPlayer)

@ -11,8 +11,8 @@
<Grid.RowDefinitions>
<RowDefinition Height="10*" />
<RowDefinition Height="25*" />
<RowDefinition Height="55*" />
<RowDefinition Height="10*" />
<RowDefinition Height="35*" />
<RowDefinition Height="30*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*" />
@ -38,6 +38,7 @@
Grid.ColumnSpan="2">
<Label
HorizontalTextAlignment="Center"
VerticalTextAlignment="Center"
x:Name="Instruction"
TextColor="{DynamicResource WhiteColor}"/>
</StackLayout>
@ -53,14 +54,20 @@
Margin="50,0,50,0"/>
</StackLayout>
<StackLayout
<ScrollView
Grid.Row="2"
Grid.Column="1"
Margin="50,0,50,0"
x:Name="NameList">
Margin="50,20,50,0">
<StackLayout
x:Name="NameList">
<Entry
BackgroundColor="{DynamicResource SkyBlueColor}"
Placeholder="Enter your pseudo"/>
</StackLayout>
</ScrollView>
<StackLayout
Grid.Row="3"
Grid.Column="0"

@ -18,7 +18,7 @@ namespace TheGameExtreme.view
OnPropertyChanged("InstructionText");
}
}
public List<string> listNbPlayer = new List<string> { "1", "2", "3", "4", "5" };
public List<int> listNbPlayer = new List<int> { 1, 2, 3, 4, 5 };
public GamePreparationPage()
@ -28,6 +28,7 @@ namespace TheGameExtreme.view
Instruction.SetBinding(Label.TextProperty, new Binding("InstructionText", source: this));
InstructionText = AppRessource.StrPlayerSelection;
PlayerSelecter.ItemsSource = listNbPlayer;
PlayerSelecter.SelectedIndex = 0;
}
private async void Back(object sender, EventArgs e)
@ -37,22 +38,33 @@ namespace TheGameExtreme.view
private async void Play(object sender, EventArgs args)
{
await Navigation.PushAsync(new MainPage());
List<string> playersNames = new List<string>();
for (int i = 0; i < NameList.Children.Count; i++)
{
playersNames.Add(((Entry)NameList.Children[i]).Text);
}
await Navigation.PushAsync(new MainPage(playersNames));
}
private void ChangedPseudo(object sender, EventArgs args)
{
while (NameList.Children.Count != (int)PlayerSelecter.SelectedItem)
{
if (NameList.Children.Count < (int)PlayerSelecter.SelectedItem)
{
Editor e = new Editor();
e.Placeholder = "Enter your pseudo";
Entry e = new Entry
{
Placeholder = "Enter your pseudo",
BackgroundColor = (Color)Application.Current.Resources["SkyBlueColor"]
};
NameList.Children.Add(e);
}
else
{
NameList.Children.RemoveAt(NameList.Children.Count-1);
}
}
}
}

@ -16,10 +16,13 @@ namespace TheGameExtreme.view
private Main viewmodel;
private List<CheckBox> stacks = new List<CheckBox>();
Button button = new Button();
List<string> playersNames;
public MainPage()
public MainPage(List<string> playersNames)
{
this.playersNames = playersNames;
InitializeComponent();
NavigationPage.SetHasNavigationBar(this, false);
@ -30,7 +33,7 @@ namespace TheGameExtreme.view
button.Text = "Retry";
button.Clicked += retry;
viewmodel = new Main();
viewmodel = new Main(playersNames);
viewmodel.BindingChanged += OnBindingChanged;
@ -134,7 +137,7 @@ namespace TheGameExtreme.view
private void retry(object sender, EventArgs args)
{
viewmodel = new Main();
viewmodel = new Main(playersNames);
viewmodel.BindingChanged += OnBindingChanged;

@ -47,9 +47,8 @@ namespace TheGameExtreme.viewmodel
//private ObservableCollection<Stack<Card>> ListOrderedStacks;
public Main()
public Main(List<string> playersNames)
{
List<string> playersNames = new List<string> { "Clément", "Baptiste" };
playersNames.ForEach(name => players.Add(new PlayerVM(new Player(name))));
Parametreur parametreur = new Parametreur(new GameMode());
players.ForEach(player => parametreur.AddPlayer(player.View));

Loading…
Cancel
Save