Modification d'une erreur de fin de jeu

master
cldupland 5 years ago
parent 977e007b26
commit 510997174a

@ -30,15 +30,15 @@ namespace OrderStacks.model.gameActions.abstractRules
* *
* Fonction permettant de gérer le test de fin du jeu * Fonction permettant de gérer le test de fin du jeu
* *
* <returns>Booléen de fin du jeu</returns> * <returns>Booléen de possibilité de jeu</returns>
*/ */
public bool Test(List<Card> CurrentHand) public bool Test(List<Card> CurrentHand)
{ {
if (CurrentHand.Count != 0) if (CurrentHand.Count > 0 )
{ {
List<Card> playableCard = new List<Card>(); List<Card> playableCard = new List<Card>();
tryToFindSoluce(playableCard, CurrentHand); tryToFindSoluce(playableCard, CurrentHand);
return testEndGame(playableCard); return testEndGame(playableCard, CurrentHand);
} }
return false; return false;
} }
@ -53,9 +53,12 @@ namespace OrderStacks.model.gameActions.abstractRules
/** /**
* <param name="playableCard">Liste des cartes jouables</param> * <param name="playableCard">Liste des cartes jouables</param>
* <param name="CurrentHand">Liste de carte du joueur actif</param>
* *
* Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé * Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé
*
* <returns>Booléen de possibilité de jeu</returns>
*/ */
protected abstract bool testEndGame(List<Card> playableCard); protected abstract bool testEndGame(List<Card> playableCard, List<Card> CurrentHand);
} }
} }

@ -172,11 +172,38 @@ namespace OrderStacks.model.gameActions.classic
/** /**
* <param name="playableCard">Liste des cartes jouables</param> * <param name="playableCard">Liste des cartes jouables</param>
* <param name="CurrentHand">Liste de carte du joueur actif</param>
* *
* Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé * Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé
*
* <returns>Booléen de possibilité de jeu</returns>
*/ */
override protected bool testEndGame(List<Card> playableCard) override protected bool testEndGame(List<Card> playableCard, List<Card> CurrentHand)
{ {
if (CurrentHand.Count == 1)
{
for (int i = 0; i < ListOrderedStacks.Size; i++)
{
if (i < ListOrderedStacks.Size * 0.5)
{
if (CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value) > 0)
{
return true;
}
}
else
{
if (CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value) < 0)
{
return true;
}
}
if (CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 10) == 0 || CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 10) == 0)
{
return true;
}
}
}
if (playableCard.Count < 2) if (playableCard.Count < 2)
{ {
return false; return false;

@ -172,11 +172,38 @@ namespace OrderStacks.model.gameActions.decimals
/** /**
* <param name="playableCard">Liste des cartes jouables</param> * <param name="playableCard">Liste des cartes jouables</param>
* <param name="CurrentHand">Liste de carte du joueur actif</param>
* *
* Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé * Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé
*
* <returns>Booléen de possibilité de jeu</returns>
*/ */
override protected bool testEndGame(List<Card> playableCard) override protected bool testEndGame(List<Card> playableCard, List<Card> CurrentHand)
{ {
if (CurrentHand.Count == 1)
{
for (int i = 0; i < ListOrderedStacks.Size; i++)
{
if (i < ListOrderedStacks.Size * 0.5)
{
if (CurrentHand[0].Value > ListOrderedStacks.getStack(i).Peek().Value)
{
return true;
}
}
else
{
if (CurrentHand[0].Value < ListOrderedStacks.getStack(i).Peek().Value)
{
return true;
}
}
if (CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 1m) == 0 || CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.1m) == 0 || CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.01m) == 0 || CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value + 0.001m) == 0 || CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 1m) == 0 || CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.1m) == 0 || CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.01m) == 0 || CurrentHand[0].Value.CompareTo(ListOrderedStacks.getStack(i).Peek().Value - 0.001m) == 0)
{
return true;
}
}
}
if (playableCard.Count < 2) if (playableCard.Count < 2)
{ {
return false; return false;

@ -17,7 +17,7 @@ namespace OrderStacks.model.gameActions.extreme
throw new NotImplementedException(); throw new NotImplementedException();
} }
protected override bool testEndGame(List<Card> playableCard) protected override bool testEndGame(List<Card> playableCard, List<Card> CurrentHand)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }

