Beaucoup de modification

master
cldupland 5 years ago
parent 87b2e3fca5
commit 6006856012

@ -60,15 +60,15 @@
<PackageReference Include="Xamarin.Forms" Version="4.3.0.991221" />
<PackageReference Include="Xamarin.Android.Support.Core.Utils" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Essentials" Version="1.3.1" />
<PackageReference Include="SkiaSharp.Views.Forms">
<Version>1.68.1</Version>
</PackageReference>
<PackageReference Include="TouchTracking.Forms">
<Version>1.1.0</Version>
</PackageReference>
<PackageReference Include="MvvmCross">
<Version>6.4.1</Version>
</PackageReference>
<PackageReference Include="SkiaSharp.Views.Forms">
<Version>1.68.1</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Compile Include="MainActivity.cs" />

@ -157,12 +157,12 @@
</PackageReference>
<PackageReference Include="Xamarin.Forms" Version="4.3.0.991221" />
<PackageReference Include="Xamarin.Essentials" Version="1.3.1" />
<PackageReference Include="SkiaSharp.Views.Forms">
<Version>1.68.1</Version>
</PackageReference>
<PackageReference Include="TouchTracking.Forms">
<Version>1.1.0</Version>
</PackageReference>
<PackageReference Include="SkiaSharp.Views.Forms">
<Version>1.68.1</Version>
</PackageReference>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
<ItemGroup>

@ -11,8 +11,8 @@
<PackageReference Include="System.Drawing.Common" Version="4.7.0" />
<PackageReference Include="Xamarin.Forms" Version="4.3.0.991221" />
<PackageReference Include="Xamarin.Essentials" Version="1.3.1" />
<PackageReference Include="SkiaSharp.Views.Forms" Version="1.68.1" />
<PackageReference Include="TouchTracking.Forms" Version="1.1.0" />
<PackageReference Include="SkiaSharp.Views.Forms" Version="1.68.1" />
</ItemGroup>
<ItemGroup>
<Folder Include="model\event\" />

@ -17,7 +17,17 @@ namespace TheGameExtreme.model
public bool isMultiple(Fraction fraction)
{
if (fraction.Numerateur == 1)
bool numIsZero = false;
bool denIsZero = false;
if (fraction.Numerateur == 0)
{
numIsZero = true;
}
if (fraction.Denominateur == 0)
{
denIsZero = true;
}
if (fraction.Numerateur == 1 && denIsZero)
{
if (fraction.Denominateur != 1
&& fraction.Denominateur != Denominateur
@ -26,7 +36,7 @@ namespace TheGameExtreme.model
return true;
}
}
else if (fraction.Denominateur == 1)
else if (fraction.Denominateur == 1 && !numIsZero)
{
if (fraction.Numerateur != 1
&& fraction.Numerateur != Numerateur
@ -35,7 +45,7 @@ namespace TheGameExtreme.model
return true;
}
}
else if (fraction.Numerateur == Numerateur)
else if (fraction.Numerateur == Numerateur && !denIsZero)
{
if (fraction.Denominateur != Denominateur
&& Denominateur % fraction.Denominateur == 0)
@ -43,7 +53,7 @@ namespace TheGameExtreme.model
return true;
}
}
else if (fraction.Denominateur == Denominateur)
else if (fraction.Denominateur == Denominateur && !numIsZero)
{
if (fraction.Numerateur != Numerateur
&& Numerateur % fraction.Numerateur == 0)
@ -53,13 +63,19 @@ namespace TheGameExtreme.model
}
else
{
if (Numerateur % fraction.Numerateur == 0)
if (!numIsZero)
{
return true;
if (Numerateur % fraction.Numerateur == 0)
{
return true;
}
}
if (Denominateur % fraction.Denominateur == 0)
if (denIsZero)
{
return true;
if (Denominateur % fraction.Denominateur == 0)
{
return true;
}
}
}
return false;

