Отправляет email-рассылки с помощью сервиса Sendsay

Программирование в Delphi

  Все выпуски  

Delphi для начинающих: программы, игры, приколы. Выпуск № 1


Доброго времени суток!

Сначала хочу объясниться, зачем я начал выпускать рассылку.

Лет эдак 5 назад я заинтересовался программированием. Естественно, купил книжку и стал мечтать как напишу крутую прогу, и продам её буржуям за число с большим количеством нулей :). Но оказалось, что в продаже почти нет книг, которые могли бы научить делать более-менее работоспособные и интересные программы. Интернета в те годы у меня ещё не было. Это сейчас любой продвинутый юзер залезет в Интернет и найдёт там… А что он там найдёт? Кучу статей для более-менее опытных программистов, а статьи для начинающих осваивать программирование днём с огнём не сыщешь.

Прошло время, я кое чему научился, методом проб и ошибок. Накопленным опытом я хочу поделиться с вами!

Сразу договоримся, что вы, уважаемый читатель, знаете хотя бы основы языка Pascal и Delphi!

В добрый путь!

 

Для начала сделаем самую, что ни на есть простую игру – «Угадай число». Смысл игры такой: компьютер загадывает число от 1 до 100 а пользователь попытается его отгадать. Конечно, в эту игру никто играть не будет, но надо же с чего-то начинать!

Для начала создадим новый проект. Для этого запустим Delphi и в горизонтальном меню нажмём File->New->Application. Теперь на открывшейся заготовке формы расположим  4  компонента Edit, компонент ListBox, Button. Теперь в Object Inspector настроим основные свойства компонентов:

Command1.caption:=Новая игра

Command2.caption:= ‘Сдаюсь!

Command3.caption:=’Выход

Command4.caption:=’Ok’

Command2.enabled:=false

Command4.enabled:=false

В ListBox1 добавьте строчку ‘Нажмите кнопку –Новая игра-’

С помощью Label’ов сделайте пояснительные комментарии, настройте цвета компонентов.

Интерфейс нашей кульной программки закончен, приступим к написанию исходного кода.

 

1. В модуле var объявите переменные number, you, count типа smallint

В переменной number будет храниться загадываемое компьютером число, в переменной you – ваш вариант ответа, а count будет счётчиком количества сделанных вами ходов.

Var Number, you, count:smallint;

2. Двойным щелчком на кнопке Button1 создадите заготовку процедуры Button1Click

Анологично создавайте и друние процедуры

 

procedure TForm1.Button1Click(Sender: TObject);

begin

ListBox1.Clear; 

ListBox1.Items.Add('--Начата новая игра--');

ListBox1.Items.Add('Я задумал число от 0 до 100');

// Функция random возвращает случайное число от 1 до 100

number:= random(100)+1;

Button2.Enabled:=true;  //Делаем кнопки «ОК» и «Сдаюсь» доступными для пользователя

Button4.enabled:=true;

Edit1.text:='';

count:=0; // Обнуляем счётчик количества ходов

end;

 

procedure TForm1.Button4Click(Sender: TObject);

begin

try

you:=strtoint(Edit1.text); // Ввод вашего варианта ответа в переменную

except

//Если пользователь написал в текстовом поле не число, то выскажем ему наше порицание.

// В терминологии программистов это называется «Защита от дурака»

Application.messagebox('Неверный формат числа!', 'Ошибка!');

exit;

end;

Edit1.Clear;

If (you<=100) and (you>0) then

begin

count:=count+1;

//Здесь мы смотрим, какое число ввёл пользователь и выдаём соответствующие комментарии

If you>number then ListBox1.Items.add(IntToStr(count)+ ': ' + 'Моё число меньше, чем '+IntToStr(you))

else

If you<number then ListBox1.Items.Add(IntToStr(count)+': '+'Моё число больше, чем '+IntToStr(you))

else

begin

Button3.Enabled:=false;

// Выводим за сколько ходов пользователь угадал наше число

ListBox1.items.Add('Число угадано за '+IntToStr(count-1)+' ходов');

ListBox1.items.add('-Нажмите кнопку "Новая игра"-');

end;

Edit1.SetFocus;

end;

 

end;

// Выход

procedure TForm1.Button3Click(Sender: TObject);

begin

close;

end;

// Процедура кнопки «Сдаешься»

procedure TForm1.Button2Click(Sender: TObject);

begin

ListBox1.Items.add('Ага, сдаёшься!');

ListBox1.Items.add('Я загадывал число '+IntToStr(number)+' !');

ListBox1.Items.add('-Нажмите кнопку "Новая игра"-');

Button3.Enabled:=false;

Button4.Enabled:=false;

end;

 

initialization // Эти две строчки говорят программе, что случайные числа

randomize;   // нужно каждый раз выдавать разные

end.

Вот мы и сделали нашу первую «игру». Конечно игрой это можно назвать с большой натяжкой, но лиха беда начало!

 

Здесь можно скачать исходники, а здесь exe-шник

C уважением, Valar!

2006-04-01 18:58:38

В избранное