今天跟着老师完成了扫雷,是C语言学习以来第三个小游戏了。整个代码也算是把学过的知识进行了综合吧。这里也只是记录一下自己出现的问题。
1. 首先是关于三个分项目的创建
tset.c : 用于游戏逻辑的调试
game.c : 用于游戏函数的实现
game.h:用于头文件的包含,符号的定义,函数的声明
这一步的目的主要是让代码更加清晰有逻辑性,方便,更重要的是让代码具有可移植性。
#define EASY 10 // 简单模式10个雷
个游比如这一步是关于游戏雷的个数的定义,它在整戏代码中多次使用,而需要改变时,只需要在我的game.h文件中更改就可以,其他地方会随之改变。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
这里是代码所用到的几个头文件,而只需要在game.h中包含这几个头文件,在另外两个文件(game.c,test.c)中包含game.h即可
#include"game.h" --- 这里包含自己创建的头文件时用的是双引号
2 // 统计周围有几个雷
static int get_mine(char mine[ROWS][COLS], int x, int y)
这里有一个关于选定一个坐标后,统计以该坐标为中心,周围有几个雷的函数,这里复习一下 static的相关知识点。
static修饰 全局变量,局部变量和函数。
static修饰局部变量,局部变量的生命周期变长,不销毁
static修饰全局变量,改变全局变量的作用域,使其只能在当前源文件使用
static修饰函数时,使其只能在当前文件下使用