Mise à jour de la console sans scintillement - c++

Je suis d'essayer de faire une console de jeu de tir défilement côté, je sais que ce n'est pas le moyen idéal pour elle, mais je me suis un peu un défi.

Le problème est que chaque fois qu'il met à jour le cadre, l'intégralité de la console clignote. Est-il un moyen de contourner ce problème?

J'ai utilisé un tableau pour contenir tous les caractères nécessaires à la sortie, voici mon updateFrame fonction. Oui, je sais system("cls") est paresseux, mais à moins que ce soit la cause du problème, je ne suis pas embêté à cette fin.

void updateFrame()
{
system("cls");
updateBattleField();
std::this_thread::sleep_for(std::chrono::milliseconds(33));
for (int y = 0; y < MAX_Y; y++)
{
    for (int x = 0; x < MAX_X; x++)
    {
        std::cout << battleField[x][y];
    }
    std::cout << std::endl;
}
}
Il y a des doublons pour cela. Si rien n', vous devriez être en interrompant le fil après vous imprimer quelque chose, et non pas lorsque l'écran est vide, mais je suppose que le scintillement sera toujours visible sur Windows.
vous devriez essayer d'utiliser ncurses, il permet de faire ce que vous voulez dans la coquille.
Les doublons ou pas, c'est une question que j'ai envie de répondre pour un temps très long, car j'ai passé beaucoup de temps à jongler avec les mêmes choses que moi-même. Il y a des moyens d'éviter le scintillement.

OriginalL'auteur Persistence | 2016-01-17