用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

相关文章

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

MySQL 获取字符串长度及注意事项

《MySQL获取字符串长度及注意事项》本文通过实例代码给大家介绍MySQL获取字符串长度及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 获取字符串长度详解 核心长度函数对比⚠️ 六大关键注意事项1. 字符编码决定字节长度2

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

C++11委托构造函数和继承构造函数的实现

《C++11委托构造函数和继承构造函数的实现》C++引入了委托构造函数和继承构造函数这两个重要的特性,本文主要介绍了C++11委托构造函数和继承构造函数的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录引言一、委托构造函数1.1 委托构造函数的定义与作用1.2 委托构造函数的语法1.3 委托构造函