Форум
Програмиране

Toto-program - JBUILDER


/* Програма за генериране на произволни числа за игрите на ТОТО 2- "5 от 35","6 от 42" и "6 от 49" */
//---------------------------------------------------------------------------
#include
#include
#include
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
exit('0'); /* Изход от приложението при натискане на бутон1("Изход") */
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button2Click(TObject *Sender) /* обработка на събитието-
натискане на бутон2("Генерирай")- при натискането на бутона се генерират произволно
числа за съответната игра избрана от групата радио бутони("RadioGroup1") */

{
int t1,t2,t3,t4,t5,t6; /* дифиниране на изполваните променливи от тип integer */
randomize(); /* указва се, че в програмата ше се ползва метода за генериране на
произволни цели числа "Random" дифиниран в хедър фаила "stdlib.h" */


if (RadioGroup1->ItemIndex == 2) /* Ако е избран третия радио(т.е. избрана е играта "6 от 49")
бутон, направи...*/
/* ItemIndex задава идекса на съответен бутон от групата радио бутони "RadioGroup1", като:
първият радиобутон има индекс 0, вторият е с индекс 1, и т.н. */


{
t1=random(49)+1; /* на променливата t1 от целочислен тип("int") се присвоява произволна
стойност в интервала [0;48],към която прибавяме 1 за да променим интервала
в който се намира t1 на [1;49] */


Edit1->Text=t1; /*на своиството "Text",на текстова кутия1("Edit1") се присвоява стойността
на произволно генетираната целочислена променлива t1 */

l2: /* етикет("Label")- към който в последствие може да се пренасочи(върне) програмата*/

t2=random(49)+1; /* на променливата t2 от целочислен тип("int") се присвоява произволна
стойност в интервала [0;48],към която прибавяме 1 за да променим интервала
в който се намира t1 на [1;49] */

if(t2==t1) goto l2;else Edit2->Text=t2; /* Ако стойностите на двете произволно генерирани
променливи t1 и t2 съвпадат,то се върни към етикета l2
и продължи оттам надолу изпълнението на програмата;
в противен случай на своиството "Text",на текстова
кутия1("Edit2") се присвоява стойността на произволно
генетираната целочислена променлива t2 */

/* По нататък се повтарят посочените по горе действия като при условните оператори за сравнение
"if"("ако") се проверява дали новогенерираните пройзволни числа се повтарят с предхоните */

l3:
t3=random(49)+1;
if((t3!=t1)&&(t3!=t2)) Edit3->Text=t3;else goto l3;
l4:
t4=random(49)+1;
if((t4!=t1)&&(t4!=t2)&&(t4!=t3)) Edit4->Text=t4;else goto l4;
l5:
t5=random(49)+1;
if((t5!=t1)&&(t5!=t2)&&(t5!=t3)&&(t5!=t4)) Edit5->Text=t5;else goto l5;

Edit6->Brush->Color=clWindow; /* променяме цвета на текстовата кутия Edit6 на стандартния за Windows
цвят на прозореца */
l6:
t6=random(49)+1;
if((t6!=t1)&&(t6!=t2)&&(t6!=t3)&&(t6!=t4)&&(t6!=t5)) Edit6->Text=t6;else goto l6;

/* по надолу описаните по горе действия се повтарят за другите игри */
}

if (RadioGroup1->ItemIndex == 1)
{
t1=random(42)+1;
Edit1->Text=t1;
l22:
t2=random(42)+1;
if(t2==t1) goto l22;else Edit2->Text=t2;
l33:
t3=random(42)+1;
if((t3!=t1)&&(t3!=t2)) Edit3->Text=t3;else goto l33;
l44:
t4=random(42)+1;
if((t4!=t1)&&(t4!=t2)&&(t4!=t3)) Edit4->Text=t4;else goto l44;
l55:
t5=random(42)+1;
if((t5!=t1)&&(t5!=t2)&&(t5!=t3)&&(t5!=t4)) Edit5->Text=t5;else goto l55;

Edit6->Brush->Color=clWindow;
l66:
t6=random(42)+1;
if((t6!=t1)&&(t6!=t2)&&(t6!=t3)&&(t6!=t4)&&(t6!=t5)) Edit6->Text=t6;else goto l66;
}

if (RadioGroup1->ItemIndex == 0)
{
t1=random(35)+1;
Edit1->Text=t1;
l222:
t2=random(35)+1;
if(t2==t1) goto l222;else Edit2->Text=t2;
l333:
t3=random(35)+1;
if((t3!=t1)&&(t3!=t2)) Edit3->Text=t3;else goto l333;
l444:
t4=random(35)+1;
if((t4!=t1)&&(t4!=t2)&&(t4!=t3)) Edit4->Text=t4;else goto l444;
l555:
t5=random(35)+1;
if((t5!=t1)&&(t5!=t2)&&(t5!=t3)&&(t5!=t4)) Edit5->Text=t5;else goto l555;
Edit6->Brush->Color=clGray;
Edit6->Text="";
}



}
//---------------------------------------------------------------------------














Създай своя тема от тук Прочети по-късно Още статии за Програмиране