c語言編程小游戲 c語言代碼游戲編程



文章插圖
c語言編程小游戲 c語言代碼游戲編程

文章插圖
還記得我發的小白第一篇嗎?上面記載了一些簡單的隨機數控制臺程序的需求 。
【c語言編程小游戲 c語言代碼游戲編程】畢竟這也算得上是小小的游戲吧 , 除了一些必要的機制之外 , 自然需要像文章那般潤色 ?,F在 , 這篇文章將會分享一些有關的代碼 。各位如果有更好的方法 , 歡迎在評論區發表看法 。
顏色
每個人都不希望看到一成不變的黑色在控制臺這里 , 那么 , 如何輸出有顏色的文字呢?如何更改控制臺背景色呢?
其中一種方法可以直接在printf()語句里加一些轉義符號 。顏色的控制通過ESC字符(33)加”[“加顏色代碼加”m”實現 。ESC的ASCII碼是十進制的27 , 八進制的033(33) 。聽上去很懵 , 沒關系 , 舉個栗子就好啦
這里搬上一個最全的例子:
printf(“33[1;40;32m color!!! 33[0m hellon”);33 聲明了轉義序列的開始 , 然后是 [ 開始定義顏色 。后面的 1 定義了高亮顯示字符 。然后是背景顏色 , 這里面是40 , 表示黑色背景 。接著是前景顏色 , 這里面是32 , 表示綠色 。我們用 33[0m 關閉轉義序列 ,  33[0m 是終端默認顏色 。而下面的代碼會產生什么結果呢?
printf("33[36m**********猜猜隨機數2.5************n33[0m");printf("**************進入游戲請按:1*****************n");printf("**************游戲說明請按:2*****************n");printf("***************退出請按:3******************n");printf("**************************************************n");
這是結果
其中這里可以通過調整36m來調整字體顏色 。
/*顏色列表如下:none= "33[0m"black= "33[0;30m"dark_gray= "33[1;30m"blue= "33[0;34m"light_blue= "33[1;34m"green= "33[0;32m"light_green -= "33[1;32m"cyan= "33[0;36m"light_cyan= "33[1;36m"red= "33[0;31m"light_red= "33[1;31m"purple= "33[0;35m"light_purple = "33[1;35m"brown= "33[0;33m"yellow= "33[1;33m"light_gray= "33[0;37m"white= "33[1;37m"字背景顏色范圍:40--49字顏色: 30--3940: 黑30: 黑41:紅31: 紅42:綠32: 綠43:黃33: 黃44:藍34: 藍45:紫35: 紫46:深綠36: 深綠47:白色37: 白色*/其實調整顏色的方式不止一種 , 但是這種是小白學會的第一種方法 。還是很有紀念意義的 。
定點輸出
這個主要可以記錄猜測過程中的步數等等 。如果不拘泥于這個隨機數 , 還可以掛一個人物姓名 , 生命 , 時間等等在界面中不變的量 。但是我們總不能輸出其他東西的時候空兩格來輸出這些 。所以 , 這時候就需要我們通過調整控制臺光標坐標來達到定點輸出的效果 。
比如此處的最佳記錄
這里小白直接分享調整坐標的代碼吧 , 通過調整坐標 , 我們就可以在控制臺范圍內輸出任何東西 。
void zuobiao(int x,int y){COORD rd;rd.X = x;rd.Y = y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), rd);} //但是怎么用呢?zuobiao(58,9);printf("最佳記錄:剩余%d次就猜中了 。",count); //醬紫就行啦 , 是不是很簡單呢?