Cod sursa(job #1606439)

Utilizator valivalica99ThisNameIsPerfect valivalica99 Data 20 februarie 2016 11:48:44
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 19 kb
#include <conio.h>
#include <Windows.h>
#include <iostream>
void setcolor(unsigned short color)
{
    HANDLE hcon=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hcon,color);
}
using namespace std;

#define KEY_UP 72
#define KEY_DOWN 80
#define KEY_LEFT 75
#define KEY_RIGHT 77
#define ENTER 81

int c,i,j,x,y,o,k=0,contor,nrc,c1,pts,c2,key,ff=0,z=14,r,q;
char a[9][18],p,m=2,f=1,coin=15;
int main()
{
    system("COLOR 1B");
    cout <<"G I M ! "<<endl;
    cout <<"1.START"<<endl;
    cout <<"2.QUIT"<<endl;
    cout <<"Write the number and then press enter"<<endl;
    cin >>r;
    if (r==2) return 0;
    if (r==1)
    {
    system("cls");
    system("COLOR 1B");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            a[i][j]=' ';
        }
    }
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            if (i==1) a[i][j]='O';
            if (j==1) a[i][j]='O';
            if (i==9) a[i][j]='O';
            if (j==18) a[i][j]='O';
        }
    }
        a[2][2]=m;
        a[4][15]=f;
        a[6][7]=f;
        a[7][3]=f;
        a[8][10]=f;
        a[3][5]=f;
        a[8][17]=z;
        a[7][12]=coin;
        a[4][9]=coin;
        a[2][14]=coin;
        a[5][2]=coin;
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }cout <<"POINTS:"<<pts;
    x=2;
    y=2;
    int c = 0;
    while(a[8][17]!=m)
    {
        c = 0;

        switch((c=getch())) {
        case KEY_UP:
            {
                if (a[x-1][y]==coin)
                {
                    pts++;
                }
                if (a[x-1][y]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x-1][y]!='O')
                {a[x][y]=' ';
                x=x-1;
                a[x][y]=m;
                }
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
                cout <<a[i][j];
        }
        cout <<endl;
    }
    cout <<"POINTS:"<<pts;
            }
            break;
        case KEY_DOWN: {
                if (a[x+1][y]==coin)
                {
                    pts++;
                }
                if (a[x+1][y]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x+1][y]!='O')
                {a[x][y]=' ';
                x=x+1;
                a[x][y]=m;
                }
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
    cout <<"POINTS:"<<pts;
            break;
        }
        case KEY_LEFT:
              {
                if (a[x][y-1]==coin)
                {
                    pts++;
                }
                if (a[x][y-1]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x][y-1]!='O')
                {a[x][y]=' ';
                y=y-1;
                a[x][y]=m;}
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
    cout <<"POINTS:"<<pts;
            break;
              }
        case KEY_RIGHT:
            {
                if (a[x][y+1]==coin)
                {
                    pts++;
                }
                if (a[x][y+1]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x][y+1]!='O')
                {
                a[x][y]=' ';
                y=y+1;
                a[x][y]=m;
                }
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
    cout <<"POINTS:"<<pts;
                }
            break;
        default:
            //cout << endl << "null" << endl;  // key left
            break;
        }

    }
    system("cls");
    if (k==0) {
                cout <<"N";
                Sleep (100);
                cout <<"E";
                Sleep (100);
                cout <<"X";
                Sleep (100);
                cout <<"T";
                Sleep (100);
                cout <<" ";
                Sleep (100);
                cout <<"L";
                Sleep (100);
                cout <<"E";
                Sleep (100);
                cout <<"V";
                Sleep (100);
                cout <<"E";
                Sleep (100);
                cout <<"L";
                Sleep (100);
                cout <<"!";
                Sleep (100);
              }
    else {cout <<"You Lost";k=1;return 0;}
    Sleep (500);
    //2222222222222222222222222222222222222222

    x=2;
    y=2;
    a[2][2]=m;
    a[8][17]=z;

    a[8][16]='O';
    a[7][16]='O';
    a[7][17]='O';
    a[4][10]=' ';
    a[6][12]=' ';
    a[4][15]=' ';
    a[6][7]=' ';
    a[7][3]=' ';
    a[8][10]=' ';
    a[3][5]=' ';
    a[4][2]='O';
    a[4][3]='O';
    a[4][4]='O';
    a[4][5]='O';
    a[5][5]='O';
    a[6][5]='O';
    a[7][5]='O';
    a[7][4]='O';
    a[5][4]='K';
    a[2][16]='O';
    a[3][16]='O';
    a[4][16]='O';
    a[2][17]='K';
    a[2][14]=' ';
    a[5][2]=' ';
    a[7][12]=' ';
    a[4][9]=' ';
    a[3][9]=coin;
    a[6][12]=coin;
    a[8][2]=coin;
    a[5][15]=coin;
    system("cls");
if (k==0)    for (i=1;i<=9;i++)
    {   system("COLOR 3F");
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }cout <<"POINTS:"<<pts;
   if (k==0)     while(a[8][17]!=m)
    {if ((nrc==2) and (ff==0)) {ff=1;
            system("cls");
            a[8][16]=' ';
            a[7][16]=' ';
            a[7][17]=' ';
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }cout <<"POINTS:"<<pts;}
        c = 0;

        switch((c=getch())) {
        case KEY_UP:
            {

    if ((a[5][4]==m) and (c2==0)) {nrc++;c2=1;}
             if ((a[2][17]==m) and (c1==0)) {nrc++;c1=1;}
                if (a[x-1][y]==coin)
                {
                    pts++;
                }
                if (a[x-1][y]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x-1][y]!='O')
                {a[x][y]=' ';
                x=x-1;
                a[x][y]=m;
                }
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }cout <<"POINTS:"<<pts;

                }
            break;
        case KEY_DOWN:
            {

    if ((a[5][4]==m) and (c2==0)) {nrc++;c2=1;}
             if ((a[2][17]==m) and (c1==0)) {nrc++;c1=1;}
                if (a[x+1][y]==coin)
                {
                    pts++;
                }
                if (a[x+1][y]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x+1][y]!='O')
                {a[x][y]=' ';
                x=x+1;
                a[x][y]=m;
                if ((x==7) and (y==16)) a[x][y]=m;
                }
                system("cls");
                    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }cout <<"POINTS:"<<pts;
                }
            break;
        case KEY_LEFT:
              {

    if ((a[5][4]==m) and (c2==0)) {nrc++;c2=1;}
             if ((a[2][17]==m) and (c1==0)) {nrc++;c1=1;}
                if (a[x][y-1]==coin)
                {
                    pts++;
                }
                if (a[x][y-1]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x][y-1]!='O')
                {a[x][y]=' ';
                y=y-1;
                a[x][y]=m;}
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }cout <<"POINTS:"<<pts;
                }
            break;
        case KEY_RIGHT:
            {

    if ((a[5][4]==m) and (c2==0)) {nrc++;c2=1;}
             if ((a[2][17]==m) and (c1==0)) {nrc++;c1=1;}
                if (a[x][y+1]==coin)
                {
                    pts++;
                }
                if (a[x][y+1]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x][y+1]!='O')
                {
                a[x][y]=' ';
                y=y+1;
                a[x][y]=m;
                }
                system("cls");
                    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }cout <<"POINTS:"<<pts;
                }
            break;
        default:
            //cout << endl << "null" << endl;  // key left
            break;
        }

    }
    system("cls");
    if ((nrc==2) and (a[8][17]==m)) {
                cout <<"N";
                Sleep (100);
                cout <<"E";
                Sleep (100);
                cout <<"X";
                Sleep (100);
                cout <<"T";
                Sleep (100);
                cout <<" ";
                Sleep (100);
                cout <<"L";
                Sleep (100);
                cout <<"E";
                Sleep (100);
                cout <<"V";
                Sleep (100);
                cout <<"E";
                Sleep (100);
                cout <<"L";
                Sleep (100);
                cout <<"!";
                Sleep (100);
                                    }
    Sleep (500);
    // 333333333333333333333333333333333
    x=2;
    y=2;

    a[8][16]=' ';
    a[7][16]=' ';
    a[7][17]=' ';
    a[8][17]=' ';
    a[2][2]=m;
    a[8][2]=z;
    a[4][15]=' ';
    a[6][6]=' ';
    a[7][3]=' ';
    a[8][10]=' ';
    a[3][5]=' ';
    a[4][2]=' ';
    a[4][3]=' ';
    a[4][4]=' ';
    a[4][5]=' ';
    a[5][5]=' ';
    a[6][5]=' ';
    a[7][5]=' ';
    a[7][4]=' ';
    a[5][4]=' ';
    a[2][16]=' ';
    a[3][16]=' ';
    a[4][16]=' ';
    a[2][17]=' ';

    a[3][2]='O';
    a[3][3]='O';
    a[3][4]='O';
    a[3][5]='O';
    a[3][6]='O';
    a[3][7]='O';
    a[3][8]='O';
    a[3][9]='O';
    a[3][10]='O';
    a[3][11]='O';
    a[3][12]='O';
    a[3][13]='O';
    a[3][14]='O';
    a[3][15]='O';
    a[3][16]='O';
    a[3][17]=' ';

    a[5][17]='O';
    a[5][16]='O';
    a[5][15]='O';
    a[5][14]='O';
    a[5][13]='O';
    a[5][12]='O';
    a[5][11]='O';
    a[5][10]='O';
    a[5][9]='O';
    a[5][8]='O';
    a[5][7]='O';
    a[5][6]='O';
    a[5][5]='O';
    a[5][4]='O';
    a[5][3]='O';

    a[7][2]='O';
    a[7][3]='O';
    a[7][4]='O';
    a[7][5]='O';
    a[7][6]='O';
    a[7][7]='O';
    a[7][8]='O';
    a[7][9]='O';
    a[7][10]='O';
    a[7][11]='O';
    a[7][12]='O';
    a[7][13]='O';
    a[7][14]='O';
    a[7][15]='O';
    a[7][16]='O';
    a[7][17]=' ';
    system("cls");

    if (k==0)
        a[2][2]=m;
    for (i=1;i<=9;i++)
    {   system("COLOR 4E");
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }cout <<"POINTS:"<<pts;
    x=2;
    y=2;
    if (k==0)    while(a[8][2]!=m)
    {
        c = 0;

        switch((c=getch())) {
        case KEY_UP:
            {
                if (a[x-1][y]==coin)
                {
                    pts++;
                }
                if (a[x-1][y]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x-1][y]!='O')
                {a[x][y]=' ';
                x=x-1;
                a[x][y]=m;
                }
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
    cout <<"POINTS:"<<pts;
            }
            break;
        case KEY_DOWN:
            {if (a[x+1][y]==coin)
                {
                    pts++;
                }
                if (a[x+1][y]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x+1][y]!='O')
                {a[x][y]=' ';
                x=x+1;
                a[x][y]=m;
                }
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
    cout <<"POINTS:"<<pts;
            break;
            }
        case KEY_LEFT:
              {
                if (a[x][y-1]==coin)
                {
                    pts++;
                }
                if (a[x][y-1]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x][y-1]!='O')
                {a[x][y]=' ';
                y=y-1;
                a[x][y]=m;}
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
    cout <<"POINTS:"<<pts;
            break;
              }
            break;
        case KEY_RIGHT:
            {
                if (a[x][y+1]==coin)
                {
                    pts++;
                }
                if (a[x][y+1]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x][y+1]!='O')
                {
                a[x][y]=' ';
                y=y+1;
                a[x][y]=m;
                }
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
    cout <<"POINTS:"<<pts;
                }
            break;
        default:
            //cout << endl << "null" << endl;  // key left
         break;
        }

    }
    system("cls");
    if ((nrc==3) and (a[8][2]==m)) cout <<"Next Level";
    Sleep (500);
    //4444444444444444444444444444444444444444
    x=2;
    y=2;
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            a[i][j]=' ';
        }
    }
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            if (i==1) a[i][j]='O';
            if (j==1) a[i][j]='O';
            if (i==9) a[i][j]='O';
            if (j==18) a[i][j]='O';
        }
    }


    a[2][2]=m;
    a[3][2]='O';
    a[3][3]='O';
    a[3][4]='O';
    a[3][6]='O';
    a[3][7]='O';
    a[3][8]='O';
    a[3][9]='O';
    a[3][11]='O';
    a[3][12]='O';
    a[3][13]='O';
    a[3][14]='O';
    a[3][16]='O';
    a[3][17]='O';
    a[3][18]='O';

    a[5][2]='O';
    a[5][3]='O';
    a[5][4]='O';
    a[5][6]='O';
    a[5][7]='O';
    a[5][8]='O';
    a[5][9]='O';
    a[5][11]='O';
    a[5][12]='O';
    a[5][13]='O';
    a[5][14]='O';
    a[5][16]='O';
    a[5][17]='O';
    a[5][18]='O';
    a[5][10]='O';
    a[5][15]='O';

    a[5][2]='O';
    a[5][3]='O';
    a[5][4]='O';
    a[5][6]='O';
    a[5][7]='O';
    a[5][8]='O';
    a[5][9]='O';
    a[5][11]='O';
    a[5][12]='O';
    a[5][13]='O';
    a[5][14]='O';
    a[5][16]='O';
    a[5][17]='O';
    a[5][18]='O';

    a[7][2]='O';
    a[7][3]='O';
    a[7][4]='O';
    a[7][5]='O';
    a[7][6]='O';
    a[7][7]='O';
    a[7][8]='O';
    a[7][9]='O';
    a[7][11]='O';
    a[7][12]='O';
    a[7][13]='O';
    a[7][14]='O';
    a[7][16]=' ';
    a[7][17]='O';
    a[7][18]='O';

    a[2][10]=f;
    a[4][9]=f;
    a[6][15]=f;
    a[6][16]=f;
    a[8][17]=z;
    if (k==0)
    for (i=1;i<=9;i++)
    {   system("COLOR 5F");
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }

    while(a[8][17]!=m)
    {
        c = 0;

        switch((c=getch())) {
        case KEY_UP:
            {
                if (a[x-1][y]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x-1][y]!='O')
                {a[x][y]=' ';
                x=x-1;
                a[x][y]=m;
                }
                system("cls");
    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
                }
            break;
        case KEY_DOWN:
            {    if (a[x+1][y]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x+1][y]!='O')
                {a[x][y]=' ';
                x=x+1;
                a[x][y]=m;
                }
                system("cls");
                    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
                }
            break;
        case KEY_LEFT:
              {
                if (a[x][y-1]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x][y-1]!='O')
                {a[x][y]=' ';
                y=y-1;
                a[x][y]=m;}
                system("cls");
                    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
                }
            break;
        case KEY_RIGHT:
            {    if (a[x][y+1]==f)
                {
                    k=1;
                    a[8][17]=m;
                    break;
                }
                if (a[x][y+1]!='O')
                {
                a[x][y]=' ';
                y=y+1;
                a[x][y]=m;
                }
                system("cls");
                    for (i=1;i<=9;i++)
    {
        for (j=1;j<=18;j++)
        {
            cout <<a[i][j];
        }
        cout <<endl;
    }
                }
            break;
        default:
            //cout << endl << "null" << endl;  // key left
            break;
        }
    }
    }
    return 0;
}