@ -40,7 +40,6 @@ namespace TheGameExtreme.model.gameActions.classic
}
else
{
TestEndGame(currentHand);
if (!end)
{
Message = ((JouerUneCarteClassic)gameActions[1]).ErrorMessage;

@ -18,7 +18,6 @@ namespace TheGameExtreme.model.gameActions.classic
{
if (CurrentHand.Count == 0 || CurrentCardPlayed.Count >= 2)
{
// Vérifier la fin du jeu
return true;
}
else
@ -31,7 +30,80 @@ namespace TheGameExtreme.model.gameActions.classic
override protected void tryToFindSoluce(List<Card> playableCard, List<Card> CurrentHand)
{
CurrentHand.ForEach(card =>
int findDownCard = 0;
int findUpCard = 0;
List<Card> hand = new List<Card>();
List<Card> playableDownCard = new List<Card>();
List<Card> playableUpCard = new List<Card>();
CurrentHand.ForEach(card => hand.Add(card));
hand.ForEach(card =>
{
for (int i = 0; i < ListOrderedStacks.Size; i++)
{
if (card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 10) == 0)
{
playableDownCard.Add(card);
}
else if (card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 10) == 0)
{
playableUpCard.Add(card);
}
}
});
playableDownCard.ForEach(card =>
{
hand.Remove(card);
});
playableUpCard.ForEach(card =>
{
hand.Remove(card);
});
while ((playableDownCard.Count > findDownCard || playableUpCard.Count > findUpCard) && hand.Count > 0)
{
findDownCard = playableDownCard.Count;
findUpCard = playableUpCard.Count;
hand.ForEach(card =>
{
for (int i = 0; i < playableDownCard.Count; i++)
{
if (card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 10) == 0)
{
playableDownCard.Add(card);
}
}
for (int i = 0; i < playableUpCard.Count; i++)
{
if (card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 10) == 0)
{
playableUpCard.Add(card);
}
}
});
for (int i = findDownCard; i < playableDownCard.Count; i++)
{
hand.Remove(playableDownCard[i]);
}
for (int i = findUpCard; i < playableUpCard.Count; i++)
{
hand.Remove(playableUpCard[i]);
}
}
playableDownCard.ForEach(card => playableCard.Add(card));
playableUpCard.ForEach(card => playableCard.Add(card));
bool played = false;
hand.ForEach(card =>
{
for (int i = 0; i < ListOrderedStacks.Size; i++)
{
@ -40,17 +112,44 @@ namespace TheGameExtreme.model.gameActions.classic
if (card.Value > ListOrderedStacks.getStack(i).Peek().Value)
{
playableCard.Add(card);
played = true;
break;
}
}
else if (card.Value < ListOrderedStacks.getStack(i).Peek().Value)
{
playableCard.Add(card);
played = true;
break;
}
else if (card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 10) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 10) == 0)
}
if (!played)
{
for (int i = 0; i < playableDownCard.Count; i++)
{
playableCard.Add(card);
if (card.Value > playableDownCard[i].Value)
{
playableCard.Add(card);
played = true;
break;
}
}
}
if (!played)
{
for (int i = 0; i < playableUpCard.Count; i++)
{
if (card.Value < playableUpCard[i].Value)
{
playableCard.Add(card);
played = true;
break;
}
}
}
played = false;
});
}

@ -40,7 +40,6 @@ namespace TheGameExtreme.model.gameActions.decimals
}
else
{
TestEndGame(currentHand);
if (!end)
{
Message = ((JouerUneCarteDecimal)gameActions[1]).ErrorMessage;

@ -30,7 +30,80 @@ namespace TheGameExtreme.model.gameActions.decimals
override protected void tryToFindSoluce(List<Card> playableCard, List<Card> CurrentHand)
{
CurrentHand.ForEach(card =>
int findDownCard = 0;
int findUpCard = 0;
List<Card> hand = new List<Card>();
List<Card> playableDownCard = new List<Card>();
List<Card> playableUpCard = new List<Card>();
CurrentHand.ForEach(card => hand.Add(card));
hand.ForEach(card =>
{
for (int i = 0; i < ListOrderedStacks.Size; i++)
{
if (card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 1m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.1m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.01m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.001m) == 0)
{
playableDownCard.Add(card);
}
else if (card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 1m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.1m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.01m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.001m) == 0)
{
playableUpCard.Add(card);
}
}
});
playableDownCard.ForEach(card =>
{
hand.Remove(card);
});
playableUpCard.ForEach(card =>
{
hand.Remove(card);
});
while ((playableDownCard.Count > findDownCard || playableUpCard.Count > findUpCard) && hand.Count > 0)
{
findDownCard = playableDownCard.Count;
findUpCard = playableUpCard.Count;
hand.ForEach(card =>
{
for (int i = 0; i < playableDownCard.Count; i++)
{
if (card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 1m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.1m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.01m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.001m) == 0)
{
playableDownCard.Add(card);
}
}
for (int i = 0; i < playableUpCard.Count; i++)
{
if (card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 1m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.1m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.01m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.001m) == 0)
{
playableUpCard.Add(card);
}
}
});
for (int i = findDownCard; i < playableDownCard.Count; i++)
{
hand.Remove(playableDownCard[i]);
}
for (int i = findUpCard; i < playableUpCard.Count; i++)
{
hand.Remove(playableUpCard[i]);
}
}
playableDownCard.ForEach(card => playableCard.Add(card));
playableUpCard.ForEach(card => playableCard.Add(card));
bool played = false;
hand.ForEach(card =>
{
for (int i = 0; i < ListOrderedStacks.Size; i++)
{
@ -39,17 +112,44 @@ namespace TheGameExtreme.model.gameActions.decimals
if (card.Value > ListOrderedStacks.getStack(i).Peek().Value)
{
playableCard.Add(card);
played = true;
break;
}
}
else if (card.Value < ListOrderedStacks.getStack(i).Peek().Value)
{
playableCard.Add(card);
played = true;
break;
}
else if (card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.1m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.1m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.01m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.01m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.001m) == 0 || card.Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.001m) == 0)
}
if (!played)
{
for (int i = 0; i < playableDownCard.Count; i++)
{
playableCard.Add(card);
if (card.Value > playableDownCard[i].Value)
{
playableCard.Add(card);
played = true;
break;
}
}
}
if (!played)
{
for (int i = 0; i < playableUpCard.Count; i++)
{
if (card.Value < playableUpCard[i].Value)
{
playableCard.Add(card);
played = true;
break;
}
}
}
played = false;
});
}

