Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Процедуры формы Form1 (модуля Unit1)
int z,c,i,k,y,x,t,a,g,w,u,l,x1,y1; String f,p,b,s,e; // объявление переменных void __fastcall TForm1::FormCreate(TObject *Sender) // создание формы {Series1->Add(10,"ПЕРЕХОД ХОДА",clSilver); // прорисовка барабана Series1->Add(10,"*2",clBlue); // (диаграммы) Series1->Add(10,"*4",clLime); Series1->Add(10,"500 очков",clFuchsia); Series1->Add(10,"750 очков",clRed); Series1->Add(10,"100 очков",clWhite); Series1->Add(10,"250 очков",clYellow); Series1->Add(10,"1000 очков",clGreen); } void __fastcall TForm1::Button1Click(TObject *Sender) / /кнопка «Выход» {Close(); // процедура закрытия программы } void __fastcall TForm1::Button3Click(TObject *Sender) // кнопка «Загадать» {Form2->Visible=True; Form2->SetFocus(); Form1->Visible=false; Button3->Visible=false; // скрывается кнопка «Загадать» Button6->Visible=true; // визуализация кнопки "Вращать барабан", Button4->Visible=true; // визуализация кнопки "Назвать слово" Button5->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; // блокируется поле для ввода буквы c=f.Length(); // запоминается длина слова for (i=1;i<=c;i++) // вывод соответствующего числа {switch (i) // компонентов StaticText {case 1: StaticText1->Visible=true; break; case 2: StaticText2->Visible=true; break; case 3: StaticText3->Visible=true; break; case 4: StaticText4->Visible=true; break; case 5: StaticText5->Visible=true; break; case 6: StaticText6->Visible=true; break; case 7: StaticText7->Visible=true; break; case 8: StaticText8->Visible=true; break; case 9: StaticText9->Visible=true; break; case 10: StaticText10->Visible=true; break;} } } void __fastcall TForm1::Button4Click(TObject *Sender) //кн.»Назвать слово» {Button2->Visible=true; Edit2->Visible=true; // делает видимым поле для ввода слова Edit2->SetFocus(); // устанавливает на него фокус } void __fastcall TForm1::Button5Click(TObject *Sender) // Вращать барабан {if (Label4->Caption=="Игрок1, Ваш ход") g=1; else g=2; // запоминает, кто из игроков делает ход Button4->Enabled=true; Edit1->Enabled=true; Edit1->SetFocus(); // устанавливает курсор в поле для ввода буквы Timer1->Enabled=true; // делает активным таймер Edit1->Text=""; // очищает поле ввода буквы } void __fastcall TForm1::Button2Click(TObject *Sender) {Edit2->Visible=false; // делает невидимым поле для ввода слова Edit1->Enabled=true; s=Edit2->Text; // запоминается введенное слово i=AnsiCompareText(f,s); // сравнение загаданного и введенного слов if (i==0) // действия при вводе игроком верного ответа {Label3->Caption="ВЫ УГАДАЛИ!!!"; Label4->Caption=""; Button4->Enabled=false; Button5->Enabled=false;}
else if(a==0) // a=0, если еще никто не пытался назвать слово {if (g==1) // действия при вводе игроком 1 неверного ответа {Label3->Caption="Игрок 1, Вы ошиблись"; Label4->Caption="Игрок 2, Вы должны назвать слово"; Edit2->Visible=true; Edit2->Text=""; Edit2->SetFocus(); a=a+1; } else if (g==2) // действия при вводе игроком2 неверного ответа {Label3->Caption="Игрок 2, Вы ошиблись"; Label4->Caption="Игрок 1, Вы должны назвать слово"; Edit2->Visible=true; Edit2->Text=""; Edit2->SetFocus(); a=a+1; } } else // если один из игроков ввел неверное слово, то выводится // сообщение об ошибке и другому предлагается назвать слово {Label4->Visible=false; Edit2->Enabled=false; Button5->Enabled=false; if (Label4->Caption=="Игрок 1, Вы должны назвать слово") Label3->Caption="Игрок 1, Вы ошиблись, игра окончена"; else if (Label4->Caption=="Игрок 2, Вы должны назвать слово") Label3->Caption="Игрок 2, Вы ошиблись, игра окончена"; } } void __fastcall TForm1::Edit2Change(TObject *Sender) {Button4->Enabled=false; // при вводе слова блокируются Edit1->Enabled=false; } // кнопка «Назвать слово» и поле для ввода буквы void __fastcall TForm1::Timer1Timer(TObject *Sender) {static x, y; // объявление статических переменных х и у x=x1; y=y1; Button5->Enabled=false;// блокировка кнопки "Вращать барабан" randomize(); z=random(150); i=i+1; // в переменной считается количество поворотов if (i<z) {Series1->RotationAngle=Series1->RotationAngle+5; // поворот диаграммы t=t+5;} // запоминание угла поворота else {switch (g) // переменная g показывает, кто сделал ход {case 1: // проверяет, какой сектор выпал и производит {if (t<=45) x=x+1000; // соответствующие действия else if (t<=90) x=x+250; else if (t<=135) x=x+100; else if (t<=180) x=x+750; else if (t<=225) x=x+500; else if (t<=270) x=x*4; else if (t<=315) x=x*2; else if (t<=360) {Label4->Caption="Игрок2, Ваш ход"; Button5->Enabled=true; Edit1->Enabled=false; i=-1;} // переменная i – это флаг, указывающий на то, что выпал // сектор «Переход хода» и не надо суммировать очки if (i!=-1) {e=IntToStr(x); Label5->Caption="Игрок1, Ваш выигрыш - "+e;}} // перевод количества набранных очков в строку для вывода на форму break; case 2: {if (t<=45) y=y+1000; else if (t<=90) y=y+250; else if (t<=135) y=y+100; else if (t<=180) y=y+750; else if (t<=225) y=y+500; else if (t<=270) y=y*4; else if (t<=315) y=y*2; else if (t<=360) {Label4->Caption="Игрок1, Ваш ход"; Button5->Enabled=true; Edit1->Enabled=false; i=-1; } if (i!=-1){e=IntToStr(y); Label6->Caption="Игрок2, Ваш выигрыш - "+e; }
} break; } Timer1->Enabled=false; // блокировка таймера } x1=x; y1=y; Series1->Clear(); // удаляет диаграмму Series1->Add(10,"ПЕРЕХОД ХОДА",clSilver); // перерисовывает Series1->Add(10,"*2",clBlue); // диаграмму, повернув ее на 5 град. Series1->Add(10,"*4",clLime); Series1->Add(10,"500 очков",clFuchsia); Series1->Add(10,"750 очков",clRed); Series1->Add(10,"100 очков",clWhite); Series1->Add(10,"250 очков",clYellow); Series1->Add(10,"1000 очков",clGreen); } void __fastcall TForm1::Edit1Change(TObject *Sender) {Button6->Enabled=true; Button5->Enabled=false; // блокировка кнопок "Вращать барабан" и «Подтвердите выбор» } void __fastcall TForm1::Button6Click(TObject *Sender) //кн. «Подтвердите» {f=Form3->Edit1->Text; c=f.Length(); w=0; b=Edit1->Text; // запоминается введенная буква b=AnsiLowerCase(b); // возвращается буква в нижнем регистре for (i=1;i<=c;i++) // в цикле введенная буква сравнивается с i-й // буквой слова { p=f.SubString(i,1); // возвращает i-ю букву загаданного слова p=AnsiLowerCase(p); // возвращается буква в нижнем регистре if (p==b) {u=u+1; // в переменной считается количество угаданных букв w=w+1; // в переменной считается, сколько раз // введенная буква встречается в слове switch (i) // вывод угаданной буквы {case 1: StaticText1->Caption=b; break; case 2: StaticText2->Caption=b; break; case 3: StaticText3->Caption=b; break; case 4: StaticText4->Caption=b; break; case 5: StaticText5->Caption=b; break; case 6: StaticText6->Caption=b; break; case 7: StaticText7->Caption=b; break; case 8: StaticText8->Caption=b; break; case 9: StaticText9->Caption=b; break; case 10: StaticText10->Caption=b; break;} } } Edit1->Enabled=false; Button5->Enabled=true; if (w!=0) switch (g) {case 1: // умножение набранных очков, если буква // в слове встречается более одного раза {x1=x1*w; e=IntToStr(x1); Label5->Caption="Игрок1, Ваш выигрыш - "+e;} break; case 2: {y1=y1*w; e=IntToStr(y1); Label6->Caption="Игрок2, Ваш выигрыш - "+e;} break;} // если буква названа неверно, то ход передается другому игроку else if (Label4->Caption=="Игрок1, Ваш ход") Label4->Caption="Игрок2, Ваш ход"; else Label4->Caption="Игрок1, Ваш ход"; if (u==c) {Label3->Caption="ВЫ УГАДАЛИ!!!"; Label4->Visible=false; Button4->Enabled=false; Button5->Enabled=false;} Button6->Enabled=false; // если количество угаданных букв совпадает с длиной слова, то // выводится надпись «ВЫ УГАДАЛИ!!!» и блокируются все объекты // кроме кнопки «Выход» }
|
||||||
Последнее изменение этой страницы: 2017-02-08; просмотров: 289; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.171.20 (0.024 с.) |