Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Процедуры формы Form1 (модуль Unit1)




Тексты процедур программы для Delphi

var Form1: TForm1; f,b,p,s,e: string; z,c,i,k,y,x,t,a,g,w,u: integer; //объявления

procedure TForm1.Button1Click(Sender: TObject); // кнопка «Выход»

begin close; end;

procedure TForm1.Button3Click(Sender: TObject); // кнопка «Загадать»

begin Form2.Show; //показ формы для ввода пароля

Form1.Visible:=false; //скрытие формы Поле Чудес

Button3.Visible:=false; //скрытие кнопки «Загадать»

Button4.Visible:=true; //визуализация кнопки «Назвать слово «

Button5.Visible:=true; // визуализация кнопки «Вращать барабан»

Button6.Visible:=true; // визуализация кнопки «Подтвердите»

Label2.Visible:=true; //становятся видимыми надписи

Label4.Visible:=true;

Label5.Visible:=true; Label5.Caption:=Label5.Caption+'0';

Label6.Visible:=true; Label6.Caption:=Label6.Caption+'0';

Edit1.Visible:=true; //визуализация поля для ввода буквы

Edit1.Enabled:=false; //и его блокировка

end;

procedure TForm1.Button4Click(Sender: TObject);//кнопка»Назвать слово» begin Edit2.Visible:=true; //делает видимым поле для ввода слова

Edit2.SetFocus; //и передает ему фокус

Button2.Visible:=true;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Button5.Enabled:=false; //блокировка кнопки Вращать барабан

Randomize;z:=Random(100); //выбирается произвольное число из 100

i:=i+1; // в переменной считается количество поворотов

If i<z then

begin Series1.RotationAngle:=Series1.RotationAngle+5; //поворот диаграммы

t:=t+5;

end // запоминание угла поворота

else begin

case g of // переменная g показывает, кто сделал ход

1: begin // проверяет, какой сектор выпал и производит

case t of // соответствующие действия

316..359: begin Label4.Caption:='Игрок 2, Ваш ход';

Button5.Enabled:=true; Edit1.Enabled:=false; i:=-1; end;

// переменная i – это флаг, указывающий на то, что выпал

// сектор «Переход хода» и не надо суммировать очки

271..315: x:=x*2; 226..270: x:=x*4; 181..225: x:=x+500;

136..180: x:=x+750; 91..135: x:=x+100; 46..90: x:=x+250;

0..45: x:=x+1000;

end; if i<>-1 then

begin e:=inttostr(x); Label5.Caption:='Игрок1, Ваш выигрыш - '+e;

// перевод количества набранных очков в строку для вывода ее на форму

end;

end;

2: begin

case t of

316..359: begin Edit1.Enabled:=false;

Label4.Caption:='Игрок 1, Ваш ход'; Button5.Enabled:=true; i:=-1; end;

271..315: y:=y*2; 226..270: y:=y*4; 181..225: y:=y+500;

136..180: y:=y+750; 91..135: y:=y+100; 46..90: y:=y+250;

0..45: y:=y+1000;

end;

if i<>-1 then

begin e:=inttostr(y);Label6.Caption:='Игрок2, Ваш выигрыш - '+e; end;

end;

end; Timer1.Enabled:=false; // блокировка таймера

end;

Series1.Clear; // удаление диаграммы

With Series1 do

begin add(10,'100 очков',clWhite); // перерисовывает

add(10,'750 очков',clRed); // диаграмму, повернув ее на 5 град.

add(10,'1000 очков',clGreen); add(10,'250 очков',clYellow);

add(10,'*2',clBlue); add(10,'ПЕРЕХОД ХОДА',clSilver);

add(10,'500 очков',clFuchsia); add(10,'*4',clLime);

end;

end;

procedure TForm1.Edit1Change(Sender: TObject);

begin Button5.Enabled:=false; Button6.enabled:=true;

// блокировка кнопок "Вращать барабан" и «Подтвердите выбор»

end;

procedure TForm1.Button5Click(Sender:TObject);//кноп. «Вращать барабан»

begin if Label4.Caption='Игрок 1, Ваш ход'

then g:=1else g:=2; // запоминает, кто из игроков делает ход

Button4.Enabled:=true; Edit1.Enabled:=true;

Edit1.SetFocus; // устанавливает курсор в поле для ввода буквы

Timer1.Enabled:=true; // делает активным таймер

Edit1.Text:=''; // очищает поле ввода буквы

end;

procedure TForm1.Button2Click(Sender: TObject); //кнопка «Подтвердите»

begin Edit2.Visible:=false; // делает невидимым поле для ввода слова

Edit1.Enabled:=true; // разблокировка объектов

s:=Edit2.Text; // запоминается введенное слово