@ -42,11 +42,38 @@ namespace OrderStacks.model.gameActions.fraction
/** /**
* <param name="playableCard">Liste des cartes jouables</param> * <param name="playableCard">Liste des cartes jouables</param>
* <param name="CurrentHand">Liste de carte du joueur actif</param>
* *
* Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé * Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé
*
* <returns>Booléen de possibilité de jeu</returns>
*/ */
protected override bool testEndGame(List<Card> playableCard) protected override bool testEndGame(List<Card> playableCard, List<Card> CurrentHand)
{ {
if (CurrentHand.Count == 1)
{
for (int i = 0; i < ListOrderedStacks.Size; i++)
{
if (i < ListOrderedStacks.Size * 0.5)
{
if (CurrentHand[0].Value > ListOrderedStacks.getStack(i).Peek().Value)
{
return true;
}
}
else
{
if (CurrentHand[0].Value < ListOrderedStacks.getStack(i).Peek().Value)
{
return true;
}
}
if (((FractionCard)CurrentHand[0]).Fraction.isMultiple(((FractionCard)ListOrderedStacks.getStack(i).Peek()).Fraction))
{
return true;
}
}
}
if (playableCard.Count < 2) if (playableCard.Count < 2)
{ {
return false; return false;

@ -40,7 +40,8 @@
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center" HorizontalOptions="Center"
CornerRadius="10" CornerRadius="10"
Clicked="ClickToPlay"/> Clicked="ClickToPlay"
Padding="10"/>
<ImageButton Source="HomeIcon.png" <ImageButton Source="HomeIcon.png"
Grid.Column="0" Grid.Column="0"

@ -333,7 +333,8 @@ namespace OrderStacks.view
CornerRadius = 10, CornerRadius = 10,
BackgroundColor = (Color)Application.Current.Resources["Gold"], BackgroundColor = (Color)Application.Current.Resources["Gold"],
VerticalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center,
HorizontalOptions = LayoutOptions.End HorizontalOptions = LayoutOptions.End,
Padding = 10
}; };
retryButton.Clicked += Retry; retryButton.Clicked += Retry;
gameOption.Children.Add(retryButton); gameOption.Children.Add(retryButton);

@ -40,7 +40,8 @@
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center" HorizontalOptions="Center"
CornerRadius="10" CornerRadius="10"
Clicked="ClickToPlay"/> Clicked="ClickToPlay"
Padding="10"/>
<ImageButton Source="HomeIcon.png" <ImageButton Source="HomeIcon.png"
Grid.Column="0" Grid.Column="0"
@ -59,7 +60,8 @@
Grid.Row="2" Grid.Row="2"
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center" HorizontalOptions="Center"
Clicked="nextPage_Rules"/> Clicked="nextPage_Rules"
Padding="10"/>
<ScrollView Grid.Row="1" <ScrollView Grid.Row="1"
Grid.Column="0" Grid.Column="0"

@ -43,7 +43,8 @@
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center" HorizontalOptions="Center"
CornerRadius="10" CornerRadius="10"
Clicked="ClickToPlay"/> Clicked="ClickToPlay"
Padding="10"/>
<ImageButton Source="HomeIcon.png" <ImageButton Source="HomeIcon.png"
Grid.Column="0" Grid.Column="0"
@ -62,7 +63,8 @@
Grid.Row="2" Grid.Row="2"
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center" HorizontalOptions="Center"
Clicked="nextPage_Rules"/> Clicked="nextPage_Rules"
Padding="10"/>
<ScrollView Grid.Row="1" <ScrollView Grid.Row="1"
Grid.Column="0" Grid.Column="0"

@ -40,7 +40,8 @@
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center" HorizontalOptions="Center"
CornerRadius="10" CornerRadius="10"
Clicked="ClickToPlay"/> Clicked="ClickToPlay"
Padding="10"/>
<ImageButton Source="HomeIcon.png" <ImageButton Source="HomeIcon.png"
Grid.Column="0" Grid.Column="0"
@ -59,7 +60,8 @@
Grid.Row="2" Grid.Row="2"
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center" HorizontalOptions="Center"
Clicked="nextPage_Rules"/> Clicked="nextPage_Rules"
Padding="10"/>
<ScrollView Grid.Row="1" <ScrollView Grid.Row="1"
Grid.Column="0" Grid.Column="0"

Loading…
Cancel
Save