#include<stdio.h>
#include<stdlib.h>
#include<time.h>


int x, y, z, choice;
clock_t start, end;
FILE * fPointer;
double time_taken;
void easy(void);				//NOT YET FINAL, ERASE PRTINF FOR GENERATION y CHANGE A BIT yung variables
void hard(void);
FILE *fptr;



int main()

{
		srand(time(NULL));
	
	start:
	printf("\n\nPress 1 for Easy Mode \n Press 2 for Hard Mode \n Choice:");
	scanf("%i", &choice);
	
	if(choice==1)
	{
		start=clock();
		easy();
		
		
		end=clock();
	time_taken = (end-start)/CLOCKS_PER_SEC;
	printf("\nTime taken: %f\n", time_taken);
	fPointer = fopen("save.txt", "w");
	fprintf(fPointer, "%f", time_taken);
	fclose(fPointer);
	}
	
	if(choice==2)
	{
		start=clock();
		hard();
		
			end=clock();
	time_taken = (end-start)/CLOCKS_PER_SEC;
	printf("\nTime taken: %f\n", time_taken);
	fPointer = fopen("save.txt", "w");
	fprintf(fPointer, "%f", time_taken);
	fclose(fPointer);
		
	}
	
	
	
	
printf("Fastest Time: \n");
 
    char filename[100], c;
 
 
    // Open file
    fptr = fopen("save.txt", "r");
    if (fptr == NULL)
    {
        printf("Cannot open file \n");
        exit(0);
    }
 
    // Read contents from file
    c = fgetc(fptr);
    while (c != EOF)
    {
        printf ("%c", c);
        c = fgetc(fptr);
    }
 
    fclose(fptr);	
	
		return 0;
}


void easy()
{
	int array[20], i;
   for ( i = 0; i < 10; i++) 
    {    
    array[i] = i;
    }

	for (i = 0; i < 4; i++) 
	{   
    int temp = array[i];
    int randomIndex = rand() % 10;

    array[i]           = array[randomIndex];
    array[randomIndex] = temp;
    
	}
		for (i = 0; i < 4; i++)
   {    
    printf("%i", array[i]);
	}
	printf("\n");
 
 int  almost, right, tries, y, real[100] ;
 char input[20];	
	for(tries=1; tries<=10; tries++)
	{
		printf("\nTurn %d\n", tries);
		printf("Your guess:\n");
		scanf("%s", input);
		for(y=0; y<=4; y++)
		{
			real[y]=input[y] -'0';
		}
    
    printf("Key Sequence:");
		if (real[0]==array[0])
			{
				printf("2");
				right++;
			}
		else if (real[0]==array[1]||real[0]==array[2]||real[0]==array[3])
			{
				printf("1");
				almost++;
			}
		else
			{
				printf("0");
			}

		if (real[1]==array[1])
			{
				printf("2");
				right++;
			}
		else if (real[1]==array[0]||real[1]==array[2]||real[1]==array[3])
			{
				printf("1");
				almost++;
			}
		else
			{
				printf("0");
			}

		if (real[2]==array[2])
			{
			printf("2");
			right++;
			}
		else if (real[2]==array[0]||real[2]==array[1]||real[2]==array[3])
			{
			printf("1");
			almost++;
			}
		else
			{
			printf("0");
			}

		if (real[3]==array[3])
			{
			printf("2");
			right++;
			}
		else if (real[3]==array[0]||real[3]==array[1]||real[3]==array[2])
			{
			printf("1");
			almost++;
			}
		else
			{
			printf("0");
			}

if (right==4)
{
    printf("\nYou got it right in %d try/tries\n", tries);
    tries = 10;
}
else
{
    right = 0;
    almost = 0;
}


if (tries==10 && right!=4)
{
    printf("\n\nYou failed!\n");
    printf("The Random Number Generated is: %i%i%i%i", array[0], array[1], array[2], array[3]);
}
}
}


void hard()
{
		int x, ran[4];
		int  almost, right, tries, y, real[100] ;
 		char input[20];	
		
		for(x=0;x<4;x++)
		{
			ran[x]=rand() %10;
		}
		for(x=0;x<4;x++)
		{
			printf("%i", ran[x]);
		}
	 

	for(tries=1; tries<=10; tries++)
	{
		printf("\nTurn %d\n", tries);
		printf("Your guess:\n");
		scanf("%s", input);
		for(y=0; y<=4; y++)
		{
			real[y]=input[y] -'0';
		}
    
    printf("Key Sequence:");
		if (real[0]==ran[0])
			{
				printf("2");
				right++;
			}
		else if (real[0]==ran[1]||real[0]==ran[2]||real[0]==ran[3])
			{
				printf("1");
				almost++;
			}
		else
			{
				printf("0");
			}

		if (real[1]==ran[1])
			{
				printf("2");
				right++;
			}
		else if (real[1]==ran[0]||real[1]==ran[2]||real[1]==ran[3])
			{
				printf("1");
				almost++;
			}
		else
			{
				printf("0");
			}

		if (real[2]==ran[2])
			{
			printf("2");
			right++;
			}
		else if (real[2]==ran[0]||real[2]==ran[1]||real[2]==ran[3])
			{
			printf("1");
			almost++;
			}
		else
			{
			printf("0");
			}

		if (real[3]==ran[3])
			{
			printf("2");
			right++;
			}
		else if (real[3]==ran[0]||real[3]==ran[1]||real[3]==ran[2])
			{
			printf("1");
			almost++;
			}
		else
			{
			printf("0");
			}

if (right==4)
{
    printf("\nYou got it right in %d try/tries\n", tries);
    tries = 10;
}
else
{
    right = 0;
    almost = 0;
}


if (tries==10 && right!=4)
{
    printf("\n\nYou failed!\n");
    printf("The Random Number Generated is: %i%i%i%i", ran[0], ran[1], ran[2], ran[3]);
}
}
}

