Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C by registered user Sylar ( 13 years ago )
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int start(int a[]);
int screen(int a[]);
int play(int a[]);

int c=15;

int main()
{
    int a[16]={0};

    start(a);

    play(a);

    return 0;
}

int start(int a[])
{
    int i,j;

    srand(time(NULL));

    for(i=0;i<16;i++)
    {
        if(i==15)
        {
            a[i]=32; break;
        }
        else
        {
            a[i]=1+rand();
        }
        if(i!=0)
        {
            for(j=0;j<i;j++)
            {
                if(a[i]==a[j])
                {
                    j=-1;
                    a[i]=1+rand();
                }
                else continue;
            }
        }
        else
        {
            continue;
        }
    }

    screen(a);
    return 0;
}

int screen(int a[])
{
    int i;
    for(i=0;i<16;i++)
    {
        if(i%4==0 && i!=0)
            printf("\n---+---+---+---\n");

        if(a[i]==32)
        {
            printf("<",a[i]);
            if((i!=3 && i!=7) && (i!=11 && i!=15))
                printf("|");
        }
        else
        {
            printf("=",a[i]);
            if((i!=3 && i!=7) && (i!=11 && i!=15))
                printf("|");
        }
    }
    printf("\n");
    return 0;
}

int play(int a[])
{
    char x;
    int i=1,k,y;

    while(i)
    {
        x=getche();
        system&#40;"cls"&#41;;
        if(x=='w')
            y=119;
        else if(x=='s') y=115;
        else if(x=='a') y=97;
        else y=100;

        if(y==119)
        {
            if(c==0 || c==1 || c==2 || c==3)
            {
                screen(a); printf("\nError"); y=0;
            }
            else
                {k=a[c]; a[c]=a[c-4]; a[c-4]=k; screen(a); c=c-4; y=0;}
        }
        else if(y==97)
        {
            if(c==0 || c==4 || c==8 || c==12)
            {
                screen(a); printf("\nError"); y=0;
            }
            else
                {k=a[c]; a[c]=a[c-1]; a[c-1]=k; screen(a); c=c-1; y=0;}
        }
        else if(y==115)
        {
            if(c==12 || c==13 || c==14 || c==15)
            {
                screen(a); printf("\nError"); y=0;
            }
            else
                {k=a[c]; a[c]=a[c+4]; a[c+4]=k; screen(a); c=c+4; y=0;}
        }
        else
        {
            if(c==3 || c==7 || c==11 || c==15)
            {
                screen(a); printf("\nError"); y=0;
            }
            else
                {k=a[c]; a[c]=a[c+1]; a[c+1]=k; screen(a); c=c+1; y=0;}
        }

        if(a[0]<a[1] && a[1]<a[2] && a[2]<a[3] && a[3]<a[4] && a[4]<a[5] && a[5]<a[6] && a[7]<a[8] && a[8]<a[9] && a[9]<a[10] && a[10]<a[11] && a[11]<a[12] && a[12]<a[13] && a[13]<a[14])
        {
            printf("You Win"); break;
        }
        if(a[1]<a[2] && a[2]<a[3] && a[3]<a[4] && a[4]<a[5] && a[5]<a[6] && a[7]<a[8] && a[8]<a[9] && a[9]<a[10] && a[10]<a[11] && a[11]<a[12] && a[12]<a[13] && a[13]<a[14] && a[14]<a[15])
        {
            printf("You Win"); break;
        }
    }
}

 

Revise this Paste

Parent: 61341
Your Name: Code Language: