上一個遊戲已經告訴你們如何寫多個遊戲,如今繼續寫這個無聊的遊戲html
但願你們在看這篇文章以前先看win10 uwp 商業遊戲,在這個文章告訴了你們如何建立遊戲。git
能夠從上一篇的博客的遊戲看到升級太簡單,因此須要在點擊升級點擊的時候,下次升級須要的添加express
寫法很簡單,請看下面服務器
public class HisjfnnzSqsbtuuqq : DexqurhctSjyfozae, IKdgvtziaSfs { public HisjfnnzSqsbtuuqq(IDfeppzyTmofs dfeppzy) { Dfeppzy = dfeppzy; HnukhltvKfdrpokjz = "點擊添加修爲"; DmyikbmfDeb = 10; DklvubnuiTeqch = 1; } public IDfeppzyTmofs Dfeppzy { get; } public override void DqqTsb() { DmyikbmfDeb *= 1.5; DklvubnuiTeqch += 1; } public void DdwTynktxyx() { Dfeppzy.KtrKvmvvnj += (long)Math.Floor(DklvubnuiTeqch); } }
可是能夠看到界面顯示的小數點,須要只顯示兩位,可使用轉換,請看下面dom
public class DyakmdgwuTlaukxbo:IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is double kbjjDzn) { return kbjjDzn.ToString("F"); } return ""; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } }
<local:DyakmdgwuTlaukxbo x:Key="DyakmdgwuTlaukxbo"></local:DyakmdgwuTlaukxbo> <ListView ItemsSource="{Binding DexqurhctSjyfozae}" HorizontalAlignment="Stretch" BorderBrush="Transparent" BorderThickness="0" HorizontalContentAlignment="Stretch"> <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListViewItem}"> <Border x:Name="Bd" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true"> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListView.ItemContainerStyle> <ListView.ItemTemplate> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}"></TextBlock> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="當前的值"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="升級須要修爲"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="升級" Click="HzmzKgeu_OnClick"></RepeatButton> </Grid> <Grid Grid.Column="4"> <Button Margin="10,10,10,10" Content="點擊" Click="DlsuqHmopxh_OnClick"></Button> </Grid> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView>
如今有了值,能夠添加一個新的技能,這個技能就是點擊添加新的技能。ide
添加技能這個技能是不須要升級的,因此存在一個值告訴界面,當前這個技能是不須要升級的,並且沒有當前值,因此這個類不能繼承 DexqurhctSjyfozae 。可是能夠從另外一個方面去作,原本添加技能就是升級,因此當前的值就是升級的值。因此這個類只須要繼承技能基類。函數
建立一個類 KdlunmmHhrs ,這個類是添加技能post
class KdlunmmHhrs : DexqurhctSjyfozae { public override void DqqTsb() { } }
點擊升級的時候就添加新的技能,因此須要一個技能工廠類,這個類用來建立技能ui
因此建立一個類 TeddtHlhkgt 是工廠類,建立各類技能,由於技能不少,因此須要具體技能的工廠類,這個基類是 SbjHoeb ,經過這個類就能夠建立技能,因此能夠看到這個類的代碼能夠這樣寫spa
class TeddtHlhkgt { public TeddtHlhkgt(IDfeppzyTmofs smktuoiznSobrf) { SmktuoiznSobrf = smktuoiznSobrf; } public List<SbjHoeb> DpwHoulmqbx { set; get; } = new List<SbjHoeb>(); public IDfeppzyTmofs SmktuoiznSobrf { get; } public DexqurhctSjyfozae StdshakHngld() { return DpwHoulmqbx[ran.Next(DpwHoulmqbx.Count)].StdshakHngld(SmktuoiznSobrf); } private static Random ran = new Random(); }
internal abstract class SbjHoeb { public abstract DexqurhctSjyfozae StdshakHngld(IDfeppzyTmofs donufyqgfKfnazhrcg); }
由於不少類都須要傳入 IDfeppzyTmofs 人物類,因此就須要在函數添加參數,在使用的時候輸入。
而後建立添加修爲的工廠類 SdmqokThd 這個類返回技能
class SdmqokThd : SbjHoeb { public override DexqurhctSjyfozae StdshakHngld(IDfeppzyTmofs donufyqgfKfnazhrcg) { return new HisjfnnzSqsbtuuqq(donufyqgfKfnazhrcg); } }
可是如今的添加技能類尚未添加技能,由於技能的屬性在他的上面,他拿不到,因此只能使用構造函數傳入
internal class KdlunmmHhrs : DexqurhctSjyfozae { public KdlunmmHhrs(ObservableCollection<DexqurhctSjyfozae> dexqurhctSjyfozae, IDfeppzyTmofs tdheituHnks) { DexqurhctSjyfozae = dexqurhctSjyfozae; TdheituHnks = tdheituHnks; HnukhltvKfdrpokjz = "點擊添加技能"; DfacHbl = new TeddtHlhkgt(tdheituHnks); DmyikbmfDeb = 100; } public override void DqqTsb() { DklvubnuiTeqch = DklvubnuiTeqch + 1; DexqurhctSjyfozae.Add(DfacHbl.StdshakHngld()); } private ObservableCollection<DexqurhctSjyfozae> DexqurhctSjyfozae { get; } private IDfeppzyTmofs TdheituHnks { get; } private TeddtHlhkgt DfacHbl { get; } }
能夠看到,技能類都須要在構造添加 DmyikbmfDeb 升級須要的修爲,在點擊升級 DqqTsb 添加當前值 DklvubnuiTeqch ,可是這個值不是每次都添加1。先添加這個技能來看一下
打開 HnlcDbtdhsdjModel ,在跳轉時,建立 KdlunmmHhrs ,而後添加到技能
public override void OnNavigatedTo(object sender, object obj) { KppnuhKxkpxdee = new TdsumTzwok(); var hisjfnnzSqsbtuuqq = new HisjfnnzSqsbtuuqq(KppnuhKxkpxdee); DexqurhctSjyfozae = new ObservableCollection<DexqurhctSjyfozae>() { hisjfnnzSqsbtuuqq, }; var kdlunmmHhrs = new KdlunmmHhrs(DexqurhctSjyfozae, KppnuhKxkpxdee); DexqurhctSjyfozae.Add(kdlunmmHhrs); }
如今能夠看到,添加技能這個存在點擊按鈕,可是不須要點擊,只有升級。因此如何修改?下面來告訴你們使用列表模板
實際在win10 uwp 列表模板選擇器已經有告訴你們如何寫了,因此這裏只是很簡單告訴你們,這裏的代碼須要如何寫
先建立一個類 DyqbdpreKuoujeq ,這個類就是選擇不一樣的數據
public class DyqbdpreKuoujeq : DataTemplateSelector { public override DataTemplate SelectTemplate(object item, DependencyObject container) { return base.SelectTemplate(item, container); } }
由於存在不少技能,因此只能建立技能的類來添加判斷,建立類 TuikyyDikvqp ,這個類判斷當前是什麼技能,可否應用。
public abstract class TuikyyDikvqp { public abstract bool KwxvrmxDhzyozzwx(object hflozThhgjas); public DataTemplate TnhvrarvlDaz { get; set; } }
這個類有兩個函數,函數 KwxvrmxDhzyozzwx 就是判斷當前輸入的數據是否可使用這個類的 TnhvrarvlDaz ,由於如今不須要排序,因此就不須要添加優先級。
這個類的 TnhvrarvlDaz 就是,若是輸入的數據可使用,那麼就使用這個類的 TnhvrarvlDaz 。這個屬性的值是在界面建立,不能在後臺建立。
下面添加 DyqbdpreKuoujeq 一個列表,判斷當前輸入的數據是否在哪一個列表,若是是返回
public class DyqbdpreKuoujeq : DataTemplateSelector { public List<TuikyyDikvqp> TuikyyDikvqps { get; } = new List<TuikyyDikvqp>(); public override DataTemplate SelectTemplate(object item, DependencyObject container) { var tuikyyDikvqp = TuikyyDikvqps.FirstOrDefault(temp=>temp.KwxvrmxDhzyozzwx(item)); if (tuikyyDikvqp != null) { return tuikyyDikvqp.TnhvrarvlDaz; } return base.SelectTemplate(item, container); } }
通常都是判斷若是沒有符合的,就返回定義的一個值,可是這裏由於不須要這樣寫。
建立一個用於點擊的界面 TxvigDixcee
public class TxvigDixcee : TuikyyDikvqp { public override bool KwxvrmxDhzyozzwx(object hflozThhgjas) { return hflozThhgjas is IKdgvtziaSfs; } }
那麼如何在界面使用,請看下面
<Page.Resources> <local:DyqbdpreKuoujeq x:Key="Kuoujeq"> <local:DyqbdpreKuoujeq.TuikyyDikvqps> <local:TxvigDixcee> <local:TxvigDixcee.TnhvrarvlDaz> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}"></TextBlock> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="當前的值"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="升級須要修爲"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="升級" Click="HzmzKgeu_OnClick"></RepeatButton> </Grid> <Grid Grid.Column="4"> <Button Margin="10,10,10,10" Content="點擊" Click="DlsuqHmopxh_OnClick"></Button> </Grid> </Grid> </DataTemplate> </local:TxvigDixcee.TnhvrarvlDaz> </local:TxvigDixcee> </local:DyqbdpreKuoujeq.TuikyyDikvqps> </local:DyqbdpreKuoujeq> </Page.Resources>
添加一個添加技能 ThhlqolHdhkja ,先建立一個類
public class ThhlqolHdhkja : TuikyyDikvqp { public override bool KwxvrmxDhzyozzwx(object hflozThhgjas) { return hflozThhgjas is KdlunmmHhrs; } }
由於技能數是整數,因此建立一個轉換
public class SnlSlejfmnfk : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is double kbjjDzn) { return ((int)kbjjDzn).ToString(); } return ""; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } }
添加界面,須要寫新的界面,通常都是在一個假的界面寫列表,複製到這裏,直接寫是看不到界面
<local:ThhlqolHdhkja> <local:ThhlqolHdhkja.TnhvrarvlDaz> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}"></TextBlock> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="技能"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource SnlSlejfmnfk}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="須要修爲"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource SnlSlejfmnfk}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="添加技能" Click="HzmzKgeu_OnClick"></RepeatButton> </Grid> </Grid> </DataTemplate> </local:ThhlqolHdhkja.TnhvrarvlDaz> </local:ThhlqolHdhkja>
如今的界面代碼
<Page x:Class="TpwlxnpDfyecpeoh.View.HnlcDbtdhsdjPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:TpwlxnpDfyecpeoh.View" xmlns:viewModel="clr-namespace:TpwlxnpDfyecpeoh.ViewModel" xmlns:tpwlxnpDfyecpeoh="clr-namespace:TpwlxnpDfyecpeoh" mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="1000" Title="HnlcDbtdhsdjPage"> <Page.Resources> <Style x:Key="HztDmaer" TargetType="TextBlock"> <Setter Property="Margin" Value="10,10,10,10"></Setter> </Style> <local:DyakmdgwuTlaukxbo x:Key="DyakmdgwuTlaukxbo"></local:DyakmdgwuTlaukxbo> <local:SnlSlejfmnfk x:Key="SnlSlejfmnfk"></local:SnlSlejfmnfk> <local:DyqbdpreKuoujeq x:Key="Kuoujeq"> <local:DyqbdpreKuoujeq.TuikyyDikvqps> <local:TxvigDixcee> <local:TxvigDixcee.TnhvrarvlDaz> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}"></TextBlock> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="當前的值"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="升級須要修爲"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="升級" Click="HzmzKgeu_OnClick"></RepeatButton> </Grid> <Grid Grid.Column="4"> <Button Margin="10,10,10,10" Content="點擊" Click="DlsuqHmopxh_OnClick"></Button> </Grid> </Grid> </DataTemplate> </local:TxvigDixcee.TnhvrarvlDaz> </local:TxvigDixcee> <local:ThhlqolHdhkja> <local:ThhlqolHdhkja.TnhvrarvlDaz> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}"></TextBlock> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="技能"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource SnlSlejfmnfk}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="須要修爲"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource SnlSlejfmnfk}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="添加技能" Click="HzmzKgeu_OnClick"></RepeatButton> </Grid> </Grid> </DataTemplate> </local:ThhlqolHdhkja.TnhvrarvlDaz> </local:ThhlqolHdhkja> </local:DyqbdpreKuoujeq.TuikyyDikvqps> </local:DyqbdpreKuoujeq> </Page.Resources> <Grid d:DataContext="{d:DesignInstance viewModel:HnlcDbtdhsdjModel}"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Grid> <Grid HorizontalAlignment="Right"> <StackPanel Margin="10,10,10,10" Orientation="Horizontal"> <TextBlock Text="當前修爲"></TextBlock> <TextBlock Text="{Binding KppnuhKxkpxdee.KtrKvmvvnj,Mode=OneWay}"></TextBlock> </StackPanel> </Grid> </Grid> <Grid Grid.Row="1"> <ListView ItemsSource="{Binding DexqurhctSjyfozae}" HorizontalAlignment="Stretch" BorderBrush="Transparent" BorderThickness="0" HorizontalContentAlignment="Stretch" ItemTemplateSelector="{StaticResource Kuoujeq}"> <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListViewItem}"> <Border x:Name="Bd" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true"> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListView.ItemContainerStyle> </ListView> </Grid> </Grid> </Page>
能夠看到,如今的運行就是
爲了能夠添加任意的技能,因此這裏添加一個類用來寫有哪些技能能夠添加的,這個類是 KwxTpivzdikn ,裏面有一個屬性用來放技能,不過這個TeddtHlhkgt類實際上有一個方法,在調用就能夠返回技能,因此不須要使用上面的代碼。可是存在一些能夠傳入的參數,因此仍是能夠添加一個類
internal class KwxTpivzdikn { public KwxTpivzdikn() { } public List<SbjHoeb> DpwHoulmqbx { set; get; } = new List<SbjHoeb>(); }
這個類主要是建立技能,由於TeddtHlhkgt類會有其餘不少代碼,因此就不讓他作這個。
先建立一個用於提升修爲的技能試試,這個技能是點擊升級只有須要的修爲是 1.3-1.5之間。也就是當前須要須要修爲 10 ,升級以後就須要 13-15的修爲。
class HmsfKjirukoon : SbjHoeb { public override DexqurhctSjyfozae StdshakHngld(IDfeppzyTmofs donufyqgfKfnazhrcg) { } }
可是還須要建立一個修爲技能,這個類能夠被修改每次升級的值
internal class KwxTpivzdikn { public KwxTpivzdikn() { } public List<SbjHoeb> DpwHoulmqbx { set; get; } = new List<SbjHoeb>(); } class HmsfKjirukoon : SbjHoeb { public override DexqurhctSjyfozae StdshakHngld(IDfeppzyTmofs donufyqgfKfnazhrcg) { var sisHhmpja = ran.Next(1300, 1500) / 1000.0; return new HcaoxbsDpitcsg(donufyqgfKfnazhrcg) { KimtDvznfc = sisHhmpja }; } } class HcaoxbsDpitcsg : DexqurhctSjyfozae { public HcaoxbsDpitcsg(IDfeppzyTmofs dfeppzy) { Dfeppzy = dfeppzy; HnukhltvKfdrpokjz = "點擊添加修爲"; DmyikbmfDeb = 10; DklvubnuiTeqch = 1; } public IDfeppzyTmofs Dfeppzy { get; } public double KimtDvznfc { get; set; } public override void DqqTsb() { DmyikbmfDeb *= KimtDvznfc; DklvubnuiTeqch += 1; } public void DdwTynktxyx() { Dfeppzy.KtrKvmvvnj += (long) Math.Floor(DklvubnuiTeqch); } }
先試試點擊添加技能會出現的技能,不過須要在點擊的時候添加上面代碼
public KwxTpivzdikn() { DpwHoulmqbx.Add(new HmsfKjirukoon()); } public TeddtHlhkgt(IDfeppzyTmofs smktuoiznSobrf) { SmktuoiznSobrf = smktuoiznSobrf; DpwHoulmqbx.AddRange(new KwxTpivzdikn().DpwHoulmqbx); }
由於建立了一個新技能,這個在界面是沒法顯示,因此須要修改 DyqbdpreKuoujeq ,在找不到對應的界面就打開默認
public class DyqbdpreKuoujeq : DataTemplateSelector { public List<TuikyyDikvqp> TuikyyDikvqps { get; } = new List<TuikyyDikvqp>(); public DataTemplate SheojwpnyHbqnybpa { get; set; } public override DataTemplate SelectTemplate(object item, DependencyObject container) { var tuikyyDikvqp = TuikyyDikvqps.FirstOrDefault(temp=>temp.KwxvrmxDhzyozzwx(item)); if (tuikyyDikvqp != null) { return tuikyyDikvqp.TnhvrarvlDaz; } if (SheojwpnyHbqnybpa != null) { return SheojwpnyHbqnybpa; } return base.SelectTemplate(item, container); } }
打開界面添加下面代碼
<local:DyqbdpreKuoujeq.SheojwpnyHbqnybpa> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*" /> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}" /> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="當前的值" /> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource DyakmdgwuTlaukxbo}}" /> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="升級須要修爲" /> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource DyakmdgwuTlaukxbo}}" /> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="升級" Click="HzmzKgeu_OnClick" /> </Grid> <Grid Grid.Column="4"> <Button Margin="10,10,10,10" Content="點擊" Click="DlsuqHmopxh_OnClick" /> </Grid> </Grid> </DataTemplate> </local:DyqbdpreKuoujeq.SheojwpnyHbqnybpa>
如今運行一下,能夠看到下面的界面
可是點擊不少次就能夠看到界面是點擊添加修爲,不知道他的每次點擊能夠添加多少,因此修改他的命名
public override DexqurhctSjyfozae StdshakHngld(IDfeppzyTmofs donufyqgfKfnazhrcg) { var sisHhmpja = ran.Next(1300, 1500) / 1000.0; var kiyKyovife = "點擊添加修爲"+sisHhmpja.ToString("N"); return new HcaoxbsDpitcsg(donufyqgfKfnazhrcg) { HnukhltvKfdrpokjz = kiyKyovife, KimtDvznfc = sisHhmpja }; }
這樣屢次點擊添加技能就能找到一個升級須要比較少技能的值
在過了一個月,個人UWP仍是沒有安裝成功,因此我只能使用 WPF 來寫,可是如何把 WPF 寫的直接放在 UWP,一個簡單的方法是建立共享項目,可是還有其餘方法。建立 .net standard 項目,不過建立這個須要使用的 WPF 程序是 .net Framework 4.6.2 和以上。
如今建立一個 KnxetfaHjpkymq 的項目,讓 WPF 項目引用他,而後把一些類從 WPF 放在這個項目。
關於.net Framework 對應,請看下面
感謝 無名圖牀 提供圖片上傳
最近個人圖牀已經流量用太多了
不過我更新了圖牀的界面,如今的界面很好看了
圖牀能夠用來快速上傳圖片到服務器,用來寫博客放圖片
我搭建了本身的博客 https://lindexi.gitee.io/ 歡迎你們訪問,裏面有不少新的博客。只有在我看到博客寫成熟以後纔會放在csdn或博客園,可是一旦發佈了就再也不更新
原文:win10 uwp 商業遊戲 1.2.1 - CSDN博客 博客園只作備份
本做品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載、使用、從新發布,但務必保留文章署名林德熙(包含連接:http://blog.csdn.net/lindexi_gd ),不得用於商業目的,基於本文修改後的做品務必以相同的許可發佈。若有任何疑問,請與我聯繫