这次照着网站上的内容,写了一个简单的小游戏,3字棋,其实也可以n字棋
附上代码,
这里是:game.h- 1 #pragma once
- 2 #include<stdio.h>
- 3 #include<stdlib.h>
- 4 #include<time.h>
- 5
- 6 //游戏代码的声明(函数声明,符号定义)
- 7
- 8 #define Row 3
- 9 #define Col 3
- 10
- 11 //初始化棋盘
- 12 void InitBoard(char board[Row][Col], int Row_n, int Col_n);
- 13 //打印棋盘
- 14 void DisplayBoard(char board[Row][Col], int Row_n, int Col_n);
- 15 //玩家下棋
- 16 void PlayerMove(char board[Row][Col], int Row_n, int Col_n);
- 17 //电脑下棋,随机生成坐标
- 18 void ComputerMove(char board[Row][Col], int Row_n, int Col_n);
- 19
- 20 //玩家赢:Congratulation!---'*'
- 21 //电脑赢:Lost!-----"#'
- 22 //平局:The game ends in a tie.---'Q'
- 23 //继续:Go on!-----'C'
- 24 char IsWin(char board[Row][Col], int Row_n, int Col_n);
复制代码 之后是:game.c
[code] 1 #define _CRT_SECURE_NO_WARNINGS 2 #include "game.h" 3 4 //三子棋 5 //代码的实现 6 7 8 void InitBoard(char board[Row][Col], int Row_n, int Col_n) { 9 int i = 0; 10 int j = 0; 11 for (i = 0; i < Row_n; i++) 12 { 13 for (j = 0; j < Col_n; j++) { 14 board[j] = ' '; 15 } 16 } 17 } 18 19 //第一版本 20 //void DisplayBoard(char board[Row][Col], int Row_n, int Col_n) { 21 // int i = 0; 22 // for (i = 0; i < Row_n; i++) 23 // { 24 // //打印数据 25 // printf(" %c | %c | %c \n", board[0], board[1], board[2]); 26 // //打印分隔符 27 // if (i < Row_n - 1) { 28 // printf("---|---|---\n"); 29 // } 30 // } 31 //} 32 33 //第二版本,为了更好的扩展地图 34 void DisplayBoard(char board[Row][Col], int Row_n, int Col_n) { 35 int i = 0, j = 0, z = 0; 36 for (i = 0; i < Row_n; i++) 37 { 38 for (j = 0; j < Col_n; j++) 39 { 40 //打印数据 41 printf(" %c ", board[j]); 42 //打印分隔符 43 if (j < Col_n - 1) 44 { 45 printf("|"); 46 } 47 } 48 printf("\n"); 49 if (i < Row_n - 1) { 50 for (z = 0; z < Col_n; z++) 51 { 52 printf("---"); 53 if (z < Row_n - 1) { 54 printf("|"); 55 } 56 } 57 printf("\n"); 58 } 59 60 } 61 } 62 63 void PlayerMove(char board[Row][Col], int Row_n, int Col_n) { 64 int x = 0, y = 0; 65 printf("玩家下棋:\n"); 66 while (1) { 67 printf("请输入坐标(x:%d-%d之间,y:%d-%d之间):>", 1, Row_n, 1, Col_n); 68 if (scanf("%d %d", &x, &y) == 2) { // 检查是否乐成读取两个整数 69 if (x >= 1 && x = 1 && y |