重温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]