用C++和EasyX图形库编写一个简单的打砖块游戏(上)

本文介绍了作者作为大二学生在学习C++时,使用EasyX图形库制作的一个简易打砖块游戏。文章分为上下两篇,首先讲解了如何初始化图形界面、定义砖块类和木板类,以及实现木板的左右移动。通过调用EasyX库的函数,创建了游戏的基本框架,并展示了初步的运行效果。
摘要由CSDN通过智能技术生成

  大家好,这里先祝大家月饼节快乐了!博主我呢,目前是名大二学生,学校在本学期开设了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像素的矩形界面了,如下图所示。
这里写图片描述

  现在框架已经确定好啦,就让我们在其中添砖加瓦吧。要知道,在这个打砖块的游戏中,无非只有砖块,木板,小球这三种游戏元素。那么在编程时,显然我们应该将他们定义成三种不同的类。不过在这之前,我们得先了解几个用于作图的函数,他们分别是:

  1. setfillcolor(COLORREF color);
    设置图形颜色,参数可以用RBG设定,也可以直接写颜色,如RED, BLACK等。
  2. fillrectangle(int left, int top, int right, int bottom);
    画一个带边框的矩形,其四个参数分别指两个顶点的坐标。
    如图,当我们确定A, D两点的坐标后,这个矩形的位置是不是就可以确定了呢。
    这里写图片描述

  3. solidrectangle(int left, int top, int right, int bottom);</

  • 37
    点赞
  • 122
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 首先,您需要在计算机上安装 EasyX 图形库。接下来,您需要在 C 语言程序中包含 EasyX 库文件。在开始编写烟花程序之前,您还需要了解一些 EasyX 图形库的基本函数。 下面是使用 EasyX 图形库编写烟花程序的一些基本步骤: 1. 初始化 EasyX 图形库。在程序开头,使用 `initgraph()` 函数初始化图形库。 2. 设置画布。使用 `setbkcolor()` 函数设置画布的背景颜色。 3. 绘制烟花。使用 EasyX 图形库的绘图函数(如 `circle()`、`line()` 等)在画布上绘制烟花的各个部分。 4. 显示烟花。使用 `delay_ms()` 函数设置延迟时间,然后使用 `cleardevice()` 清除画布,再次使用绘图函数绘制烟花。反复执行这个过程,就可以产生烟花动画效果。 5. 关闭 EasyX 图形库。在程序结尾,使用 `closegraph()` 函数关闭图形库。 下面是一个使用 EasyX 图形库编写简单的烟花程序的示例: ``` #include <graphics.h> #include <conio.h> #include <stdlib.h> #include <time.h> int main() { // 初始化图形库 initgraph(640, 480); // 设置背景颜色 setbkcolor(BLACK); // ### 回答2: 使用C语言和EasyX图形库编写烟花程序可以通过以下步骤实现: 1. 创建一个窗口,并设置窗口的大小和标题。 2. 在窗口中绘制一个黑色的背景,并在窗口底部绘制一个填充为黑色的矩形,作为烟花爆炸的效果。 3. 使用随机数生成器生成不同颜色的烟花爆炸效果,并在矩形上方绘制一个白色的圆形,作为烟花的燃烧效果。 4. 在窗口中循环绘制烟花的效果,每帧绘制一个新的烟花,并将之前绘制的烟花向上移动一段距离,模拟烟花升空的效果。 5. 当烟花爆炸到达矩形上方时,重新生成一个新的烟花,并将烟花的位置设置为矩形下方的随机位置。同时,重新生成一个随机颜色的烟花爆炸效果。 6. 在循环中使用延时函数控制烟花的绘制速度,以及使用消息循环函数处理窗口的关闭事件,确保程序可以正常退出。 通过以上步骤,可以实现一个用C语言和EasyX图形库编写的烟花程序。程序运行时,烟花将会在窗口中升空并爆炸,再升空爆炸,循环往复,形成一个连续的烟花效果。在每一次爆炸时,烟花都会发出不同颜色的火花,使得烟花效果更加绚丽多彩。 ### 回答3: 使用C语言和easyX图形库编写烟花程序是一种常见的图形编程练习。以下是一个简单的烟花程序的示例代码,并介绍其实现原理: ```c #include <graphics.h> // easyX图形库头文件 // 烟花程序函数 void Firework(int x, int y) { for (int i = 1; i <= 60; i++) { // 用60个圆点表示烟花 setcolor(RGB(rand() % 256, rand() % 256, rand() %256)); // 随机设置颜色 int radius = i * 2; // 在每个循环中,逐渐增大圆点半径 circle(x, y, radius); // 画圆 Sleep(20); // 延时控制圆点绘制速度 cleardevice(); // 清空屏幕 } } int main() { initgraph(800, 600); // 初始化图形窗口 while (!kbhit()) { // 直到按下键盘任意键退出循环 int x = rand() % 800; // 随机生成烟花的起始坐标 int y = rand() % 600; Firework(x, y); // 调用烟花函数 } closegraph(); // 关闭图形窗口 return 0; } ``` 上述代码中,`Firework`函数用于绘制烟花效果。它使用一个循环来逐渐增大圆点的半径,每次循环都绘制一个圆点,并随机设置其颜色。通过调整圆点绘制的速度和循环次数,可以实现不同的烟花效果。`main`函数则初始化图形窗口,通过调用`Firework`函数来绘制不同的烟花。在按下键盘任意键之前,程序将一直循环绘制烟花。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值