C语言游戏必备:光标定位与颜色设置的实现方法

 更新时间:2013年05月27日 10:01:59   作者:  
本篇文章是对c语言中光标定位与颜色设置的方法进行了详细的分析介绍,需要的朋友参考下

喜欢编写游戏的朋友们,你们有福了,这个资料足以让你玩转WINDOWS和Linux下的光标定位以及颜色,enjoy it。

一、WINDOWS:
1.光标定位函数:

复制代码 代码如下:

#include <windows.h>
#include <conio.h>
/****** 光标移到指定位置 ********************************/
void gotoxy(HANDLE hOut, int x, int y)
{
      COORD pos;
      pos.X = x;             //横坐标
      pos.Y = y;            //纵坐标
      SetConsoleCursorPosition(hOut, pos);
}
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);//定义显示器句柄变量
gotoxy(hOut,20,30);         //光标定位在坐标(20,30)

2.颜色控制:
2.1函数实现
复制代码 代码如下:

/******设置文本为绿色 ********************************************/
void Set_TextColor_Green (void)
{   
      HANDLE Handle = GetStdHandle(STD_OUTPUT_HANDLE);
      SetConsoleTextAttribute(Handle, FOREGROUND_INTENSITY | FOREGROUND_GREEN);
}

2.2 system
system("color 0D");//设置文本为粉红色
注:1.0-15为16种颜色。
         2.0D中0为背景颜色,D为字体颜色。
3.清屏
system("cls");

二、Linux:
在linux/unix的字符界面下,可以利用一些控制符来定位显示位置、控制颜色、清屏等。
printf("\033[47;31mhello world\033[5m");
47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是控制码.
颜色代码:
QUOTE:
字背景颜色范围: 40--49                 字颜色: 30--39
        40:黑                          30:黑
        41:红                          31:红
        42:绿                          32:绿
        43:黄                          33:黄
        44:蓝                          34:蓝
        45:紫                          35:紫
        46:深绿                        36:深绿
        47:白色                        37:白色
ANSI控制码:
QUOTE:
  \033[0m 关闭所有属性
  \033[1m 设置高亮度
  \03[4m 下划线
  \033[5m 闪烁
  \033[7m 反显
  \033[8m 消隐
  \033[30m  --  \033[37m 设置前景色
  \033[40m  --  \033[47m 设置背景色
  \033[nA 光标上移n行
  \03[nB 光标下移n行
  \033[nC 光标右移n行
  \033[nD 光标左移n行
  \033[y;xH设置光标位置
  \033[2J 清屏
  \033[K 清除从光标到行尾的内容
  \033[s 保存光标位置
  \033[u 恢复光标位置
  \033[?25l 隐藏光标
  \33[?25h 显示光标

相关文章

  • C++中std::chrono时间库的全面解析

    C++中std::chrono时间库的全面解析

    C++ std::chrono时间库是C++标准库提供的一个时间处理库,提供了一个方便、灵活和精确的时间处理工具,下面小编就带大家深入了解一下std::chrono时间库的使用吧
    2023-10-10
  • FFmpeg实现将编码后数据保存成mp4

    FFmpeg实现将编码后数据保存成mp4

    这篇文章主要为大家详细介绍了FFmpeg如何实现将编码后数据保存成mp4,即从内存块中获取原始数据,然后依次进行解码、编码、最后保存成mp4视频文件,感兴趣的可以了解一下
    2023-08-08
  • c++中的消息框messagebox()详细介绍及使用方法

    c++中的消息框messagebox()详细介绍及使用方法

    本文将介绍下c++中的messagebox()的使用方法:常用属性/按钮的形式/返回值等等,感兴趣的朋友可以了解下,希望本文可以帮助到你
    2013-02-02
  • C++虚函数表的原理与使用解析

    C++虚函数表的原理与使用解析

    对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。本文就将详细讲讲虚函数表的原理与使用,需要的可以参考一下
    2022-04-04
  • C语言 main 函数详情

    C语言 main 函数详情

    这篇文章主要介绍C语言 main 函数,文章将围绕C语言 main 函数相关资料详细展开,需要的朋友可以参考一下
    2021-10-10
  • C语言编程大小端问题示例详解教程

    C语言编程大小端问题示例详解教程

    这篇文章主要为大家介绍了C语言编程大小端问题解决的示例内容详解教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • 探究C++中string类的实现原理以及扩展使用

    探究C++中string类的实现原理以及扩展使用

    这篇文章主要介绍了C++中string类的实现原理以及扩展使用,从内存分配角度进行了深入探究,需要的朋友可以参考下
    2015-12-12
  • C语言、C++中的union用法总结

    C语言、C++中的union用法总结

    这篇文章主要介绍了C语言、C++中的union用法总结,本文讲解了什么是union、C中使用union、当union遇到对象等内容,需要的朋友可以参考下
    2014-10-10
  • C++11中的原子量和内存序详解

    C++11中的原子量和内存序详解

    这篇文章主要给大家介绍了关于C++11中原子量和内存序的相关资料,文中通过示例代码介绍地方非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • C++实现LeetCode(169.求大多数)

    C++实现LeetCode(169.求大多数)

    这篇文章主要介绍了C++实现LeetCode(169.求大多数),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论