mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-11-01 16:05:42 +00:00
Dés
This commit is contained in:
parent
82212cfcc1
commit
fd680997e3
2 changed files with 170 additions and 5 deletions
|
|
@ -778,6 +778,168 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
|
||||||
{
|
{
|
||||||
"2 (-4)", "3 (-4)", "4 (-3)", "5 (-3)", "6 (-2)", "7 (-2)", "8 (-1)", "9 (-1)", "10 (+0)", "11 (+0)", "12 (+1)", "13 (+1)", "14 (+2)", "15 (+2)", "16 (+3)", "17 (+3)", "18 (+4)", "19 (+4)", "20 (+5)", "21 (+5)"
|
"2 (-4)", "3 (-4)", "4 (-3)", "5 (-3)", "6 (-2)", "7 (-2)", "8 (-1)", "9 (-1)", "10 (+0)", "11 (+0)", "12 (+1)", "13 (+1)", "14 (+2)", "15 (+2)", "16 (+3)", "17 (+3)", "18 (+4)", "19 (+4)", "20 (+5)", "21 (+5)"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private int? _Strength = null;
|
||||||
|
public int? Strength
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _Strength;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
SetProperty(ref _Strength, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int? _Dexterity = null;
|
||||||
|
public int? Dexterity
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _Dexterity;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
SetProperty(ref _Dexterity, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int? _Constitution = null;
|
||||||
|
public int? Constitution
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _Constitution;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
SetProperty(ref _Constitution, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int? _Intelligence = null;
|
||||||
|
public int? Intelligence
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _Intelligence;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
SetProperty(ref _Intelligence, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int? _Wisdom = null;
|
||||||
|
public int? Wisdom
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _Wisdom;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
SetProperty(ref _Wisdom, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int? _Charisma = null;
|
||||||
|
public int? Charisma
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _Charisma;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
SetProperty(ref _Charisma, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ICommand RollDicesCommand
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return new Command(ExecuteRollDicesCommand);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void ExecuteRollDicesCommand()
|
||||||
|
{
|
||||||
|
var random = new Random(DateTime.Now.Millisecond);
|
||||||
|
var values = RollMRick(random);
|
||||||
|
values.Sort();
|
||||||
|
List<int> mins;
|
||||||
|
List<int> maxs;
|
||||||
|
if (SelectedPlayerCharacter.Class?.Proficiencies?.SavingThrows != null)
|
||||||
|
{
|
||||||
|
mins = values.Take(4).ToList();
|
||||||
|
maxs = values.Skip(4).ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mins = values;
|
||||||
|
maxs = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Strength = PickAbility(random, ref mins, ref maxs, "Force");
|
||||||
|
Dexterity = PickAbility(random, ref mins, ref maxs, "Dextérité");
|
||||||
|
Constitution = PickAbility(random, ref mins, ref maxs, "Constitution");
|
||||||
|
Intelligence = PickAbility(random, ref mins, ref maxs, "Intelligence");
|
||||||
|
Wisdom = PickAbility(random, ref mins, ref maxs, "Sagesse");
|
||||||
|
Charisma = PickAbility(random, ref mins, ref maxs, "Charisme");
|
||||||
|
//Strength = random.Next(6) + random.Next(6) + random.Next(6) + 3;
|
||||||
|
//Dexterity = random.Next(6) + random.Next(6) + random.Next(6) + 3;
|
||||||
|
//Constitution = random.Next(6) + random.Next(6) + random.Next(6) + 3;
|
||||||
|
//Intelligence = random.Next(6) + random.Next(6) + random.Next(6) + 3;
|
||||||
|
//Wisdom = random.Next(6) + random.Next(6) + random.Next(6) + 3;
|
||||||
|
//Charisma = random.Next(6) + random.Next(6) + random.Next(6) + 3;
|
||||||
|
//if(SelectedPlayerCharacter.Class?.Proficiencies?.SavingThrows?.Contains("Force") == true)
|
||||||
|
//{
|
||||||
|
// Strength = 18;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int PickAbility(Random random, ref List<int> mins, ref List<int> maxs, string name)
|
||||||
|
{
|
||||||
|
var value = SelectedPlayerCharacter.Class?.Proficiencies?.SavingThrows?.Contains(name);
|
||||||
|
if (value == true)
|
||||||
|
{
|
||||||
|
return PickOne(random, ref maxs);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return PickOne(random, ref mins);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int PickOne(Random random, ref List<int> values)
|
||||||
|
{
|
||||||
|
var index = random.Next(values.Count);
|
||||||
|
var pick = values[index];
|
||||||
|
values.RemoveAt(index);
|
||||||
|
return pick;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<int> RollMRick(Random random)
|
||||||
|
{
|
||||||
|
var dices = new List<int>();
|
||||||
|
var roll = Roll2d6(random);
|
||||||
|
dices.Add(6 + roll);
|
||||||
|
dices.Add(19 - roll);
|
||||||
|
roll = Roll2d6(random);
|
||||||
|
dices.Add(6 + roll);
|
||||||
|
dices.Add(19 - roll);
|
||||||
|
roll = Roll2d6(random);
|
||||||
|
dices.Add(6 + roll);
|
||||||
|
dices.Add(19 - roll);
|
||||||
|
return dices;
|
||||||
|
}
|
||||||
|
private int Roll2d6(Random random)
|
||||||
|
{
|
||||||
|
return random.Next(6) + random.Next(6) + 2;
|
||||||
|
}
|
||||||
#endregion Abilities
|
#endregion Abilities
|
||||||
|
|
||||||
#region Level
|
#region Level
|
||||||
|
|
|
||||||
|
|
@ -166,12 +166,15 @@
|
||||||
<ContentPage Title="Caractéristiques">
|
<ContentPage Title="Caractéristiques">
|
||||||
<ScrollView Orientation="Vertical">
|
<ScrollView Orientation="Vertical">
|
||||||
<StackLayout>
|
<StackLayout>
|
||||||
|
<Frame BorderColor="Black" Padding="2" Margin="10">
|
||||||
|
<ImageButton Source="rolling_dice_cup.png" Command="{Binding RollDicesCommand}" />
|
||||||
|
</Frame>
|
||||||
<views:StringPickerView BindingContext="{Binding}" Title="Force" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Strength, Mode=TwoWay}" />
|
<views:StringPickerView BindingContext="{Binding}" Title="Force" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Strength, Mode=TwoWay}" />
|
||||||
<views:StringPickerView BindingContext="{Binding}" Title="Dextérité" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Strength, Mode=TwoWay}" />
|
<views:StringPickerView BindingContext="{Binding}" Title="Dextérité" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Dexterity, Mode=TwoWay}" />
|
||||||
<views:StringPickerView BindingContext="{Binding}" Title="Constitution" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Strength, Mode=TwoWay}" />
|
<views:StringPickerView BindingContext="{Binding}" Title="Constitution" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Constitution, Mode=TwoWay}" />
|
||||||
<views:StringPickerView BindingContext="{Binding}" Title="Intelligence" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Strength, Mode=TwoWay}" />
|
<views:StringPickerView BindingContext="{Binding}" Title="Intelligence" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Intelligence, Mode=TwoWay}" />
|
||||||
<views:StringPickerView BindingContext="{Binding}" Title="Sagesse" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Strength, Mode=TwoWay}" />
|
<views:StringPickerView BindingContext="{Binding}" Title="Sagesse" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Wisdom, Mode=TwoWay}" />
|
||||||
<views:StringPickerView BindingContext="{Binding}" Title="Charisme" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Strength, Mode=TwoWay}" />
|
<views:StringPickerView BindingContext="{Binding}" Title="Charisme" ItemsSource="{Binding Abilities}" SelectedItem="{Binding Charisma, Mode=TwoWay}" />
|
||||||
<!--<Picker Title="Force" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Abilities}" ItemDisplayBinding="{Binding StringFormat='Force : {0}'}" />
|
<!--<Picker Title="Force" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Abilities}" ItemDisplayBinding="{Binding StringFormat='Force : {0}'}" />
|
||||||
<Picker Title="Dextérité" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Abilities}" ItemDisplayBinding="{Binding StringFormat='Dextérité : {0}'}" />
|
<Picker Title="Dextérité" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Abilities}" ItemDisplayBinding="{Binding StringFormat='Dextérité : {0}'}" />
|
||||||
<Picker Title="Constitution" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Abilities}" ItemDisplayBinding="{Binding StringFormat='Constitution : {0}'}" />
|
<Picker Title="Constitution" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Abilities}" ItemDisplayBinding="{Binding StringFormat='Constitution : {0}'}" />
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue