Zmiana koloru tła bez użycia biblioteki windows.h

0

Czy da sie zmienic kolor tła bez użycia biblioteki windows.h. Robię grę konsolowa i chcialam, zeby kursor mial jakis kolor. screenshot-20231207102124.png wygląda to tak. zrobilam to z uzyciem biblioteki windows.h, jednak nie moge jej uzyc, bo w wymaganiach mam ze mozna uzywac tylko standardowych bibliotek c++. czy da sie zrobic to jakos inaczej?

2

Wypisać komendy ANSI/VT100, zwane inaczej inaczej Escape codes poprzez zwykły std::cout lub printf. Na Linux w konsoli działa na pewno, czy na Windows zadziała, musiałbyś sprawdzić.

https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797
https://en.wikipedia.org/wiki/ANSI_escape_code
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html

0
andrzejlisek napisał(a):

[…] czy na Windows zadziała, musiałbyś sprawdzić.

Od jakiegoś czasu windowsowy terminal domyślnie obsługuje ANSI/VT100, a od dłuższego czasu też obsługiwał, chociaż nie domyślnie — https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences

0

Do zmiany koloru tła jest np. kod \033[48;<2>;<r>;<g>;<b>m (rgb 0..255). Można też spróbować zmieniać kolor samego kursora kodem \033]12;<kolor>\007, gdzie kolory <kolor> podaje się po nazwach green, darkgreen, lightgreen, etc. albo jako RGB w hexie, np. #10FF10.
screenshot-20231209102933.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1