Merge branch 'multiplayer_view'

master
cldupland 6 years ago
commit fa7ec5fc4c

Binary file not shown.

@ -6,7 +6,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Xamarin.Forms" Version="4.3.0.947036" /> <PackageReference Include="Xamarin.Forms" Version="4.3.0.991211" />
<PackageReference Include="Xamarin.Essentials" Version="1.3.1" /> <PackageReference Include="Xamarin.Essentials" Version="1.3.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

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

@ -11,8 +11,8 @@
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="10*" /> <RowDefinition Height="10*" />
<RowDefinition Height="25*" /> <RowDefinition Height="25*" />
<RowDefinition Height="55*" /> <RowDefinition Height="35*" />
<RowDefinition Height="10*" /> <RowDefinition Height="30*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="50*" /> <ColumnDefinition Width="50*" />
@ -35,26 +35,43 @@
<StackLayout <StackLayout
Grid.Row="1" Grid.Row="1"
Grid.Column="0" Grid.Column="0"
Grid.ColumnSpan="1"> Grid.ColumnSpan="2">
<Label x:Name="Instruction"/> <Label
HorizontalTextAlignment="Center"
VerticalTextAlignment="Center"
x:Name="Instruction"
TextColor="{DynamicResource WhiteColor}"/>
</StackLayout> </StackLayout>
<StackLayout <StackLayout
Grid.Row="2" Grid.Row="2"
Grid.Column="0"> Grid.Column="0"
Margin="50,0,50,0">
<Picker
x:Name="PlayerSelecter"
BackgroundColor="{DynamicResource SkyBlueColor}"
SelectedIndexChanged="ChangedPseudo"
Margin="50,0,50,0"/>
</StackLayout> </StackLayout>
<StackLayout <ScrollView
Grid.Row="2" Grid.Row="2"
Grid.Column="1"> Grid.Column="1"
Margin="50,20,50,0">
</StackLayout> <StackLayout
x:Name="NameList">
<Entry
BackgroundColor="{DynamicResource SkyBlueColor}"
Placeholder="Enter your pseudo"/>
</StackLayout>
</ScrollView>
<StackLayout <StackLayout
Grid.Row="3" Grid.Row="3"
Grid.Column="0" Grid.Column="0"
Grid.ColumnSpan="1"> Grid.ColumnSpan="2">
<Button <Button
Text="Play" Text="Play"
Clicked="Play"/> Clicked="Play"/>

@ -18,6 +18,7 @@ namespace TheGameExtreme.view
OnPropertyChanged("InstructionText"); OnPropertyChanged("InstructionText");
} }
} }
public List<int> listNbPlayer = new List<int> { 1, 2, 3, 4, 5 };
public GamePreparationPage() public GamePreparationPage()
@ -26,6 +27,8 @@ namespace TheGameExtreme.view
NavigationPage.SetHasNavigationBar(this, false); NavigationPage.SetHasNavigationBar(this, false);
Instruction.SetBinding(Label.TextProperty, new Binding("InstructionText", source: this)); Instruction.SetBinding(Label.TextProperty, new Binding("InstructionText", source: this));
InstructionText = AppRessource.StrPlayerSelection; InstructionText = AppRessource.StrPlayerSelection;
PlayerSelecter.ItemsSource = listNbPlayer;
PlayerSelecter.SelectedIndex = 0;
} }
private async void Back(object sender, EventArgs e) private async void Back(object sender, EventArgs e)
@ -35,7 +38,34 @@ namespace TheGameExtreme.view
private async void Play(object sender, EventArgs args) 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)
{
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 Main viewmodel;
private List<CheckBox> stacks = new List<CheckBox>(); private List<CheckBox> stacks = new List<CheckBox>();
Button button = new Button(); Button button = new Button();
List<string> playersNames;
public MainPage() public MainPage(List<string> playersNames)
{ {
this.playersNames = playersNames;
InitializeComponent(); InitializeComponent();
NavigationPage.SetHasNavigationBar(this, false); NavigationPage.SetHasNavigationBar(this, false);
@ -30,7 +33,7 @@ namespace TheGameExtreme.view
button.Text = "Retry"; button.Text = "Retry";
button.Clicked += retry; button.Clicked += retry;
viewmodel = new Main(); viewmodel = new Main(playersNames);
viewmodel.BindingChanged += OnBindingChanged; viewmodel.BindingChanged += OnBindingChanged;
@ -134,7 +137,7 @@ namespace TheGameExtreme.view
private void retry(object sender, EventArgs args) private void retry(object sender, EventArgs args)
{ {
viewmodel = new Main(); viewmodel = new Main(playersNames);
viewmodel.BindingChanged += OnBindingChanged; viewmodel.BindingChanged += OnBindingChanged;

@ -47,9 +47,8 @@ namespace TheGameExtreme.viewmodel
//private ObservableCollection<Stack<Card>> ListOrderedStacks; //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)))); playersNames.ForEach(name => players.Add(new PlayerVM(new Player(name))));
Parametreur parametreur = new Parametreur(new GameMode()); Parametreur parametreur = new Parametreur(new GameMode());
players.ForEach(player => parametreur.AddPlayer(player.View)); players.ForEach(player => parametreur.AddPlayer(player.View));

Loading…
Cancel
Save