#include <iostream>
#include <cstdio>
#include <conio.h>
#include <time.h>
#include <windows.h>
#include <cstdlib>
using namespace std;
const int MAX_X = 69; //定义*组成的边框的宽度
const int MAX_Y = 17; //定义*组成的边框的高度
/***************************************************************************
函数名称:
功 能:完成与system("cls")一样的功能,但效率高
输入参数:
返 回 值:
说 明:清除整个屏幕缓冲区,不仅仅是可见窗口区域(使用当前颜色)
***************************************************************************/
void cls(const HANDLE hout)
{
COORD coord = {
0, 0 };
CONSOLE_SCREEN_BUFFER_INFO binfo; /* to get buffer info */
DWORD num;
/* 取当前缓冲区信息 */
GetConsoleScreenBufferInfo(hout, &binfo);
/* 填充字符 */
FillConsoleOutputCharacter(hout, (TCHAR)' ', binfo.dwSize.X * binfo.dwSize.Y, coord, &num);
/* 填充属性 */
FillConsoleOutputAttribute(hout, binfo.wAttributes, binfo.dwSize.X * binfo.dwSize.Y, coord, &num);
/* 光标回到(0,0) */
SetConsoleCursorPosition(hout, coord);
return;
}
/***************************************************************************
函数名称:gotoxy
功 能:将光标移动到指定位置
输入参数:HANDLE hout :输出设备句柄
int X :指定位置的x坐标
int Y :指定位置的y坐标
返 回 值:无
说 明:此函数不准修改
***************************************************************************/
void gotoxy(const HANDLE hout, const int X, const int Y)
{
COORD coord;
coord.X = X;
coord.Y = Y;
SetConsoleCursorPosition(hout, coord);
}
/***************************************************************************
函数名称:showch
功 能:在指定位置处打印一个指定的字符
输入参数:HANDLE hout :输出设备句柄
int X :指定位置的x坐标
int Y :指定位置的y坐标
char ch :要打印的字符
返 回 值:无
说 明:此函数不准修改
***************************************************************************/
void showch(const HANDLE hout, const int X, const int Y, const char ch)
{
gotoxy(hout, X, Y);
putchar(ch);
}
/***************************************************************************
函数名称:init_border
功 能:显示初始的边框及随机字符
输入参数:HANDLE hout:输出设备句柄
返 回 值:无
说 明:此函数不准修改
***************************************************************************/
void init_border(const HANDLE hout)
{
gotoxy(hout, 0, 0); //光标移回左上角(0,0)
cout << "***********************************************************************" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "* *"
键盘控制光标移动作业
最新推荐文章于 2022-11-09 16:32:46 发布