Exemplo n.º 1
0
//====================================================================<<
void keyGenUser(char *matx)//make password of user's setting
{
    char aBig[] = {"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
    char aSmall[] = {"abcdefghijklmnoprstuvwxyz"};
    char aNumb[] = {"1234567890"};
    char aSimb[] = {"!@#$%^&*()_-=+\|/{}][';:>.<?,~`"};
    char *summ;
    int i,j;
    int KeyS[matx[number]];
    int KeyM[matx[number]][matx[number]];

    summ=(char *)calloc(&summ,sizeof(char));
    if(matx[big]==1)
    {
        summ=(char *)realloc(summ,strlen(aBig)*sizeof(char));
        strcat(summ,aBig);
    }
    if(matx[small]==1)
    {
        summ=(char *)realloc(summ,strlen(aSmall)*sizeof(char));
        strcat(summ,aSmall);
    }
    if(matx[numeric]==1)
    {
        summ=(char *)realloc(summ,strlen(aNumb)*sizeof(char));
        strcat(summ,aNumb);
    }
    if(matx[simbols]==1)
    {
        summ=(char *)realloc(summ,strlen(aSimb)*sizeof(char));
        strcat(summ,aSimb);
    }

    Mixer(summ);//this is mix of array summ

    if(matx[matrix]==0)//string
    {
        for(i=0;i<matx[number];i++)//make and printf
        {
            KeyS[i]=summ[rand()%strlen(summ)];
            printf("%c",KeyS[i]);
        }
    }
    else//matrix
    {
        for(i=0;i<matx[number];i++)
        {
            for(j=0;j<matx[number];j++)
            {
                KeyM[i][j]=summ[rand()%strlen(summ)];
                printf("%c",KeyM[i][j]);
            }
            printf("\n");
        }
    }


    free(summ);
}
Exemplo n.º 2
0
// новая игра
void __fastcall TForm1::NewGame()
{
    static int Tag = 0;
       // загрузить файл иллюстрации
    if (( ParamCount() == 0 ) && (Tag == 0 )) Tag = 1;

    switch ( Tag )
    {
        case 0 :  // имя файла - из командной строки
             fn = ParamStr(1);
             Tag = 1;
             break;

        case 1:  // выбрать первый по порядку bmp-файл
             { FindFirst("*.bmp",faAnyFile,SearchRec);
               fn = SearchRec.Name;
               Tag = 2;
             }
             break;

        case 2: // выбрать следующий bmp-файл
             {
                if ( FindNext(SearchRec) != 0)
                    FindFirst("*.bmp",faAnyFile,SearchRec);
                fn = SearchRec.Name;
             }
             break;
    }

    // загрузить иллюстрацию
    try {
        pic->LoadFromFile(fn);
    }
    catch (EFOpenError &e)
    {
        MessageDlg("Ошибка доступа к файлу иллюстрации",
          mtWarning, TMsgDlgButtons()<< mbOK<<mbHelp,0);
        return;
    }

    // определить размер клетки
    wc = pic->Width / W;
    hc = pic->Height / H;

    // установить размер формы
    ClientWidth = wc * W;
    ClientHeight = hc * H;

    // исходное (правильное) положение фишек
    int k = 1;
    for (int i = 0; i < H; i++)
        for (int j = 0; j < W; j++)
            pole[i][j] = k++;

    GameOver = false;
    Mixer();     // перемешать фишки
    ShowPole();  // отобразить игровое поле
}