C语言游戏开发随笔(一)——入门篇

清屏函数system("cls");
如果要使用此函数,需引用头文件#include<stdlib.h> 这个函数可以营造小球移动的感觉,但是如果清屏函数之间代码执行时间过长,画面就会出现严重的闪烁。

通过移动光标来清屏void gotoxy(int x, int y);
这个函数不是编译器自带的,需要自己定义(当然也可以是其他名字)函数如下:

void gotoxy(int x, int y)          //将光标移动到(x, y)位置
{
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos;
    pos.X = x;
    pos.Y = y;
    SetConsoleCursorPosition(handle, pos);
}

调用这个函数还需要引用头文件#include<windows.h> 这个函数可以将光标移动到原点位置,再进行重画,即可实现类似清屏的效果,不会出现画面闪烁,而且还会提高运行速度,但是会出现光标闪烁。

隐藏光标函数void HideCursor();
这个函数不是编译器自带的,需要自己定义(当然也可以是其他名字)函数如下:

void HideCursor()
{
    CONSOLE_CURSOR_INFO cursor_info = {1, 0};     //第二个值为0表示隐藏光标
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}

调用这个函数还需要引用头文件#include<windows.h> 将此函数放在主函数里即可隐藏光标,解决光标闪烁问题

Sleep函数Sleep(nms);
比如Sleep(10);表示程序执行到此处暂停10ms,如果要使用此函数,需引用头文件#include<windows.h>或者#include<cwindows.h>(根据编译器的不同选择前一个或则后一个)

输入函数scanf();getch();
scanf();函数要求每输入一个字符按回车键后才能执行,交互效果不好,而getch();函数不需要回车就可以得到输入的控制字符,如果要使用此函数,需引用头文件#include<conio.h>

判断输入函数kbhit();
如果用户有键盘输入时此函数返回1,否则返回0;在没有键盘输入时if(kbhit())下面的语句不会运行(可以避免出现用户不输入游戏就暂停的情况)如果要使用此函数,需引用头文件#include<conio.h>

当代码排版不规范时,按Ctrl+A键全选后按Alt+F8键将自动排版。(如果F8有其他功能时,则按Alt+Fn+F8即可自动排版)

当游戏运行时在cmd窗口上右击选择“属性”(或“默认值”)命令,可以调整字体大小、字体背景颜色、窗口大小等,使游戏的显示效果更好。

退出程序exit(0);或者exit(1);
不论在哪里执行了exit(0);都会结束主程序的运行,而只有在main()函数里执行return才会结束主程序的执行。其中exit(0);表示程序正常退出;exit(1);表示程序异常退出,可以用来终止程序。如果游戏GameOver,可以使用exit(0);正常退出游戏。

猜你喜欢

转载自blog.csdn.net/weixin_43182682/article/details/87712533