C語言游戲必備:光標(biāo)定位與顏色設(shè)置的實(shí)現(xiàn)方法
更新時間:2013年05月27日 10:01:59 作者:
本篇文章是對c語言中光標(biāo)定位與顏色設(shè)置的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
喜歡編寫游戲的朋友們,你們有福了,這個資料足以讓你玩轉(zhuǎn)WINDOWS和Linux下的光標(biāo)定位以及顏色,enjoy it。
一、WINDOWS:
1.光標(biāo)定位函數(shù):
復(fù)制代碼 代碼如下:
#include <windows.h>
#include <conio.h>
/****** 光標(biāo)移到指定位置 ********************************/
void gotoxy(HANDLE hOut, int x, int y)
{
COORD pos;
pos.X = x; //橫坐標(biāo)
pos.Y = y; //縱坐標(biāo)
SetConsoleCursorPosition(hOut, pos);
}
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);//定義顯示器句柄變量
gotoxy(hOut,20,30); //光標(biāo)定位在坐標(biāo)(20,30)
2.顏色控制:
2.1函數(shù)實(shí)現(xiàn)
復(fù)制代碼 代碼如下:
/******設(shè)置文本為綠色 ********************************************/
void Set_TextColor_Green (void)
{
HANDLE Handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(Handle, FOREGROUND_INTENSITY | FOREGROUND_GREEN);
}
2.2 system
system("color 0D");//設(shè)置文本為粉紅色
注:1.0-15為16種顏色。
2.0D中0為背景顏色,D為字體顏色。
3.清屏
system("cls");
二、Linux:
在linux/unix的字符界面下,可以利用一些控制符來定位顯示位置、控制顏色、清屏等。
printf("\033[47;31mhello world\033[5m");
47是字背景顏色, 31是字體的顏色, hello world是字符串. 后面的\033[5m是控制碼.
顏色代碼:
QUOTE:
字背景顏色范圍: 40--49 字顏色: 30--39
40:黑 30:黑
41:紅 31:紅
42:綠 32:綠
43:黃 33:黃
44:藍(lán) 34:藍(lán)
45:紫 35:紫
46:深綠 36:深綠
47:白色 37:白色
ANSI控制碼:
QUOTE:
\033[0m 關(guān)閉所有屬性
\033[1m 設(shè)置高亮度
\03[4m 下劃線
\033[5m 閃爍
\033[7m 反顯
\033[8m 消隱
\033[30m -- \033[37m 設(shè)置前景色
\033[40m -- \033[47m 設(shè)置背景色
\033[nA 光標(biāo)上移n行
\03[nB 光標(biāo)下移n行
\033[nC 光標(biāo)右移n行
\033[nD 光標(biāo)左移n行
\033[y;xH設(shè)置光標(biāo)位置
\033[2J 清屏
\033[K 清除從光標(biāo)到行尾的內(nèi)容
\033[s 保存光標(biāo)位置
\033[u 恢復(fù)光標(biāo)位置
\033[?25l 隱藏光標(biāo)
\33[?25h 顯示光標(biāo)
相關(guān)文章
C語言運(yùn)用函數(shù)的遞歸實(shí)現(xiàn)漢諾塔
遞歸(recursive)函數(shù)是“自己調(diào)用自己”的函數(shù),無論是采用直接或間接調(diào)用方式。間接遞歸意味著函數(shù)調(diào)用另一個函數(shù)(然后可能又調(diào)用第三個函數(shù)等),最后又調(diào)用第一個函數(shù)。因?yàn)楹瘮?shù)不可以一直不停地調(diào)用自己,所以遞歸函數(shù)一定具備結(jié)束條件2022-07-07
Qt?timerEvent實(shí)現(xiàn)簡單秒表功能
這篇文章主要為大家詳細(xì)介紹了Qt?timerEvent實(shí)現(xiàn)簡單秒表功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-08-08
C++基礎(chǔ)入門教程(九):函數(shù)指針之回調(diào)
這篇文章主要介紹了C++基礎(chǔ)入門教程(九):函數(shù)指針之回調(diào),本文講解了函數(shù)的地址、聲明函數(shù)指針、歷史原因、typedef挽救復(fù)雜的函數(shù)指針等內(nèi)容,需要的朋友可以參考下2014-11-11
C語言中常見的六種動態(tài)內(nèi)存錯誤總結(jié)
學(xué)習(xí)過C語言中的動態(tài)內(nèi)存函數(shù),例如【malloc】、【calloc】、【realloc】、【free】,那它們在使用的過程中會碰到哪些問題呢,本本文我們一起來探討下,感興趣的朋友跟著小編一起來看看吧2023-11-11
C++報錯`Null Pointer Dereference`的解決方法
在軟件開發(fā)中,Null Pointer Dereference 是一種常見的錯誤,它發(fā)生在程序試圖訪問或操作一個空指針指向的內(nèi)存位置時,這種情況通常會導(dǎo)致程序崩潰,給 debug 工作帶來很大困擾,今天,我們將探討如何解決 Null Pointer Dereference 報錯,需要的朋友可以參考下2024-07-07
C/C++實(shí)現(xiàn)控制臺輸出不同顏色字體的方法
這篇文章主要介紹了C/C++實(shí)現(xiàn)控制臺輸出不同顏色字體的方法,涉及C++控制臺文字屬性相關(guān)設(shè)置操作技巧,需要的朋友可以參考下2017-09-09

