首页 > 解决方案 > 如何将矢量对象更改为不同的颜色?

问题描述

我一直在尝试让我的代码将向量对象更改为不同的颜色。我已经举了一个例子,说明了我用于矢量和获取颜色的两种方法。有没有人有关于如何做到这一点的任何信息?

#include <iostream>
#include <vector>
#include <windows.h>

std::vector<std::string> playerInventory;

int main() {

    HANDLE color = GetStdHandle(STD_OUTPUT_HANDLE); //just once
    SetConsoleTextAttribute(color, 10);
    std::cout << "This";
    SetConsoleTextAttribute(color, 11);
    std::cout << " is";
    SetConsoleTextAttribute(color, 12);
    std::cout << " a";
    SetConsoleTextAttribute(color, 13);
    std::cout << " colour";
    SetConsoleTextAttribute(color, 14);
    std::cout << " combination" << std::endl;

    playerInventory.push_back("1");
    playerInventory.push_back("2");
    playerInventory.push_back("3");
    playerInventory.push_back("4");

    for (int x = 0; x != playerInventory.size(); ++x)
    {
        std::cout << playerInventory[x] << std::endl;
    }
}

标签: c++vectorcolors

解决方案


您似乎已经知道如何更改颜色,所以您需要做的只是更改循环内的颜色,为向量的每个元素。例子:

for ( int x = 0; x != playerInventory.size(); ++x ) {
    SetConsoleTextAttribute( color, 10 + x );
    std::cout << playerInventory[x] << std::endl;
}

但请记住,SetConsoleTextAttributewAttribute参数中只有这么多有效值


推荐阅读