資源描述:
《控制臺編程ppt課件.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、控制臺編程計算機(jī)實(shí)習(xí)主要內(nèi)容1、實(shí)例演示2、系統(tǒng)資源3、技巧4、實(shí)例講解1、實(shí)例演示1、推箱子游戲2、五子棋3、俄羅斯方塊4、迷宮5、漢諾塔游戲2、系統(tǒng)資源程序模式1、Character_mode:例如:控制臺編程限制只能按照行列來規(guī)劃界面,一行80列,每個英文字符占一個位置,每個中文字符占兩個位置?;究刂品绞绞擎I盤,很難用鼠標(biāo)控制2、系統(tǒng)資源控制臺程序1、庫文件包括windows常用的數(shù)據(jù)結(jié)構(gòu),宏和其他數(shù)據(jù)類型。2、庫文件包括控制臺的鍵盤輸入輸出操作。2、系統(tǒng)資源
2、相關(guān)數(shù)據(jù)結(jié)構(gòu)1、HANDLE:句柄實(shí)際上是一個無符號的整型數(shù),作為窗口的唯一標(biāo)識ID,控制臺的黑屏也是一個窗口,也需要這樣的一個HANDLE來標(biāo)識。2、系統(tǒng)資源相關(guān)數(shù)據(jù)結(jié)構(gòu)2、BOOLtypedefintBOOL;3、BYTEtypedefunsignedcharBYTE;4、WORDtypedefunsignedshortWORD;5、DWORDtypedefunsignedlongDWORD;2、系統(tǒng)資源位操作&
3、~^按位與按位或按位取反按位異或例如:a=11110000b=00001111a&b=00
4、000000a
5、b=11111111~a=00001111a^b=111111112、系統(tǒng)資源顏色標(biāo)識(常量)數(shù)據(jù)結(jié)構(gòu):WORDFOREGROUND_RED紅色FOREGROUND_GREEN綠色FOREGROUND_BLUE藍(lán)色FOREGROUND_INTENSITY加重BACKGROUND_RED紅色BACKGROUND_GREEN綠色BACKGROUND_BLUE藍(lán)色BACKGROUND_INTENSITY加重文本背景2、系統(tǒng)資源文本顏色的組合1、黃色?FOREGROUND_RED
6、FOREGROUN
7、D_GREEN2、青色?FOREGROUND_BLUE
8、FOREGROUND_GREEN3、紫色?FOREGROUND_BLUE
9、FOREGROUND_RED4、白色?FOREGROUND_RED
10、FOREGROUND_BLUE
11、FOREGROUND_GREEN2、系統(tǒng)資源背景顏色的組合1、黃色?BACKGROUND_RED
12、BACKGROUND_GREEN2、青色?BACKGROUND_BLUE
13、BACKGROUND_GREEN3、紫色?BACKGROUND_BLUE
14、BACKGROUND_RED4、白色
15、?BACKGROUND_RED
16、BACKGROUND_BLUE
17、BACKGROUND_GREEN3、教師和學(xué)生協(xié)作1、教師的前期工作頭文件colorConsole.h源文件colorConsole.cppcolorConsole.hcolorConsole.cpp3、教師和學(xué)生協(xié)作2、教師封裝的函數(shù)1)HANDLEinitiate();初始化控制臺窗口,并獲取該窗口的句柄;該函數(shù)只在程序初始化時執(zhí)行一次。3、教師和學(xué)生協(xié)作2)BOOLtextout(HANDLEhOutput,//窗口句柄intx,inty
18、,//窗口橫縱坐標(biāo)WORDwColors[],//指定文本和背景色序列intnColors,//指定顏色序列的數(shù)目LPTSTRlpszString);//指定輸出字符串在控制臺窗口指定位置輸出指定顏色的字符串。3、教師和學(xué)生協(xié)作2)BOOLtextout(…)該函數(shù)的限制:參數(shù)x,y需要自己驗(yàn)證其合法性,比如y<80,x>0.否則系統(tǒng)執(zhí)行不正常。LPTSTR類型相當(dāng)于char*。3、教師和學(xué)生協(xié)作3、常用的系統(tǒng)函數(shù)1)bool_kbhit()檢測是否有按鍵按下,系統(tǒng)函數(shù)直接調(diào)用。該函數(shù)是非阻塞函數(shù)。3、教師
19、和學(xué)生協(xié)作3、常用的系統(tǒng)函數(shù)2)int_getch()獲取按鍵的值,但不在屏幕回顯,系統(tǒng)函數(shù)直接調(diào)用。3)int_getche()獲取按鍵的值,但在屏幕回顯,系統(tǒng)函數(shù)直接調(diào)用。3、教師和學(xué)生協(xié)作4)Sleep(DWORDn)使程序休眠n毫秒,系統(tǒng)函數(shù)直接調(diào)用。5)voidsrand(unsignedintseed)隨機(jī)數(shù)的種子函數(shù)。6)intrand()產(chǎn)生偽隨機(jī)數(shù)序列。如何產(chǎn)生隨機(jī)數(shù)?#include#include#includevoidmai
20、n(){srand(time(NULL));for(inti=0;i<10;i++)//產(chǎn)生10個隨機(jī)數(shù)cout<