|
|
|
@ -3,6 +3,7 @@ using System.Diagnostics;
|
|
|
|
|
|
|
|
|
|
namespace Trek_12.Views;
|
|
|
|
|
|
|
|
|
|
using Models.Events;
|
|
|
|
|
using Models.Game;
|
|
|
|
|
|
|
|
|
|
public partial class PageBoard : ContentPage
|
|
|
|
@ -12,15 +13,57 @@ public partial class PageBoard : ContentPage
|
|
|
|
|
public PageBoard()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
GameManager.DiceRolled += TheGame_DiceRolled;
|
|
|
|
|
BindingContext = GameManager;
|
|
|
|
|
|
|
|
|
|
GameManager.DiceRolled += TheGame_DiceRolled;
|
|
|
|
|
GameManager.DiceRolled += ResultAddition;
|
|
|
|
|
GameManager.DiceRolled += ResultLower;
|
|
|
|
|
GameManager.DiceRolled += ResultHigher;
|
|
|
|
|
GameManager.DiceRolled += ResultSubstraction;
|
|
|
|
|
GameManager.DiceRolled += ResultMultiplication;
|
|
|
|
|
|
|
|
|
|
// We add this game to the list of games
|
|
|
|
|
GameManager.AddGame(GameManager);
|
|
|
|
|
GameManager.OnPropertyChanged(nameof(GameManager.Games));
|
|
|
|
|
GameManager.SaveData();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ResultMultiplication(object? sender, DiceRolledEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Multiplication.IsVisible = true;
|
|
|
|
|
Multiplication.Text = $"Mult {e.Dice1Value*e.Dice2Value}";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ResultSubstraction(object? sender, DiceRolledEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Substraction.IsVisible = true;
|
|
|
|
|
if (GameManager.Dice1.IsLower(GameManager.Dice2))
|
|
|
|
|
Substraction.Text = $"Sub {e.Dice2Value - e.Dice1Value}";
|
|
|
|
|
else Substraction.Text = $"Sub {e.Dice1Value - e.Dice2Value}";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ResultHigher(object? sender, DiceRolledEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Higher.IsVisible = true;
|
|
|
|
|
if (GameManager.Dice1.IsLower(GameManager.Dice2))
|
|
|
|
|
Higher.Text = $"Higher {e.Dice2Value}";
|
|
|
|
|
else Higher.Text = $"Higher {e.Dice1Value}";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ResultLower(object? sender, DiceRolledEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Lower.IsVisible = true;
|
|
|
|
|
if(GameManager.Dice1.IsLower(GameManager.Dice2))
|
|
|
|
|
Lower.Text = $"Lower {e.Dice1Value}";
|
|
|
|
|
else Lower.Text = $"Lower {e.Dice2Value}";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ResultAddition(object? sender, DiceRolledEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Addition.IsVisible = true;
|
|
|
|
|
Addition.Text = $"Add {e.Dice1Value+e.Dice2Value}";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void TheGame_DiceRolled(object? sender, Models.Events.DiceRolledEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Dice1.Text = $"{e.Dice1Value}";
|
|
|
|
@ -30,7 +73,7 @@ public partial class PageBoard : ContentPage
|
|
|
|
|
private void OnOperationCellSelected(object sender, SelectionChangedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Debug.WriteLine("OnOperationCellSelected"); // Debug
|
|
|
|
|
if (e.CurrentSelection.Count > 0) // Si un élément est sélectionné
|
|
|
|
|
if (e.CurrentSelection.Count > 0) // Si un <EFBFBD>l<EFBFBD>ment est s<>lectionn<6E>
|
|
|
|
|
{
|
|
|
|
|
var selectedCell = (OperationCell)e.CurrentSelection[0];
|
|
|
|
|
if (selectedCell != null && !selectedCell.IsChecked)
|
|
|
|
@ -38,11 +81,37 @@ public partial class PageBoard : ContentPage
|
|
|
|
|
selectedCell.Check();
|
|
|
|
|
Debug.WriteLine("OperationCell at ({0}, {1}) is checked", selectedCell.X, selectedCell.Y); // Debug
|
|
|
|
|
}
|
|
|
|
|
((CollectionView)sender).SelectedItem = null; // Déselectionne l'élément pour la CollectionView
|
|
|
|
|
((CollectionView)sender).SelectedItem = null; // D<EFBFBD>selectionne l'<27>l<EFBFBD>ment pour la CollectionView
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void DiceButton_Clicked(object sender, EventArgs e)
|
|
|
|
|
private void HigherClicked(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
GameManager.MarkOperationAsChecked(Operation.HIGHER);
|
|
|
|
|
Higher.IsVisible = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void LowerClicked(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
GameManager.MarkOperationAsChecked(Operation.LOWER);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AdditionClicked(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
GameManager.MarkOperationAsChecked(Operation.ADDITION);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SubstractionClicked(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
GameManager.MarkOperationAsChecked(Operation.SUBTRACTION);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void MultiplicationClicked(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
GameManager.MarkOperationAsChecked(Operation.MULTIPLICATION);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Button_Clicked(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
GameManager.RollAllDice();
|
|
|
|
|
}
|
|
|
|
|