83 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* $Source$
 | 
						|
 * $State$
 | 
						|
 * $Revision$
 | 
						|
 */
 | 
						|
 | 
						|
#include <stdlib.h>
 | 
						|
#include <stdio.h>
 | 
						|
#include <string.h>
 | 
						|
 | 
						|
char buffer[32];
 | 
						|
char PlayerName[32];
 | 
						|
 | 
						|
int Number;
 | 
						|
int Attempts;
 | 
						|
 | 
						|
void reads(void)
 | 
						|
{
 | 
						|
	char* p;
 | 
						|
	
 | 
						|
	printf("> ");
 | 
						|
	fflush(stdout);
 | 
						|
	
 | 
						|
	fgets(buffer, sizeof(buffer), stdin);
 | 
						|
	
 | 
						|
	p = strchr(buffer, '\n');
 | 
						|
	if (p != NULL)
 | 
						|
		*p = '\0';
 | 
						|
}
 | 
						|
 | 
						|
void game(void)
 | 
						|
{
 | 
						|
	printf("See if you can guess my number.\n");
 | 
						|
 | 
						|
	Number = rand() % 100;
 | 
						|
	Attempts = 1;
 | 
						|
	
 | 
						|
	for (;;)
 | 
						|
	{
 | 
						|
		int guess;
 | 
						|
		
 | 
						|
		printf("\n");
 | 
						|
		reads();
 | 
						|
		guess = atoi(buffer);
 | 
						|
		
 | 
						|
		if (guess == Number)
 | 
						|
		{
 | 
						|
			printf("\nYou got it right in only %d %s!\n", Attempts,
 | 
						|
				(Attempts == 1) ? "go" : "goes");
 | 
						|
			return;
 | 
						|
		}
 | 
						|
		
 | 
						|
		if (guess < Number)
 | 
						|
			printf("\nTry a bit higher.\n");
 | 
						|
		if (guess > Number)
 | 
						|
			printf("\nTry a bit lower.\n");
 | 
						|
		Attempts++;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
int main(int argc, char* argv[])
 | 
						|
{
 | 
						|
	printf("\nHi there! I'm written in C. Before we start, what is your name?\n");
 | 
						|
	reads();
 | 
						|
	strcpy(PlayerName, buffer);
 | 
						|
	printf("\nHello, %s! ", PlayerName);
 | 
						|
	
 | 
						|
	for (;;)
 | 
						|
	{
 | 
						|
		game();
 | 
						|
		printf("\nWould you like another go?\n");
 | 
						|
		reads();
 | 
						|
		
 | 
						|
		if ((buffer[0] == 'n') || (buffer[0] == 'N'))
 | 
						|
		{
 | 
						|
			printf("\nThanks for playing --- goodbye!\n");
 | 
						|
			exit(0);
 | 
						|
		}
 | 
						|
		
 | 
						|
		printf("\nExcellent! ");
 | 
						|
	}
 | 
						|
	
 | 
						|
	return 0;
 | 
						|
}
 |