用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

相关文章

C++右移运算符的一个小坑及解决

《C++右移运算符的一个小坑及解决》文章指出右移运算符处理负数时左侧补1导致死循环,与除法行为不同,强调需注意补码机制以正确统计二进制1的个数... 目录我遇到了这么一个www.chinasem.cn函数由此可以看到也很好理解总结我遇到了这么一个函数template<typename T>unsigned

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、