i:= AnsiCompareText(f,s); // сравнение загаданного и введенного слов

if i=0 then // действия при вводе игроком верного ответа

begin Label3.Caption:='ВЫ УГАДАЛИ!!!'; Edit1.enabled:=false;

Label4.Caption:=''; Button5.Enabled:=false; Button2.Enabled:=false;

end

else if a=0 then begin // a=0, если еще никто не пытался назвать слово

Button4.Enabled:=true;

if g=1 then //действия при вводе игроком1 неверного ответа

begin Label3.Caption:='Игрок 1, Вы ошиблись';

Label4.Caption:='Игрок 2, Вы должны назвать слово';

Edit2.Visible:=true;

Edit2.Text:=''; Button5.Enabled:=false;

Edit2.SetFocus; a:=a+1;

end

else if g=2 then

// действия при вводе игроком2 неверного ответа

begin Label3.Caption:='Игрок 2, Вы ошиблись';

Label4.Caption:='Игрок 1, Вы должны назвать слово';

Edit2.Visible:=true; Edit2.Text:=''; Button5.Enabled:=false;

Edit2.SetFocus; a:=a+1;

end;

end

else // если один из игроков ввел неверное слово, то выводится

// сообщение об ошибке и другому предлагается назвать слово

begin Label4.Visible:=false; Edit2.Enabled:=false;

Button5.Enabled:=false;

if Label4.Caption='Игрок 1, Вы должны назвать слово' then

Label3.Caption:='Игрок 1, Вы ошиблись, игра окончена'

else if Label4.Caption='Игрок 2, Вы должны назвать слово' then

Label3.Caption:='Игрок 2, Вы ошиблись, игра окончена';

end;

end;

procedure TForm1.Button6Click(Sender: TObject); //кнопка «Подтвердите»

begin f:=Form3.Edit1.Text; c:=Length(f); w:=0;

b:=Edit1.Text; // запоминается введенная буква

b:=AnsiLowerCase(b); // возвращается буква в нижнем регистре

for i:=1 to c do // в цикле введенная буква сравнивается с i-й буквой слова

begin p:=Copy(f,i,1); // возвращает i-ю букву загаданного слова

p:=AnsiLowerCase(p); // возвращается буква в нижнем регистре

if p=b then

begin u:=u+1; // в переменной считается количество угаданных букв

w:=w+1; // в переменной считается, сколько раз

// введенная буква встречается в слове

case i of // вывод угаданной буквы

1: Statictext1.Caption:=b; 2: Statictext2.Caption:=b;

3: Statictext3.Caption:=b; 4: Statictext4.Caption:=b;

5: Statictext5.Caption:=b; 6: Statictext6.Caption:=b;

7: Statictext7.Caption:=b; 8: Statictext8.Caption:=b;

9: Statictext9.Caption:=b; 10: Statictext10.Caption:=b;

end;

end

end;

Edit1.Enabled:=false; Button5.Enabled:=true;

If w<>0 then

begin if g=1 then // умножение набранных очков, если буква // в слове встречается более одного раза

begin x:=x*w; e:=inttostr(x);

Label5.caption:='Игрок1, Ваш выигрыш - '+e;

end

else if g=2 then

begin y:=y*w; e:=inttostr(y);

Label6.caption:='Игрок2, Ваш выигрыш - '+e;

end

end // если буква названа неверно, то ход передается другому игроку

else if Label4.Caption='Игрок 1, Ваш ход'

then Label4.Caption:='Игрок 2, Ваш ход'

else Label4.Caption:='Игрок 1, Ваш ход';

if u=c then

begin Label3.Caption:='ВЫ УГАДАЛИ!!!'; Label4.Visible:=false;

Button4.Enabled:=false; Button5.Enabled:=false;

end;

Button6.Enabled:=false;

// если количество угаданных букв совпадает с длиной слова, то

// выводится «ВЫ УГАДАЛИ!!!» и блокируются все объекты, кроме «Выход»

end;

procedure TForm1.Edit2Change(Sender: TObject);

begin Button4.Enabled:=false; // при вводе слова блокируются

Edit1.Enabled:=false; // кнопка «Назвать слово» и поле для ввода буквы

end;

procedure TForm1.FormCreate(Sender: TObject);

begin x:=0; y:=0; w:=0; a:=0;

With Series1 do

begin // прорисовка барабана

add(10,'100 очков',clWhite); add(10,'750 очков',clRed);

add(10,'1000 очков',clGreen); add(10,'250 очков',clYellow);

add(10,'*2',clBlue); add(10,'ПЕРЕХОД ХОДА',clSilver);

add(10,'500 очков',clFuchsia); add(10,'*4',clLime);

end;

end;




Поделиться с друзьями:


Дата добавления: 2014-12-08; Просмотров: 543; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.025 сек.