九宫格井字游戏(c语言)

#include 
#include 
#include 

int main(int argc,char** argv)
{
	int player = 0;
	int winner = 0;
	int choice = 0;
	int row = 0;
	int column = 0;
	int line = 0;

	char board[3][3] = {
		{'1','2','3'},
		{'4','5','6'},
		{'7','8','9'}
	};

	int i;
	for(i = 0;i<9 && winner==0;i++){
		printf("\n\n");
		printf(" %c | %c | %c\n",board[0][0],board[0][1],board[0][2]);
		printf("---+---+---\n");
		printf(" %c | %c | %c\n",board[1][0],board[1][1],board[1][2]);
		printf("---+---+---\n");
		printf(" %c | %c | %c\n",board[2][0],board[2][1],board[2][2]);

		player = i%2+1;
		//Get valid player square selection
		do{
			printf("\nPlayer %d, please enter the number of the square "
				"where you want to place your %c: ",
				player,(player == 1)?'X':'O');
			scanf("%d",&choice);

			row = --choice/3;
			column = choice%3;
		}while(choice<0 || choice>9 || board[row][column]>'9');
		//insert player symbol
		board[row][column] = (player == 1)?'X':'O';
		//Check for a winning line--diagonals first
		if((board[0][0]==board[1][1] && board[0][0]==board[2][2]) ||
			(board[0][2]==board[1][1] && board[0][2]==board[2][0]))
			winner = player;
		else
			//Check rows and columns for a winning line
			for(line = 0;line <= 2;line++)
				if((board[line][0]==board[line][1] &&
					board[line][0]==board[line][2]) ||
					(board[0][line]==board[1][line] &&
					board[0][line]==board[2][line]))
					winner = player;
	}
	//Game is over so display the final board
	printf("\n\n");
	printf(" %c | %c | %c\n",board[0][0],board[0][1],board[0][2]);
	printf("---+---+---\n");
	printf(" %c | %c | %c\n",board[1][0],board[1][1],board[1][2]);
	printf("---+---+---\n");
	printf(" %c | %c | %c\n",board[2][0],board[2][1],board[2][2]);
	//Dispay result message
	if(winner == 0)
		printf("\nHow boring,it is a draw\n");
	else
		printf("\nCongrations,player %d,YOU ARE THE WINNER!\n",winner);
	return 0;
}








Player 1, please enter the number of the square where you want to place your X: 1


 X | 2 | 3
---+---+---
 4 | 5 | 6
---+---+---
 7 | 8 | 9

Player 2, please enter the number of the square where you want to place your O: 4


 X | 2 | 3
---+---+---
 O | 5 | 6
---+---+---
 7 | 8 | 9

Player 1, please enter the number of the square where you want to place your X: 2


 X | X | 3
---+---+---
 O | 5 | 6
---+---+---
 7 | 8 | 9

Player 2, please enter the number of the square where you want to place your O: 7


 X | X | 3
---+---+---
 O | 5 | 6
---+---+---
 O | 8 | 9

Player 1, please enter the number of the square where you want to place your X: 3


 X | X | X
---+---+---
 O | 5 | 6
---+---+---
 O | 8 | 9


Congrations,player 1,YOU ARE THE WINNER!

你可能感兴趣的:(c/c++)