My First C game, Please critique

Results 1 to 9 of 9
  1. #1
    Enthusiast TheRightHandMan is offline
    MemberRank
    Jul 2006 Join Date
    Death IsleLocation
    26Posts

    My First C game, Please critique

    I just started learning C starting last week Wednesday. So, I feel this is a pretty decent start eh? thanks

    Code:
    /* Random Guess 2-Player Version by: FoxFire. */
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main() {
        
        /* Define the Variables Required. */
        int random_number;
        int player_guess;
        int player1_counter = 0;
        int player2_counter = 0;
        int player1_turn;
        int player2_turn;
        
        /*  Initialize RNG */
        srand(time(NULL));
        
        /* Generate random number */
        random_number = rand() % 100 + 1;
        
        /* Welcome Message */
        printf( "This is a 2 Player Guessing Game! Its 1 - 100! Good Luck!\n\n" );
        
        /* Game Loop */
        do {
            printf ( "Player 1, Please enter your guess: \n\n");
            scanf ("%d", &player_guess);
            getchar();
            
                      if(player_guess < 1 || player_guess > 100) {
                      printf( "Please enter a number between 1 and 100. \n\n" );
                      continue;
                      }    
                
                      /* Increment guess_counter */
                      player1_counter++;
                      
            
            {
                       /* Process Guess */
           
            if(player_guess > random_number) {
                printf( "You guessed too High.\n\n" );
                player1_turn = 1;
                }
             else if(player_guess < random_number) {
                printf( "You guessed too Low.\n\n" );
                player1_turn = 1;
                }
             else if(player_guess == random_number) {
                   system("cls");
                   printf( "Congratulations, Player 1 Guessed the Number, Player 1 Wins! \n\n");
                   break;
                   }
                         
             } while(player1_turn != 1);
                   
                 
                   
          /*Player2 turn */
            do {
                 printf( "Player 2, Please enter your guess: \n\n" );
                 scanf( "%d", &player_guess);
                 getchar();
                 
                 /* Check Input */
            
            if(player_guess > 100 || player_guess < 1) {
                printf( "Invalid Input. Try Again.\n\n" );
                continue;
                }
                
                /* Increment guess_counter */
            player2_counter++;
            
            
            /* Process Guess */
            if(player_guess > random_number) {
                printf( "You guessed too High.\n\n" );
                player2_turn = 1;
                }
             else if(player_guess < random_number) {
                printf( "You guessed too Low.\n\n" );
                player2_turn = 1;
                }
             else if(player_guess == random_number) {
                   system("cls");
                   printf( "Congratulations, Player 2 Guessed the Number, Player 2 Wins! \n\n");
                   break;
                   }
                   
            } while(player2_turn != 1);  
        
                  
        } while(player_guess != random_number);
        
        
        printf( "Player 1 guessed %d times.\n\n", player1_counter);
        printf( "Player 2 guessed %d times. \n\n\n\n", player2_counter);
        printf( "Press enter to Quit.");
        getchar();
    }

    If anyone can show me a better way to do some of the things I did, please let me know.

    TheRightHandMan


  2. #2
    Omega username1 is offline
    MemberRank
    Jul 2004 Join Date
    5,867Posts

    Re: My First C game, Please critique

    1. Fix your indenting.

    2. Extraneous '{' on line 40.

    3. Remove redundant checking. If a number is neither greater than or less than x, then it must be equal (if you don't believe this, think about it).

    Also simplified the inner loop greatly.
    Code:
    /* Random Guess 2-Player Version by: FoxFire. */
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main() {
        
        /* Define the Variables Required. */
        int random_number;
        int player_guess;
        int clpr=0;
        int cnt[2];
    
        /*  Initialize RNG */
        srand(time(0));
        
        /* Generate random number */
        random_number = rand() % 100 + 1;
        
        /* Welcome Message */
        printf( "This is a 2 Player Guessing Game! Its 1 - 100! Good Luck!\n\n" );
        
        /* Game Loop */
        for(;;) {
            printf ( "Player %d, Please enter your guess: \n\n",cplr+1);
        reinput:
            scanf ("%d\n", &player_guess);
            if(player_guess < 1 || player_guess > 100) {
             printf( "Please enter a number between 1 and 100. \n\n" );
             goto reinput;
            }    
            /* Increment guess_counter */
            cnt[clpr]++;
    
            /* check */
            if(player_guess == random_number) {
             printf( "Congratulations, Player %d Guessed the Number, Player %d Wins! \n\n",clpr+1,clpr+1);
             break;
            }
            printf( "You guessed too %s.\n\n",(player_guess>random_number)?"High":"Low");
            clpr ^=1; /* flip between player 1 and 2 */
        }
        clpr=1;
        do
         printf( "Player %d guessed %d times.\n\n",2-clpr,cnt[2-clpr]);
        while(clpr--);
        printf( "Press enter to Quit.");
        getchar();
    }

  3. #3
    Apprentice Neo123789 is offline
    MemberRank
    Jan 2007 Join Date
    6Posts

    Re: My First C game, Please critique

    I don't get this game

  4. #4
    Account Upgraded | Title Enabled! Benn07 is offline
    MemberRank
    Apr 2007 Join Date
    erm.. i Dunno.Location
    582Posts

    Re: My First C game, Please critique

    Where Do i put this in C#?? what sort of thinng lol

  5. #5
    Omega username1 is offline
    MemberRank
    Jul 2004 Join Date
    5,867Posts

    sage

    Quote Originally Posted by Benn07 View Post
    Where Do i put this in C#?? what sort of thinng lol
    Go learn C before asking further stupid questions.

  6. #6
    Account Upgraded | Title Enabled! jetgod is offline
    MemberRank
    Mar 2007 Join Date
    Scotland, UKLocation
    1,098Posts

    sage

    Quote Originally Posted by Benn07 View Post
    Where Do i put this in C#?? what sort of thinng lol
    Did not you look? This is a C game.

  7. #7
    Proficient Member Maitokahvi is offline
    MemberRank
    Sep 2007 Join Date
    In Zoo :PLocation
    155Posts

    Re: My First C game, Please critique

    nice :P.

  8. #8
    Gamma Daevius is offline
    MemberRank
    Jun 2007 Join Date
    NetherlandsLocation
    3,252Posts

    Re: My First C game, Please critique

    This topic is old, just like the other 2 you replied on. The author probably forgot about the topic and thus its useless to bump this topic.

  9. #9
    Apprentice Hacker is offline
    MemberRank
    Sep 2007 Join Date
    AustraliaLocation
    24Posts

    Re: My First C game, Please critique

    Errm. What the hell. You posted the C++ and your asking us to judge it. We are meant to play it not judge it.

    _Hacker



Advertisement