Hi, This is Deva. i am right now end of the loop chapter. Using compiler GNU-GCC -std-gnu99 Host OS= WIN7 Almost I understood the code. But except CLOCKS_PER_SEC, While declaring variables at the start of block. Its time_t now = 0; But while in the inner loop now = clock(); seed = time(NULL); Is there anybody can help me understanding with this code. I have to start Arrays. After completing this. Your help will greatly appreciated. Code: /*Program 4.12 Simple Simon*/ #include<stdio.h> /*For input and output*/ #include<ctype.h> /*For toupper() function*/ #include<stdbool.h> /*For bool, true, false*/ #include<stdlib.h> /*For rand() and srand()*/ #include<time.h> /*For time() and clock()*/ int main(void) { char another_game = 'Y'; /*Records if another game is to be played*/ int correct = true; /*true if correct sequence entered , false otherwise*/ int counter = 0; /*Number of sequences entered successfully*/ int sequence_length = 0; /*Number of degit in a sequence*/ time_t seed = 0; /*Seed value for random number sequence*/ int number = 0; /*Stores an input digit*/ time_t now = 0; /*Stores current time - seed for random values*/ int time_taken = 0; /*Time taken for game in seconds*/ printf("\n To play Simple Simon, "); /*Describe how the game is played*/ printf("watch the screen for a sequence of digits."); printf("\nWatch carefully, as the digits are only displayed" "for a second! "); printf("\nThe computer will remove them, and then prompt you "); printf("to enter the same sequence."); printf("\nWhen you do, you must put spaces between the degits. \n"); printf("\nGood Luck!\nPress Enter to play\n"); scanf("%c", &another_game); do /*One outer loop iteration is one game*/ { correct = true; /*By default indicates correct sequence entered*/ counter = 0; /*Initialize count of number of successful tries*/ sequence_length = 2; /*Initial length of a digit sequence*/ time_taken = clock(); /*Record current time at start of game*/ while(correct) /*Inner loop continues as long as a sequence are entered correctly*/ { sequence_length += counter++%3 == 0; /*on every third successful try, increase the sequence length*/ seed = time(NULL); /*Set seed to be the number of seconds sine Jan 1,1970*/ now = clock(); /*record start time for sequence*/ /*Generate a sequence of numbers and display the number*/ srand((unsigned int)seed); /*Initialize the random sequence*/ for(int i = 1; i <= sequence_length; i++) printf("%d", rand()%10); /*Output a random digit*/ /*Wait one second*/ for(;clock() - now < CLOCKS_PER_SEC;); /*Now ouerwrite the digit sequence*/ printf("\r"); /*go to beginning of the line*/ for(int i = 1; i <= sequence_length; i++) printf(" "); /*Output two spaces*/ if(counter == 1) /*Only output message for the first try*/ printf("\nNow you enter the sequence - don't forget" " the spaces\n"); else printf("\r"); /*Back to the beginning of the line*/ /*Check the input sequence of digits against the original */ srand((unsigned int)seed); /*Restart the random sequence*/ for(int i = 1; i<= sequence_length; i++) { scanf("%d", &number); /*Read an input number*/ if(number != rand()%10) /*Compare against random digit*/ { correct = false; /*Incorrect entry*/ break; /*No need to check further...*/ } } printf("%s\n", correct? "Correct!" : "Wrong!"); } /*Calculate total time to play the game in seconds*/ time_taken = (clock() - time_taken)/CLOCKS_PER_SEC; /*Output the game score*/ printf("\n\n Your score is %d", --counter*100/time_taken); fflush(stdin); /*Check if new game required*/ printf("\nDo you want to play again(y/n)? "); scanf("%c", &another_game); }while(toupper(another_game)== 'Y'); return 0; /*Returns control to the operating system*/ }