Уроке, используя уже известный объект pictureBox, создадим простенькую игру "Тараканьи бега"



Pdf көрінісі
Дата10.02.2023
өлшемі212,04 Kb.
#66748
түріУрок



Создание динамических приложений на C# 
Оригинал : 
http://hi-intel.ru/802/107.html
На этом уроке, используя уже известный объект pictureBox, создадим 
простенькую игру "Тараканьи бега". Суть игры состоит в том, чей жучёк 
прибежит к финишу первым. Для игры нужны две картинки жучков, один будет 
красный, другой синий. Картинки можно нарисовать в редакторе Paint, или 
загрузить к себе в папку с проектом представленные здесь 
картинки:
Создав новый проект, следует расположить на форме следующие объекты:
В объекты pictureBox1 и pictureBox2 следует загрузить картинки. Для этого в 
свойстве Image нажать маленькую кнопочку и, далее, нажать кнопку Import на 
панели ресурсов. 
Когда картинки будут загружены, следует панели panel1 присвоить в свойстве 
BackColor такой же цвет, как и фон картинок жучков. 
Двойным щелчком на выделенной форме следует создать событие и прописать в 
нём начальные установки нашей программы: 
private void Form1_Load(object sender, EventArgs e) 

textBox1.Text = "Вася"; 
textBox2.Text = "Петя"; 
label1.Text = "0"; 
label2.Text = "0"; 
pictureBox1.Left = 1; 
pictureBox2.Left = 1; 
}



Кнопке button1 в свойстве Text следует присвоить значение "СТАРТ", а button2 
значение "Сброс". 
Запустим приложение на исполнение; форма должна принять вид, показанный на 
рисунке:
Далее, создадим в коде программы несколько глобальных переменных: 
public partial class Form1 : Form 

int flag1;
int x1, x2; 
public Form1() 
{
... 
Переменная flag1 - предназначена для контроля игровой ситуации, если flag1 
равна 0, то жучки стоят на месте, а если flag1 не равна 0, то жучки начинают 
двигаться. Переменные x1 и x2 предназначены для хранения горизонтальных 
координат положения жучков на беговой дорожке. 
Создадим событие для кнопки "Сброс", это событие очищает все переменные и 
устанавливает жучков в стартовую позицию.
private void button2_Click(object sender, EventArgs e) 

label1.Text = "0"; 
label2.Text = "0"; 
x1 = 1; x2 = 1; 
pictureBox1.Left = x1; 
pictureBox2.Left = x2; 
flag1 = 0;
}



Для кнопки "СТАРТ" тоже создадим событие, оно будет очень простое, нужно 
присвоить переменной flag1 любое значение не равное 0. 
private void button1_Click(object sender, EventArgs e) 

flag1 = 1; 
}
Теперь осталось создать событие, которое будет перемещать наших жучков. Для 
этого нам понадобится компонент таймер timer1. Установим компонент на форме 
и произведём некоторые настройки.
Свойство GenerateMember и Enabled должны быть True. Свойство Interval равно 
100 - это один тик таймера в секунду. Если жучки будут двигаться медленно, то 
это значение можно уменьшить, например до 50.
Для определения координаты финиша следует одного из жучков сдвинуть до 
конца вправо.
Первая цифра в свойстве Location (на рисунке это 422) означает финишную 
координату (у вас это значение может быть другим, его нужно запомнить для 
вставки в код программы). 
Двойным щелчком по иконке timer1 создадим событие движения жучков: 
private void timer1_Tick(object sender, EventArgs e) 

if (flag1 != 0) // Если дан старт :




Random a = new Random(); 
// Включаем генератор случайных 
чисел 
// В переменную count записываем случайное число в 
диапазоне от 0 до 8 
int count = a.Next(8); 
// Наращиваем значение координаты x1 на случайное число 
count
x1 += count; 
//
Выводим значение пройденного пути для первого игрока
label1.Text = Convert.ToString(x1); 
// Смещаем первого жучка на случайную величину
pictureBox1.Left = x1; 
// Создаём случайное число для второго игрока и повторяем 
всё то же самое
count = a.Next(8); 
x2 += count; 
label2.Text = Convert.ToString(x2); 
pictureBox2.Left = x2; 

// Проверяем какой из игроков дошёл до финиша и 
останавливаем процесс
if ((x1 >= 422) || (x2 >= 422)) 

flag1 = 0; 


Запустим программу на исполнения и, нажав кнопку "СТАРТ" сыграем несколько 
партий, что бы убедиться, что игроки приходят к финишу с переменным успехом.
В заключение следует сказать, что исполнимый файл (exe) находится в папке с 
вашим проектом в папке bin \ debug \ имя_проекта.exe. Этот файл можно 
копировать на любой носитель и выполнять независимо от среды 
программирования Visual Studio.


Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет