📜  c++ 代码 2d 块 - C++ (1)

📅  最后修改于: 2023-12-03 15:29:52.380000             🧑  作者: Mango

C++ 2D块的代码

在C++语言中,2D块的代码片段能够实现一些关于图形、游戏等方面的功能。下面是一个简单的2D块的代码示例,介绍一下其主要的功能。

代码:
#include <iostream>
#include <Windows.h>

using namespace std;

const int width = 20;
const int height = 20;

class Block
{
public:
    int x, y;

    Block(int startX, int startY)
    {
        x = startX;
        y = startY;
    }

    void Draw()
    {
        COORD position;
        HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

        position.X = x;
        position.Y = y;

        SetConsoleCursorPosition(hConsole, position);
        cout << "■";
    }

    void Erase()
    {
        COORD position;
        HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

        position.X = x;
        position.Y = y;

        SetConsoleCursorPosition(hConsole, position);
        cout << " ";
    }
};

int main()
{
    Block block1(3, 3);
    Block block2(5, 5);

    while (true)
    {
        block1.Draw();
        block2.Draw();

        Sleep(100);

        block1.Erase();
        block2.Erase();

        block1.x++;
        block2.y++;
    }

    return 0;
}
代码分析:
  • 在程序开头,我们定义了 widthheight 两个常量变量,代表生成2D块的宽度和高度。
  • 然后我们定义了一个 Block 类,代表2D块的实体。该类包含 xy 两个变量,分别代表块的水平和竖直位置。
  • Draw()Erase() 方法,分别代表绘制和擦除2D块的功能。我们使用了 Windows API 中的 COORDHANDLE,来实现在控制台上的绘制和擦除。
  • main() 函数中,我们实例化了两个 Block 对象,并执行了一个循环,使得这两个2D块能够在控制台上不断移动。我们使用了 Sleep() 函数,来控制块的移动速度。
结论:

以上就是一个简单的2D块的代码示例。通过这个示例,我们可以了解到如何在C++中使用Windows API来实现2D块的绘制和擦除功能,为后续的编程创造条件。