种地 发表于 2024-11-11 08:28:10

重温c语言之,7天开整,就是随便的写写,第九天

这次照着网站上的内容,写了一个简单的小游戏,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, int Row_n, int Col_n);
13 //打印棋盘
14 void DisplayBoard(char board, int Row_n, int Col_n);
15 //玩家下棋
16 void PlayerMove(char board, int Row_n, int Col_n);
17 //电脑下棋,随机生成坐标
18 void ComputerMove(char board, int Row_n, intCol_n);
19
20 //玩家赢:Congratulation!---'*'
21 //电脑赢:Lost!-----"#'
22 //平局:The game ends in a tie.---'Q'
23 //继续:Go on!-----'C'
24 char IsWin(char board, int Row_n, intCol_n);之后是:game.c
1 #define _CRT_SECURE_NO_WARNINGS2 #include "game.h"3   4 //三子棋5 //代码的实现6   7   8 void InitBoard(char board, 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 = ' '; 15         } 16   } 17 } 1819 //第一版本 20 //void DisplayBoard(char board, 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, board, board); 26 //      //打印分隔符 27 //      if (i < Row_n - 1) { 28 //            printf("---|---|---\n"); 29 //      } 30 //    } 31 //} 3233 //第二版本,为了更好的扩展地图 34 void DisplayBoard(char board, 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); 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         } 5960   } 61 } 6263 void PlayerMove(char board, 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
页: [1]
查看完整版本: 重温c语言之,7天开整,就是随便的写写,第九天