大家好,这里先祝大家月饼节快乐了!博主我呢,目前是名大二学生,学校在本学期开设了C++的课程。为了能练习C++,我尝试着完成了一个简易的打砖块游戏。本着记录心得和同大家交流的想法,我决意写下这篇博客。需要说明的是,游戏的主要思路借鉴了某培训机构的公开课视频,我在此对老师表示感谢。不过老师是用纯C语言完成的,在我用C++重写时,遇到了不少问题,也做了很多学习和思考,最后完成得也算是比较满意吧。希望这个简单的项目能让初学的我们更好地学习和理解C++吧。
整个代码不过200行,这里先贴出几张效果图吧。
我目前打算把这篇博客写成上下两篇,毕竟我也是第一次打算写这么长的文章。若其中有疏漏,欢迎大家指出,当然也包括之后代码里可能出现的各种bug啦等等。
不过,还需说明的是,我使用的编译器是VS2015,另需用到EasyX。这里附上它的下载地址吧。EasyX下载请点击这里.
在下载好了以后,选择和你相对应的编译器进行安装就好了。
那么,准备工作完成后,让我们开始教程吧。
打开编译器后,自然是要先创建一个空项目,项目名称用“打砖块”就好了。创建好了以后,我们就可以开始书写代码了。
首先调用以下头文件。前者是图形库文件,后者主要用于进行键盘操作。
#include<graphics.h>
#include<conio.h>
接着我们要确定游戏界面的大小,这需要调用函数
initgraph(int width, int height, int flag)
它的作用是初始化一个图形区域,前两个参数是图形区域的宽和高,后一个参数是绘图环境的样式,常设置为空(具体作用我也不明白…)。而我的设定是一个600*400像素单位的矩形,代码如下。
#include<graphics.h>
#include<conio.h>
const int WINDOW_HEIGHT = 600; //定义窗口的高
const int WINDOW_WIDE = 400; //定义窗口的宽
int main()
{
initgraph(WINDOW_WIDE, WINDOW_HEIGHT); //初始化窗口
_getch();
return 0;
}
那么编译运行后我们应该得到一个600*400像素的矩形界面了,如下图所示。
现在框架已经确定好啦,就让我们在其中添砖加瓦吧。要知道,在这个打砖块的游戏中,无非只有砖块,木板,小球这三种游戏元素。那么在编程时,显然我们应该将他们定义成三种不同的类。不过在这之前,我们得先了解几个用于作图的函数,他们分别是:
- setfillcolor(COLORREF color);
设置图形颜色,参数可以用RBG设定,也可以直接写颜色,如RED, BLACK等。fillrectangle(int left, int top, int right, int bottom);
画一个带边框的矩形,其四个参数分别指两个顶点的坐标。
如图,当我们确定A, D两点的坐标后,这个矩形的位置是不是就可以确定了呢。
solidrectangle(int left, int top, int right, int bottom);</