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
*
* <returns>Booléen de fin du jeu</returns>
* <returns>Booléen de possibilité de jeu</returns>
*/
public bool Test(List<Card> CurrentHand)
{
if (CurrentHand.Count != 0)
if (CurrentHand.Count > 0 )
{
List<Card> playableCard = new List<Card>();
tryToFindSoluce(playableCard, CurrentHand);
return testEndGame(playableCard);
return testEndGame(playableCard, CurrentHand);
}
return false;
}
@ -53,9 +53,12 @@ namespace OrderStacks.model.gameActions.abstractRules
/**
* <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é
*
* <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="CurrentHand">Liste de carte du joueur actif</param>
*
* 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)
{
return false;

@ -172,11 +172,38 @@ namespace OrderStacks.model.gameActions.decimals
/**
* <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é
*
* <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)
{
return false;

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

@ -42,11 +42,38 @@ namespace OrderStacks.model.gameActions.fraction
/**
* <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é
*
* <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)
{
return false;

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

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

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

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

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

Loading…
Cancel
Save