DataBinding des cases cocher de la grille d'operation
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details

pull/105/head
Lucas DUFLOT 11 months ago
parent 184013c77f
commit eae8e70c8b

@ -82,7 +82,16 @@ namespace Models.Game
public Player CurrentPlayer { get; private set; } public Player CurrentPlayer { get; private set; }
public Map UsedMap { get; private set; } private Map _usedMap;
public Map UsedMap
{
get => _usedMap;
set
{
_usedMap = value;
OnPropertyChanged(nameof(UsedMap));
}
}
public Dice Dice1 { get; private set;} public Dice Dice1 { get; private set;}
public Dice Dice2 { get; private set; } public Dice Dice2 { get; private set; }
@ -202,13 +211,13 @@ namespace Models.Game
where cell.Y == operationIndex where cell.Y == operationIndex
select cell; select cell;
foreach (var item in sortPaths) foreach (var item in sortPaths)
{ {
if (!item.IsChecked) if (!item.IsChecked)
{ {
item.Check(); item.Check();
break; break;
} }
} }
} }

@ -80,14 +80,13 @@
</CollectionView> </CollectionView>
<!-- Operation Grid --> <!-- Operation Grid -->
<Grid BackgroundColor="AliceBlue" <Grid Grid.Row="0" Grid.Column="2"
Grid.Row="0" Grid.Column="2"
ColumnDefinitions="auto,*" ColumnDefinitions="auto,*"
RowDefinitions="*,auto"> RowDefinitions="*,auto">
<!--Images des operations --> <!--Images des operations -->
<!--Grille de la partie--> <!--Grille de la partie-->
<CollectionView Grid.Column="1" <CollectionView Grid.Column="1"
ItemsSource="{Binding ListMap[0].OperationGrid}" ItemsSource="{Binding ThePartie.UsedMap.OperationGrid}"
ItemsLayout="VerticalGrid,4" ItemsLayout="VerticalGrid,4"
WidthRequest="200" WidthRequest="200"
HeightRequest="250" HeightRequest="250"
@ -118,20 +117,29 @@
Grid.ColumnSpan="2"> Grid.ColumnSpan="2">
<Button HeightRequest="50" <Button HeightRequest="50"
WidthRequest="100" WidthRequest="100"
x:Name="Lower"/> x:Name="Lower"
Clicked="LowerClicked"
IsVisible="False"/>
<Button HeightRequest="50" <Button HeightRequest="50"
WidthRequest="100" WidthRequest="100"
x:Name="Higher" x:Name="Higher"
Clicked="HigherClicked"/> Clicked="HigherClicked"
IsVisible="False"/>
<Button HeightRequest="50" <Button HeightRequest="50"
WidthRequest="100" WidthRequest="100"
x:Name="Substraction"/> x:Name="Substraction"
Clicked="SubstractionClicked"
IsVisible="False"/>
<Button HeightRequest="50" <Button HeightRequest="50"
WidthRequest="100" WidthRequest="100"
x:Name="Addition"/> x:Name="Addition"
Clicked="AdditionClicked"
IsVisible="False"/>
<Button HeightRequest="50" <Button HeightRequest="50"
WidthRequest="100" WidthRequest="100"
x:Name="Multiplication"/> x:Name="Multiplication"
Clicked="MultiplicationClicked"
IsVisible="False"/>
</HorizontalStackLayout> </HorizontalStackLayout>
</Grid> </Grid>
</Grid> </Grid>

@ -26,11 +26,13 @@ public partial class PageBoard : ContentPage
private void ResultMultiplication(object? sender, DiceRolledEventArgs e) private void ResultMultiplication(object? sender, DiceRolledEventArgs e)
{ {
Multiplication.IsVisible = true;
Multiplication.Text = $"Mult {e.Dice1Value*e.Dice2Value}"; Multiplication.Text = $"Mult {e.Dice1Value*e.Dice2Value}";
} }
private void ResultSubstraction(object? sender, DiceRolledEventArgs e) private void ResultSubstraction(object? sender, DiceRolledEventArgs e)
{ {
Substraction.IsVisible = true;
if (MyStub.ThePartie.Dice1.IsLower(MyStub.ThePartie.Dice2)) if (MyStub.ThePartie.Dice1.IsLower(MyStub.ThePartie.Dice2))
Substraction.Text = $"Sub {e.Dice2Value - e.Dice1Value}"; Substraction.Text = $"Sub {e.Dice2Value - e.Dice1Value}";
else Substraction.Text = $"Sub {e.Dice1Value - e.Dice2Value}"; else Substraction.Text = $"Sub {e.Dice1Value - e.Dice2Value}";
@ -38,6 +40,7 @@ public partial class PageBoard : ContentPage
private void ResultHigher(object? sender, DiceRolledEventArgs e) private void ResultHigher(object? sender, DiceRolledEventArgs e)
{ {
Higher.IsVisible = true;
if (MyStub.ThePartie.Dice1.IsLower(MyStub.ThePartie.Dice2)) if (MyStub.ThePartie.Dice1.IsLower(MyStub.ThePartie.Dice2))
Higher.Text = $"Higher {e.Dice2Value}"; Higher.Text = $"Higher {e.Dice2Value}";
else Higher.Text = $"Higher {e.Dice1Value}"; else Higher.Text = $"Higher {e.Dice1Value}";
@ -45,6 +48,7 @@ public partial class PageBoard : ContentPage
private void ResultLower(object? sender, DiceRolledEventArgs e) private void ResultLower(object? sender, DiceRolledEventArgs e)
{ {
Lower.IsVisible = true;
if(MyStub.ThePartie.Dice1.IsLower(MyStub.ThePartie.Dice2)) if(MyStub.ThePartie.Dice1.IsLower(MyStub.ThePartie.Dice2))
Lower.Text = $"Lower {e.Dice1Value}"; Lower.Text = $"Lower {e.Dice1Value}";
else Lower.Text = $"Lower {e.Dice2Value}"; else Lower.Text = $"Lower {e.Dice2Value}";
@ -52,6 +56,7 @@ public partial class PageBoard : ContentPage
private void ResultAddition(object? sender, DiceRolledEventArgs e) private void ResultAddition(object? sender, DiceRolledEventArgs e)
{ {
Addition.IsVisible = true;
Addition.Text = $"Add {e.Dice1Value+e.Dice2Value}"; Addition.Text = $"Add {e.Dice1Value+e.Dice2Value}";
} }
@ -79,6 +84,27 @@ public partial class PageBoard : ContentPage
private void HigherClicked(object sender, EventArgs e) private void HigherClicked(object sender, EventArgs e)
{ {
MyStub.ThePartie.MarkOperationAsChecked(Operation.HIGHER); MyStub.ThePartie.MarkOperationAsChecked(Operation.HIGHER);
Higher.IsVisible = false;
}
private void LowerClicked(object sender, EventArgs e)
{
MyStub.ThePartie.MarkOperationAsChecked(Operation.LOWER);
}
private void AdditionClicked(object sender, EventArgs e)
{
MyStub.ThePartie.MarkOperationAsChecked(Operation.ADDITION);
}
private void SubstractionClicked(object sender, EventArgs e)
{
MyStub.ThePartie.MarkOperationAsChecked(Operation.SUBTRACTION);
}
private void MultiplicationClicked(object sender, EventArgs e)
{
MyStub.ThePartie.MarkOperationAsChecked(Operation.MULTIPLICATION);
} }
private void Button_Clicked(object sender, EventArgs e) private void Button_Clicked(object sender, EventArgs e)

Loading…
Cancel
Save