用c++ 让控制台蹦迪(输出随机彩色字符串)

2023-12-25 21:10

本文主要是介绍用c++ 让控制台蹦迪(输出随机彩色字符串),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用c++ 让控制台蹦迪(输出随机彩色字符串)


#include <bits/stdc++.h>
using namespace std;
#ifndef GAMEDEMO_OUTCOLOR_H
#define GAMEDEMO_OUTCOLOR_H
#define HEAD        "\033["#define F_BLACK     "30"
#define F_RED       "31"
#define F_GREEN     "32"
#define F_YELLOW    "33"
#define F_BLUE      "34"
#define F_MAGENTA   "35"
#define F_CYAN      "36"
#define F_WHITE     "37"#define Q_HEI       "30"
#define Q_HONG      "31"
#define Q_LV        "32"
#define Q_HUANG     "33"
#define Q_LAN       "34"
#define Q_PIN_HONG   "35"
#define Q_QING      "36"
#define Q_BAI       "37"#define BG_BLACK     "40"
#define BG_RED       "41"
#define BG_GREEN     "42"
#define BG_YELLOW    "43"
#define BG_BLUE      "44"
#define BG_MAGENTA   "45"
#define BG_CYAN      "46"
#define BG_WHITE     "47"#define B_HEI       "40"
#define B_HONG      "41"
#define B_LV        "42"
#define B_HUANG     "43"
#define B_LAN       "44"
#define B_PIN_HONG   "45"
#define B_QING      "46"
#define B_BAI       "47"#define INIT        "0"
#define BOLD        "1"
#define DIM         "2"
#define ITALIC      "3"
#define U_LINE      "4"
#define BLINK       "5"
#define REVERSAL    "7"
#define REVE        "7"
#define CONCEAL     "8"
#endif // GAMEDEMO_OUTCOLOR_H
const string FORE_COLOR[8] = {F_BLACK,F_RED,F_GREEN,F_YELLOW,F_BLUE,F_MAGENTA,F_CYAN,F_WHITE};
const string BACKGROUND[8] = {BG_BLACK,BG_RED,BG_GREEN,BG_YELLOW,BG_BLUE,BG_MAGENTA,BG_CYAN,BG_WHITE};
const string RESULT[8] = {INIT,BOLD,DIM,ITALIC,U_LINE,BLINK,REVERSAL,CONCEAL};
/***  在输出的字符串前插入返回值即可设置字符串格式*  例如 cout \<\< setColor(ITALIC,Q_PIN_HONG,BG_BLUE) \<\< 123; 可以显示一个斜体前景品红色背景蓝色的字符串123* @param result 特效* @param forecolor 前景色* @param background 背景色* @return 设置字体的特效的字符串*/
string setColor(string result,string forecolor,string background){string str = ";";return string(HEAD)+string(result)+ str+string(forecolor)+ str + string(background)+string("m");
}
/*** 获取用以初始化的字符串* @return "\033[0m"*/
string getInitStr(){return "\033[0m";
}/*** 初始化字体设置*/
void init(){printf(getInitStr().c_str());
}int main() { int r,f,b;srand(time(0));while (1){r = rand()%8;f = rand()%8;b = rand()%8;if(f==b){continue;}cout <<setColor(RESULT[r],FORE_COLOR[f],BACKGROUND[b]) <<char(rand()%(126-33+1)+33);}	return 0;
}

复制即可运行。

运行结果

这篇关于用c++ 让控制台蹦迪(输出随机彩色字符串)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/536954

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

C++中detach的作用、使用场景及注意事项

《C++中detach的作用、使用场景及注意事项》关于C++中的detach,它主要涉及多线程编程中的线程管理,理解detach的作用、使用场景以及注意事项,对于写出高效、安全的多线程程序至关重要,下... 目录一、什么是join()?它的作用是什么?类比一下:二、join()的作用总结三、join()怎么

详解MySQL中JSON数据类型用法及与传统JSON字符串对比

《详解MySQL中JSON数据类型用法及与传统JSON字符串对比》MySQL从5.7版本开始引入了JSON数据类型,专门用于存储JSON格式的数据,本文将为大家简单介绍一下MySQL中JSON数据类型... 目录前言基本用法jsON数据类型 vs 传统JSON字符串1. 存储方式2. 查询方式对比3. 索引

MySQL字符串常用函数详解

《MySQL字符串常用函数详解》本文给大家介绍MySQL字符串常用函数,本文结合实例代码给大家介绍的非常详细,对大家学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql字符串常用函数一、获取二、大小写转换三、拼接四、截取五、比较、反转、替换六、去空白、填充MySQL字符串常用函数一、

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域