Предмет:
Тип роботи:
Курсова робота
К-сть сторінок:
38
Мова:
Українська
Height="31" VerticalAlignment="Top" Width="138" Margin="10,10,0,0" Click="Button_Click_1"/>
<Button Content="Правила игры" HorizontalAlignment="Left" Margin="158,10,0,0" VerticalAlignment="Top" Width="112" Height="31" Click="Button_Click_2"/>
<Button Content="Информация о разработчике" HorizontalAlignment="Left" Margin="283,10,0,0" VerticalAlignment="Top" Width="180" Height="31" Click="Button_Click_3"/>
<Button Content="Выход" HorizontalAlignment="Left" Height="31" Margin="479,10,0,0" VerticalAlignment="Top" Width="99" Click="Button_Click_4"/>
<RichTextBox x:Name="richTextBox1" HorizontalAlignment="Left" Height="218" Margin="10,57,0,0" VerticalAlignment="Top" Width="578">
<FlowDocument/>
</RichTextBox>
</Grid>
</Window>
Обробники кнопок «Правила игры», «Информация о разработчике»:
private void Button_Click_2(object sender, RoutedEventArgs e)
{
try
{WriteTxtFileToRichTxt(@"..\..\myTxt\GameRules.txt");
}catch (Exception ex)
{MessageBox.Show("Ошибка! Текст ошибки: " + ex.Message);}}
private void Button_Click_3(object sender, RoutedEventArgs e)
{
try{WriteTxtFileToRichTxt(@"..\..\myTxt\DeveloperInfo.txt");}
catch (Exception ex)
{MessageBox.Show("Ошибка! Текст ошибки: " + ex.Message);
}}
При розробці гри також було використано декілька окремих класів. Для розробки логіки взаємодії м’яча з іншими компонентами був розроблений клас Bal.cs:
namespace PongGame
{
//класс Мячика
public class Ball : INotifyPropertyChanged //наследование от интерфейса
{
//INotifyPropertyChanged – это интерфейс, используемый в классах объектов данных, для предоставления
// уведомления PropertyChanged клиентам, когда значение любого свойства изменяется. Это позволяет вызывать событие
// PropertyChanged всякий раз, когда состояние объекта меняется
// (добавлен, удален или изменен) в точке, где вы хотите сообщить нижележащей коллекции или контейнеру, что состояние изменилось.
//переменные, которые используются при свойстве set полей
private double _x;
private double _y;
private bool _movingRight;
private int _leftResult;
private int _rightResult;
public double X //положение мячика по X
{
get { return _x; }
set
{
_x = value;
OnPropertyChanged("X");
}
}
public double Y //положение по Y
{
get { return _y; }
set
{
_y = value;
OnPropertyChanged("Y");
}
}
public bool MovingRight //двигается ли мячик вправо
{
get { return _movingRight; }
set
{
_movingRight = value;
OnPropertyChanged("MovingRight");
}
}
public int LeftResult //???
{
get { return _leftResult; }
set
{
_leftResult = value;
OnPropertyChanged("LeftResult");
}
}
public int RightResult //???
{
get { return _rightResult; }
set
{
_rightResult = value;
OnPropertyChanged("RightResult");
}
}
public event PropertyChangedEventHandler PropertyChanged; //обьявление события
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyName));
} }}
Для розробки логіки взаємодії