mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-31 07:26:09 +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
	
	 Yan Maniez
						Yan Maniez