Skip to content

Key Respons Game

MemoryShadow edited this page Sep 11, 2022 · 2 revisions

Key Response Game

接口与调用

此项正在编辑

在此处展示这个头文件的相关函数与相关类型

类型

这个头文件中包含了以下几个类型

类型名 原始类型 作用
MoveDirection enum 中文称谓(在注释中):移动方向 在使用layer_Move时可以作为第二参数填入,不同方向可以用|符号进行隔开同时提交

MoveDirection

声明结构
enum MoveDirection
{
    Up = 1,
    Down = 2,
    Left = 4,
    Right = 8
};

函数

这个头文件中包含了以下几个函数

函数名 参数列表 返回类型 具体作用 使用示例
new_Window_layer unsigned width
unsigned height
Window_layer * 创建一个Window_layer结构,返回新建的指针您可以理解为面向对象语言中的new操作符 Window_layer *main_layer = new_Window_layer(20, 15);
new_Paint_layer Window_layer *Window Paint_layer * 在指定窗口的顶层创建一个绘制层您可以理解为面向对象语言中的new操作符 Paint_layer *edge_layer = new_Paint_layer(main_layer);
layer_length const Window_layer *Window unsigned 计算某个窗口层的绘制层数量 示例代码见详解
Remove_layer Window_layer *Window
unsigned index
Paint_layer * 将某个绘制层从所属的窗口层中剥离出来(会拒绝剥离0) Remove_layer(main_layer,1)
delete_Paint_layer Paint_layer *layer Paint_layer * 释放某个窗口层的内容,您可以理解为面向对象语言中的delete操作符(别忘记先将其从窗口层中剥离) delete_Paint_layer(Window)
delete_Window_layer Window_layer *Window void 释放某个窗口层(会删除其所有绘制层)您可以理解为面向对象语言中的delete操作符 delete_Window_layer(main_layer)
layer_index Window_layer *Window
unsigned index
Paint_layer * 取得某个窗口层中指定索引的绘制层指针 layer_index(main_layer,1)
Write_Point Paint_layer *layer
unsigned x
unsigned y
CHAR Char
Paint_layer * 在指定的层中指定的位置,填充指定的字符(成功返回此层指针,失败返回NULL) 示例代码见详解
Get_Point Paint_layer *layer
unsigned x
unsigned y
CHAR 在指定的层中获取指定位置的字符(成功返回此字符,失败..就返回\0好了) 示例代码见详解
WindowDraw Window_layer *Window
int Convert = 0
void 绘制指定的窗口,参数Convert控制是否对于特定的半角字符转换为全角进行渲染 WindowDraw(main_layer)
layer_Move Paint_layer *layer
unsigned Direction
unsigned length
Paint_layer * 将一个绘制层按照指定的方向移动指定的步长 layer_Move(layer_length(main_layer,1),Up,1)

new_Window_layer

函数原型:

Window_layer *new_Window_layer(unsigned width, unsigned height);

对于它的两个参数:

unsigned width:标记了这个窗口层的最大宽度

unsigned height:标记了这个窗口层的最大高度

创建一个Window_layer结构,返回新建的指针

您可以理解为面向对象语言中的new操作符

示例代码:

Window_layer *main_layer = new_Window_layer(20, 15);

它看起来像极了C++中的new语法对吗,是的,这就是沿用了C++的语法,但是这个工具目标是在C下运行的,所以千万不要忽略了new后面的下划线

参考资料:C++中的new语法
参考资料:C++中的new语法

上面所提到的,沿用了C++的语法,此处是参考,对于尚未接触面向对象语言,或者接触过但是尚未接触C++语言的开发者,可能这部分资料会对你有一些帮助.

Window_layer *main_layer = new Window_layer(20, 15);

这段代码将会调用类型Window_layer的构造器Window_layer::Window_layer(unsigned,unsigned)新增一个Window_layer类型的实例,这个实例的指针会被Window_layer的构造器返回 并且放到Window_layer *main_layer所声明的Window_layer类型指针main_layer中去.

如果想要了解更多,请参阅C++文档

Clone this wiki locally