私は端末でプレイするアニメーションとゲームを作成しましたが、このアニメーションとゲームは8つの色しか利用できない端末に依存しています。 16種類の利用可能な色を持つ端末で実行すると(特にneofetchを実行し、利用可能な色を見ると目に見えます)、まったく正しくレンダリングされません。
Linux端末で8色だけを使用するための迅速で汚い方法はありますか?
編集:このプログラムを作成するときにUbuntu 18.04 LTSで以前のバージョンのncursesを使用していたため、問題が発生する可能性があります。最新バージョンのライブラリを含むリリースで正しく表示されます。私の元の質問に答えることに興味がある人なら、可能であればGNOME端末を8色モードに強制的に戻す方法を示すすべてに開いています。
編集:この質問は、描画機能を黒いテキストに白に戻すためによく使用されるStandend()に関するものです。何らかの理由で一部のディストリビューションでは期待どおりに動作しません。私はattron()に白黒で明確に定義された色のペアを明示的に知らせることで問題を解決しました。これは、ハードコーディングされた方法でncursesライブラリを誤用したことから生じるハッキーでハードコーディングされたソリューションです。この問題が解決したと思います。しかし、将来この問題をよりよく理解するために、基本的なエスケープシーケンスを使用したプログラミングの消化可能なリソースに興味があります。
ベストアンサー1
問題は、描画機能を黒いテキストに白に戻すために定期的に使用するStandend()に関連しています。何らかの理由で一部のディストリビューションでは期待どおりに動作しません。私はattron()に白黒で明確に定義された色のペアを明示的に知らせることで問題を解決しました。これは、ハードコーディングされた方法でncursesライブラリを誤用したことから生じるハッキーでハードコーディングされたソリューションです。