@ -40,7 +40,6 @@ namespace TheGameExtreme.model.gameActions.fraction
}
else
{
TestEndGame(currentHand);
if (!end)
{
Message = ((JouerUneCarteFraction)gameActions[1]).ErrorMessage;

@ -39,7 +39,55 @@ namespace TheGameExtreme.model.gameActions.fraction
protected override void tryToFindSoluce(List<Card> playableCard, List<Card> CurrentHand)
{
CurrentHand.ForEach(card =>
int findMultipleCard = 0;
List<Card> hand = new List<Card>();
List<Card> playableMultipleCard = new List<Card>();
CurrentHand.ForEach(card => hand.Add(card));
hand.ForEach(card =>
{
for (int i = 0; i < ListOrderedStacks.Size; i++)
{
if (((FractionCard)card).Fraction.isMultiple(((FractionCard)ListOrderedStacks.getStack(i).Peek()).Fraction))
{
playableMultipleCard.Add(card);
}
}
});
playableMultipleCard.ForEach(card =>
{
hand.Remove(card);
});
while (playableMultipleCard.Count > findMultipleCard && hand.Count > 0)
{
findMultipleCard = playableMultipleCard.Count;
hand.ForEach(card =>
{
for (int i = 0; i < playableMultipleCard.Count; i++)
{
if (((FractionCard)card).Fraction.isMultiple(((FractionCard)ListOrderedStacks.getStack(i).Peek()).Fraction))
{
playableMultipleCard.Add(card);
}
}
});
for (int i = findMultipleCard; i < playableMultipleCard.Count; i++)
{
hand.Remove(playableMultipleCard[i]);
}
}
playableMultipleCard.ForEach(card => playableCard.Add(card));
bool played = false;
hand.ForEach(card =>
{
for (int i = 0; i < ListOrderedStacks.Size; i++)
{
@ -48,17 +96,32 @@ namespace TheGameExtreme.model.gameActions.fraction
if (card.Value > ListOrderedStacks.getStack(i).Peek().Value)
{
playableCard.Add(card);
played = true;
break;
}
}
else if (card.Value < ListOrderedStacks.getStack(i).Peek().Value)
{
playableCard.Add(card);
played = true;
break;
}
else if (((FractionCard)card).Fraction.isMultiple(((FractionCard)ListOrderedStacks.getStack(i).Peek()).Fraction))
}
if (!played)
{
for (int i = 0; i < playableMultipleCard.Count; i++)
{
playableCard.Add(card);
if (card.Value > playableMultipleCard[i].Value)
{
playableCard.Add(card);
played = true;
break;
}
}
}
played = false;
});
}
}

@ -109,7 +109,6 @@ namespace TheGameExtreme.model.manager
}
else
{
parametreur.GameMode.TestEndGame(currentHand);
EndMessage = parametreur.GameMode.Message;
if (win)
{

@ -15,28 +15,16 @@
x:Name="Display"
Margin="10,10,10,10">
<Grid.RowDefinitions>
<RowDefinition Height="10*"/>
<RowDefinition Height="90*"/>
<RowDefinition Height="9*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="3*"/>
<RowDefinition Height="85*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="60*"/>
<ColumnDefinition Width="20*"/>
</Grid.ColumnDefinitions>
<StackLayout
Grid.Row="0"
Grid.Column="1"
VerticalOptions="CenterAndExpand">
<Label
x:Name="pseudo"
Text="Pseudo"
HorizontalTextAlignment="Center"
VerticalTextAlignment="Center"
TextColor="{DynamicResource Gold}"
FontSize="28"/>
</StackLayout>
<StackLayout
@ -53,6 +41,19 @@
Clicked="PlayToHome"/>
</StackLayout>
<StackLayout
Grid.Row="0"
Grid.Column="1"
VerticalOptions="CenterAndExpand">
<Label
x:Name="pseudo"
Text="Pseudo"
HorizontalTextAlignment="Center"
VerticalTextAlignment="Center"
TextColor="{DynamicResource Gold}"
FontSize="28"/>
</StackLayout>
<StackLayout
@ -72,9 +73,15 @@
Clicked="EndTurn"/>
</StackLayout>
<ProgressBar
Progress="1"
Grid.Row="2"
Grid.ColumnSpan="3"
x:Name="progressBar"
ProgressColor="{DynamicResource Gold}"/>
<Grid
Grid.Row="1"
Grid.Row="3"
Grid.Column="0"
Grid.ColumnSpan="3">
<Grid.Effects>

@ -231,7 +231,7 @@ namespace TheGameExtreme.view
float inflateWidth = 0.024f * (float)(DeviceDisplay.MainDisplayInfo.Width - 20);
SKPoint position = new SKPoint((float)((DeviceDisplay.MainDisplayInfo.Width * 0.92f - 20 - inflateWidth) / (viewmodel.getListOrderedStacks().Count * 2)) + 10f + (float)DeviceDisplay.MainDisplayInfo.Width * 0.04f, (float)((DeviceDisplay.MainDisplayInfo.Height * 0.1) + (DeviceDisplay.MainDisplayInfo.Height * 0.9) * 0.01 + 2 * (0.05f * (float)DeviceDisplay.MainDisplayInfo.Width * textPaint.TextSize / textPaint.MeasureText("001"))));
SKPoint position = new SKPoint((float)((DeviceDisplay.MainDisplayInfo.Width * 0.92f - 20 - inflateWidth) / (viewmodel.getListOrderedStacks().Count * 2)) + 10f + (float)DeviceDisplay.MainDisplayInfo.Width * 0.04f, (float)((DeviceDisplay.MainDisplayInfo.Height * 0.1) + (DeviceDisplay.MainDisplayInfo.Height * 0.85) * 0.01 + 2 * (0.05f * (float)DeviceDisplay.MainDisplayInfo.Width * textPaint.TextSize / textPaint.MeasureText("001"))));
position.X -= inflateWidth;
@ -284,7 +284,7 @@ namespace TheGameExtreme.view
float inflateWidth = 0.024f * (float)(DeviceDisplay.MainDisplayInfo.Width - 20);
SKPoint position = new SKPoint((float)((DeviceDisplay.MainDisplayInfo.Width * 0.92f - 20 - inflateWidth) / (viewmodel.CurrentHand.Count * 2)) + 10f + (float)DeviceDisplay.MainDisplayInfo.Width * 0.04f, (float)((DeviceDisplay.MainDisplayInfo.Height * 0.9) - (DeviceDisplay.MainDisplayInfo.Height * 0.9) * 0.1 - 2 * (0.05f * (float)(DeviceDisplay.MainDisplayInfo.Width - 20) * textPaint.TextSize / textPaint.MeasureText("001"))));
SKPoint position = new SKPoint((float)((DeviceDisplay.MainDisplayInfo.Width * 0.92f - 20 - inflateWidth) / (viewmodel.CurrentHand.Count * 2)) + 10f + (float)DeviceDisplay.MainDisplayInfo.Width * 0.04f, (float)((DeviceDisplay.MainDisplayInfo.Height * 0.85) - (DeviceDisplay.MainDisplayInfo.Height * 0.85) * 0.1 - 2 * (0.05f * (float)(DeviceDisplay.MainDisplayInfo.Width - 20) * textPaint.TextSize / textPaint.MeasureText("001"))));
position.X -= inflateWidth;
@ -346,6 +346,7 @@ namespace TheGameExtreme.view
{
return false;
}
progressBar.Progress -= ((100f / nbCard) / 100f);
return true;
}
@ -371,6 +372,8 @@ namespace TheGameExtreme.view
InflateStack();
InflateHand();
progressBar.Progress = 1f;
gameOption.Children.Clear();
Button button = new Button();
button.Text = AppResources.StrEndTurn;

Loading…
Cancel
Save