Предмет:
Тип роботи:
Курсова робота
К-сть сторінок:
38
Мова:
Українська
Margin="381,160,86,0" Panel.ZIndex="1" Height="35" VerticalAlignment="Top"/>
<Rectangle Height="40" Margin="49,160,47,0" Stroke="#FFCBDEFF" VerticalAlignment="Top">
<Rectangle.Fill>
<RadialGradientBrush>
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="#FFCBDEFF" Offset="1"/>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Label Content="Скорость ракетки" HorizontalAlignment="Left" Margin="27,160,0,0" VerticalAlignment="Top" FontSize="16" FontStyle="Italic"/>
<Slider x:Name="slider_Copy1" HorizontalAlignment="Left" Margin="186,259,0,0" Maximum="11" IsSnapToTickEnabled="True" VerticalAlignment="Top" Height="28" Width="180" Background="Transparent" BorderBrush="#FFFF4040" Foreground="#FFE06666" Value="11" Panel.ZIndex="1" Minimum="1"/>
<TextBox x:Name="txtEnd" Text="{Binding Value, ElementName=slider_Copy1}" Margin="381,252,86,0" Panel.ZIndex="1" Height="35" VerticalAlignment="Top"/>
<Rectangle Height="40" Margin="49,252,47,0" Stroke="#FFCBDEFF" VerticalAlignment="Top">
<Rectangle.Fill>
<RadialGradientBrush>
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="#FFCBDEFF" Offset="1"/>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Label Content="Ограничение очков " HorizontalAlignment="Left" Margin="27,252,0,0" VerticalAlignment="Top" FontSize="16" FontStyle="Italic"/>
</Grid>
</Window>
При виклику цього вікна відбуваються наступні дії:
public Settings(Ball _ball)
{
InitializeComponent();
if (_ball.LeftResult>_ball.RightResult)
slider_Copy1.Minimum = _ball.LeftResult+1;
else
slider_Copy1.Minimum = _ball.RightResult + 1;
slider.Value = SetttingsStaticClass.ballSpeed;
slider_Copy.Value = SetttingsStaticClass.padSpeed;
slider_Copy1.Value = SetttingsStaticClass.EndScore;
}
Обробник кнопки «Принять»:
private void btnAccept_Click(object sender, RoutedEventArgs e)
{SetttingsStaticClass.ballSpeed = Convert.ToInt32(txtSpeed.Text);
SetttingsStaticClass.padSpeed = Convert.ToInt32(txtSpeed_Copy.Text);
SetttingsStaticClass.EndScore = Convert.ToInt32(txtEnd.Text); }
Вікно «Таблиця результатів» (Рис. 2.6) містить інформацію про всі попередні ігри та їх результати.
Рисунок 2.6 «Таблиця результатів»
Код XAML:
<Window x:Class="PongGame.TheTable"
Title="TheTable" Height="351" Width="556" Loaded="Window_Loaded_1" WindowStartupLocation="CenterScreen" ResizeMode="NoResize">
<Grid>
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF872EA8" Offset="0"/>
<GradientStop Color="#FF698BFF" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
<DataGrid x:Name="ResultDataGrid" AutoGenerateColumns="False" HorizontalAlignment="Stretch" Margin="10,10,10,57" RenderTransformOrigin="0.5,0.5" HorizontalGridLinesBrush="Black">
<DataGrid.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="1" ScaleX="1"/>
<SkewTransform AngleY="0" AngleX="0"/>
<RotateTransform Angle="0"/>
<TranslateTransform/>
</TransformGroup>
</DataGrid.RenderTransform> <DataGrid.Columns>
<DataGridTextColumn Header="Результат игрока №1" Binding="{Binding FirstPlayerScore}"></DataGridTextColumn>
<DataGridTextColumn Header="Результат игрока №2" Binding="{Binding SecondPlayerScore}"></DataGridTextColumn>
<DataGridTextColumn Header="Игрок №1" Binding="{Binding winnerName}" ></DataGridTextColumn>
<DataGridTextColumn Header="Игрок №2" Binding="{Binding loserName}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<Button Content="Очистить файл результатов" HorizontalAlignment="Left" Height="32" Margin="185,281,0,0" VerticalAlignment="Top" Width="188" Click="Button_Click_1"/> </Grid>
</Window>
При виклику цього вікна відбуваються наступні дії:
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
NullResults.Add(new GameResult()); // записали пустой объект
results = mySerializer.Deserialize<ObservableCollection<GameResult>>("RESULTS_DATA.XML"); //deserialize
ResultDataGrid.ItemsSource = results;}
Обробник кнопки «Очистить таблицу»:
private void Button_Click_1(object sender, RoutedEventArgs e) //обновление формы при нажатии Обновить
{
mySerializer.Serialize("RESULTS_DATA.XML", NullResults);
new TheTable().Show();
this.Close();
}
Вікно «Справка» (Рис. 2.7) містить інформацію про розробника ПС та короткі правила гри.
Рисунок 2.7 - Вікно «Справка»
Код XAML:
<Window x:Class="PongGame.About"
Title="Справка" Height="317.708" Width="595.833" WindowStartupLocation="CenterScreen" Loaded="Window_Loaded_1" WindowStyle="None">
<Grid>
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFD2D6FF" Offset="0.987"/>
<GradientStop Color="#FFE9F8FF"/>
</LinearGradientBrush>
</Grid.Background>
<Menu HorizontalAlignment="Left" Height="31" VerticalAlignment="Top" Width="588" Margin="0,10,0,0"/>
<Button Content="Помощь игроку" HorizontalAlignment="Left"