Часть 1
162
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
}
// изменился текст в поле редактирования
private void textBox1_TextChanged
(object sender, EventArgs e)
{
// кнопка Добавить становится доступной,
// если информация введена в поле Имя и в
// какое-либо из полей Телефон или E-mail
if ((textBox1.TextLength > 0) &&
((textBox2.TextLength > 0) ||
(textBox3.TextLength > 0)))
button1.Enabled = true;
else
{
button1.Enabled = false;
}
}
}
}
Игры
и другие полезные программы
Парные картинки
Игра Парные картинки (рис. 1.36) развивает память. Правила
игры следующие: игровое поле разделено на клетки, за каждой из
которых скрыта картинка. Картинки парные, т. е. на поле есть
Примеры и задачи
163
две клетки с одинаковыми картинками. Задача игрока — найти
все пары картинок. В начале игры все клетки закрыты. Щелчок
мыши в клетке открывает первую картинку, щелчок в другой
клетке — вторую. Если картинки в открытых клетках одинако-
вые, считается, что пара найдена, и клетки исчезают. Если кар-
тинки разные, то они остаются открытыми.
Следующий щелчок открывает клетку, в которой он сделан, и
закрывает открытые, причем даже в том случае, если картинка
Рис. 1.36. Окно игры Парные картинки
Рис. 1.37. Содержимое файла картинок
Часть 1
164
в ней такая же, что и одна из открытых. Игра заканчивается,
когда будут открыты все пары картинок. Текст программы
приведен в листинге
1.30. Картинки загружаются из файла
(рис. 1.37).
Листинг 1.30. Модуль главной формы программы
Парные картинки
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
const int nw = 4; // кол-во клеток по горизонтали
const int nh = 4; // кол-во клеток по вертикали
const int np = (nw * nh) / 2; // кол-во пар картинок
// рабочая графическая поверхность
System.Drawing.Graphics g;
// картинки (загружаются из файла)
Bitmap pics;
// размер (ширина и высота) клетки (картинки)
int cw, ch;
Примеры и задачи
165
// игровое поле:
int[,] field = new int[nw, nh];
// field[i,j] == 1 ... k - клетка закрыта
// (k-номер картинки);
// field[i,j] == 101 ... (100+k) - клетка открыта
// (игрок видит картинку);
// field[i,j] == 201 ... (200+k) – в клетке картинка,
// для которой найдена пара
// кол-во открытых (найденных) пар картинок
int nOpened = 0;
// количество открытых в данный момент клеток
int cOpened = 0;
// координаты 1-й открытой клетки
int[] open1 = new int[2];
// координаты 2-й открытой клетки
int[] open2 = new int[2];
// таймер
System.Windows.Forms.Timer timer1;
// нарисовать клетку:
// - картинку, если клетка открыта;
// - границу, если клетка закрыта;
// - фон, если в клетке картинка, для которой найдена пара
private void cell(int i, int j)
{
int x,y; // координаты левого верхнего угла клетки
Do'stlaringiz bilan baham: |