三子棋

来源:互联网 发布:js offsettop 不准确 编辑:程序博客网 时间:2024/06/01 18:40



<span style="font-size:18px;">#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>#define ROWS 3#define COLS 3void game();void put_photo(char arr[ROWS][COLS],int row,int col);void player_go(char arr[ROWS][COLS],int row,int col);void computer_go(char arr[ROWS][COLS],int row,int col);char chcek_win(char arr[ROWS][COLS],int row,int col);int is_full(char arr[ROWS][COLS],int row,int col);</span>




#include "game.h"void put_photo(char arr[ROWS][COLS],int row,int col){    int i = 0;     printf("_ _ _ _ _ _ \n");for(i = 0;i < row; i++ ){         printf("_%c_|_%c_|_%c_",arr[i][0],arr[i][1],arr[i][2]); printf("\n");}}void player_go(char arr[ROWS][COLS],int row,int col){      int x = 0;  int y = 0;  while(1)  {  printf("请输入行和列:\n");  scanf("%d%d",&x,&y);  x--;  y--;  if(( x>=0 )&&( x<row )&&( y>=0 )&&( y<row ))  {               if (arr[x][y]==' ')               {                     arr[x][y]='X';                     break;               }   else                     printf("非法输入,请重新输入:\n");  }  else  {  printf("输入错误,请重新输入:\n");  }  }}void computer_go(char arr[ROWS][COLS],int row,int col){while(1){int x = rand()%3;        int y = rand()%3;if(arr[x][y]==' '){arr[x][y]='0';break;}}}char chcek_win(char arr[ROWS][COLS],int row,int col){int i = 0;int j = 0;for(i=0; i<row; i++){if((arr[i][0] == arr[i][1]) && (arr[i][1] == arr[i][2]) && (arr[i][2] !=' '))return arr[i][0];}for(i=0; i<col; i++){if((arr[0][i] == arr[1][i]) && (arr[1][i] == arr[2][i]) && (arr[2][i] != ' '))return arr[0][i];}if((arr[0][0] == arr[1][1]) && (arr[1][1] == arr[2][2]) && (arr[2][2] != ' '))return arr[0][0];if((arr[0][2] == arr[1][1]) && (arr[1][1] == arr[2][0]) && (arr[2][0] != ' '))return arr[0][2];if(is_full(arr,row,col) == 1)return 'q';return ' ';}int is_full(char arr[ROWS][COLS],int row,int col){int x = 0;int y = 0;for(x=0;x<row;x++){for(y=0;y<row;y++){              if(arr[x][y]==' ')  return 0;}}return 1;}




<span style="font-size:18px;">#include "game.h"void menu(){printf("--------------------\n");printf("|   1.play   game  |\n");printf("|   2.exist  game  |\n");printf("--------------------\n");}int main(){int input = 0;do {menu();scanf("%d",&input);switch(input){case 1:game();break;case 2:printf("退出游戏中\n");break;default:printf("输出错误,请重新输入\n");}} while (input);    system("pause");return 0;}void game(){char board[ROWS][COLS];char ret = 0;memset(board , ' ' , ROWS*COLS*sizeof(char));srand((unsigned int )time(NULL));put_photo(board,ROWS,COLS);while(1){player_go(board,ROWS,COLS);put_photo(board,ROWS,COLS);if((ret=chcek_win(board,ROWS,COLS)) != ' ')break;printf("\n");computer_go(board,ROWS,COLS);put_photo(board,ROWS,COLS);if((ret=chcek_win(board,ROWS,COLS)) != ' ')     break;/*put_photo(board,ROWS,COLS);*/}   if(ret == 'X')   printf("恭喜玩家赢得胜利:\n");   if(ret == '0')   printf("呵呵,你个傻逼\n");   if(ret == 'q')   printf("平局\n");}</span>


0 0
原创粉丝点击