版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上北京師范大學(xué) C語(yǔ)言課程設(shè)計(jì)報(bào)告 課題名稱: 游戲五子棋 指導(dǎo)教師: 尹乾 課題組員: 羅福莉 趙帥帥 何虹達(dá) 院系: 信息科學(xué)與技術(shù) 時(shí)間: 2014.3.15-2014.4.20 摘 要五子棋是一種兩人對(duì)弈的純策略型棋類游戲,應(yīng)用C語(yǔ)言編寫程序可以在計(jì)算機(jī)上實(shí)現(xiàn)二人對(duì)弈五子棋功能。二人對(duì)弈五子棋程序由歡迎界面顯示、游戲界面生成、光標(biāo)移動(dòng)與落子、判斷勝負(fù)、悔棋功能、提供音效等子程序構(gòu)成;程序中應(yīng)用了結(jié)構(gòu)體、數(shù)組、全局變量、按鍵處理和圖形編程等元素和語(yǔ)句。程序通過(guò)棋盤和棋子圖像生成、二人移子與落子和判斷勝負(fù)等功能的實(shí)現(xiàn),在計(jì)算機(jī)上實(shí)現(xiàn)了二人五子棋對(duì)弈。 目 錄摘 要2
2、第1章:需求分析31.1五子棋背景31.2 五子棋需求分析和流程設(shè)計(jì)4第2章:概要設(shè)計(jì)72.1 各類頭文件和全局變量72.2 畫面顯示模塊8第3章:詳細(xì)設(shè)計(jì)113.1 玩家操作模塊113.2音效提供模塊113.3 勝負(fù)判斷模塊12第4章:調(diào)試分析134.1 圖形模塊13 4.2 玩家操作模塊134.3 勝負(fù)判斷模塊14第5章:用戶手冊(cè)14第6章:小組分工15第7章:結(jié)論與心得16第8章 :源程序代碼16附錄一 Color命令的使用說(shuō)明29 附錄二 ASCII 碼表29第1章:需求分析1.1五子棋背景傳統(tǒng)五子棋的與圍棋相同,分為黑白兩色,棋盤為18×18,棋子放置于棋盤線上。兩人對(duì)局,
3、各執(zhí)一色,輪流下一子,先將橫、豎或斜線的5個(gè)或5個(gè)以上同色棋子連成不間斷的一排者為勝。 因?yàn)閭鹘y(tǒng)五子棋在落子后不能移動(dòng)或拿掉,所以也可以用紙和筆來(lái)進(jìn)行游戲。1.2 五子棋需求分析和流程設(shè)計(jì)本程序設(shè)計(jì)為人與人對(duì)弈,一方執(zhí)黑棋,一方執(zhí)白棋,輪流走棋,每方都試圖在游戲結(jié)束前讓自己的棋子五子相連,首先實(shí)現(xiàn)五子相連的一方獲勝。程序執(zhí)行過(guò)程中,要求棋盤、棋子時(shí)時(shí)可見,游戲界面有提示信息輪到何方下棋,人可以通過(guò)按鍵盤按鍵移動(dòng)光標(biāo),再點(diǎn)擊enter鍵擺放棋子,并且每落一子都有系統(tǒng)聲音,創(chuàng)新之處是可以提供悔棋功能。1.2.1 程序需求分析根據(jù)功能需求,將程序分為畫面顯示、玩家操作、音效提供、勝負(fù)判斷五個(gè)模塊,以
4、下分析各模塊的需求。畫面顯示模塊:程序開始運(yùn)行時(shí),顯示制作者和給出歡迎及退出界面;游戲開始后要求生成18×18的棋盤圖像,并在棋盤上方顯示歡迎信息“歡迎play our五子棋”,棋盤下方游戲顯示應(yīng)該輪到甲方或者乙方落子,棋盤左右顯示雙方操作方式,進(jìn)行過(guò)程中,要求實(shí)時(shí)顯示棋盤上已落下的棋子,甲方為白球,乙方為白圈;分出勝負(fù)后,要求給出游戲結(jié)束畫面,并且詢問(wèn)用戶是否需要繼續(xù)游戲。玩家操作模塊:程序開始時(shí),需玩家確定選擇“人人對(duì)戰(zhàn)”后開始游戲;游戲過(guò)程中,兩個(gè)玩家通過(guò)不同的按鍵移動(dòng)光標(biāo),選擇落子;游戲進(jìn)行過(guò)程中,當(dāng)前玩家下棋后,另一位玩家下棋前,當(dāng)前玩家可以悔棋?;谄逄崾驹谄灞P右下方,為按
5、鍵“b”。游戲結(jié)束時(shí),有玩家選擇是否開始新游戲。 音效提供模塊:玩家每落一子,系統(tǒng)提供音效一聲,增加下棋的趣味性。勝負(fù)判斷模塊:實(shí)時(shí)監(jiān)測(cè)棋盤上棋子,一旦某一色棋子出現(xiàn)五子連線,終止游戲程序,并著色連成一線的五子,棋盤下方彈出該色玩家勝出信息。1.2.2程序流程設(shè)計(jì) 根據(jù)程序需求分析結(jié)果,可以得出程序的總體結(jié)構(gòu)圖如圖1,程序總體流程圖如圖2。五子棋游戲五子棋模塊二:玩家操作模塊三:音效提供模塊四:勝負(fù)判斷模塊一:畫面顯示 圖1 五子棋總體結(jié)構(gòu)圖開始制作者展示進(jìn)入菜單界面N人人對(duì)戰(zhàn)?退出游戲Y是否繼續(xù)新游戲?開始游戲ESCY確認(rèn)退出?b悔棋甲方判斷NEnter甲方獲勝?退出游戲顯示甲方獲勝消息Y確
6、認(rèn)退出?N乙方判斷ESCb悔棋YEnterN顯示乙方獲勝消息乙方獲勝?YN 圖2 程序總體流程圖第2章:概要設(shè)計(jì)2.1 各類頭文件和全局變量#include <stdio.h>#include<windows.h>#include <stdlib.h>#include<conio.h>/使用getch()函數(shù)int startchoice; /int winner; /int player; /Q200200= 0;/Q數(shù)組記錄旗子char button;/讀入鍵盤輸入的指令,如2.2 畫面顯示模塊畫面顯示模塊由歡迎界面,游戲棋盤界面,確認(rèn)是否退
7、出對(duì)話框界面,以及感謝使用界面組成。 畫面顯示模塊函數(shù)如下:void Welcome() /歡迎界面void Draw() /繪畫游戲棋盤界面void Clean()/清除運(yùn)動(dòng)的軌跡void menu_choose(char press)/選擇是否退出游戲?qū)υ捒騰oid PutDown()/顯示落子函數(shù)void goto_xy(int x, int y) /光標(biāo)移動(dòng)函數(shù) 畫面效果圖如圖3,4,5,6。 圖3 歡迎界面圖 圖4 主菜單界面圖 圖5 游戲界面圖 圖6 確認(rèn)退出對(duì)話框第3章:詳細(xì)設(shè)計(jì)3.1 玩家操作模塊棋子的移動(dòng)與落子有鍵盤上按鍵控制,本程序選取甲乙雙方按鍵都為W、S、和回車鍵,“b
8、”,“ESC”,分別代表上移、下移、左移、右移光標(biāo)和落子,悔棋,退出。在光標(biāo)移動(dòng)的過(guò)程中,光標(biāo)按照玩家按鍵移動(dòng);在玩家按下落子按鍵后,程序自動(dòng)調(diào)用棋子顯示子程序和判斷勝負(fù)子程序。當(dāng)前玩家下棋后,另一位玩家下棋前,當(dāng)前玩家可以悔棋。悔棋提示在棋盤右下方,為按鍵“b”。甲乙的落子后,程序會(huì)為落子處的數(shù)組元素賦一個(gè)特定值(玩家甲的棋子賦為1,玩家乙的棋子賦為2),用于判定勝負(fù)和悔棋。玩家操作模塊主要由以下函數(shù)構(gòu)成:void Record() /記錄棋子的情況void go_back(int x1,int y1)/悔棋函數(shù)void Play(char ch)/讀取鍵盤的操作 移動(dòng)光標(biāo) 下棋和悔棋操作3
9、.2音效提供模塊為了提高游戲的趣味性,我們?yōu)楸居螒蛱峁┝撕?jiǎn)單系統(tǒng)音效。程序語(yǔ)句很簡(jiǎn)單 printf("a");/'a'表示蜂鳴聲3.3 勝負(fù)判斷模塊勝負(fù)判斷模塊是程序的關(guān)鍵,該模塊的設(shè)計(jì)直接關(guān)系到程序的運(yùn)行速率和運(yùn)行結(jié)果的正確與否。本函數(shù)根據(jù)每次落子的位置,分別向上、下、左、右、左上、左下、右上、右下八個(gè)方向判斷是否有相同顏色的棋子連成五子,如果成立,游戲就結(jié)束,并顯示提示信息,否則繼續(xù)落子。以下簡(jiǎn)析本程序流程:,由獲勝條件可以知,通過(guò)判斷行、列、斜邊、反斜邊方向上是否有連續(xù)的5個(gè)子即可得出是否獲勝結(jié)果。在游戲開始時(shí),將棋盤初始化,即將棋盤抽象為一個(gè)18*1
10、8的數(shù)組,數(shù)組中每個(gè)元素?cái)?shù)值設(shè)為0。甲方落子時(shí),將數(shù)組內(nèi)相應(yīng)坐標(biāo)處元素賦值為2;乙方落子時(shí),將數(shù)組內(nèi)相應(yīng)坐標(biāo)處元素賦值為1。通過(guò)循環(huán)掃描棋盤數(shù)組,經(jīng)掃描后,如發(fā)現(xiàn)在行、列、斜邊、反斜邊方向上有五個(gè)連續(xù)的2,甲方獲勝;如發(fā)現(xiàn)在行、列、斜邊、反斜邊方向上有五個(gè)連續(xù)的1,乙方獲勝。勝負(fù)判斷模塊主要由一個(gè)函數(shù)構(gòu)成:int Judge() /判斷勝負(fù)函數(shù)第4章:調(diào)試分析4.1 圖形模塊1在圖形模塊中,因?yàn)槭堑谝淮问褂?,所以剛開始時(shí)對(duì)于棋盤創(chuàng)建的位置把握有些欠缺。解決方案:參考書本以及google,找出最合適的位置坐標(biāo)。2. 在構(gòu)建棋子時(shí)候,發(fā)現(xiàn)C語(yǔ)言中似乎對(duì)顏色的處理有些錯(cuò)誤,當(dāng)棋譜線的顏色為白色時(shí),無(wú)
11、法構(gòu)建黑色棋子,只能畫出白色棋子。解決方案:用白圈區(qū)別于白球,類似白子和黑子。4.2 玩家操作模塊1. 在玩家操作模塊中,出現(xiàn)的最大問(wèn)題之一就是棋盤已經(jīng)有棋子的地方還可以覆蓋另一個(gè)棋子。解決方案:通過(guò)在PutDown()函數(shù)中添加if條件語(yǔ)句,判定如果所在位置對(duì)應(yīng)的數(shù)組值不等于0時(shí),不能落子。2. 另一個(gè)問(wèn)題就是之前提到的,操作定位框的時(shí)候會(huì)將定位框移到棋盤之外造成溢出。解決方案: 通過(guò)if語(yǔ)句判定,如果操作框超出范圍則移動(dòng)到對(duì)應(yīng)相反位置,例如移動(dòng)棋盤最上端,若繼續(xù)向上移動(dòng),則移動(dòng)至棋盤最下端對(duì)應(yīng)位置。3. 還有一個(gè)就是悔棋模塊中,通過(guò)將現(xiàn)有棋子覆蓋與棋盤底色相同的顏色來(lái)覆蓋后,棋譜線條部分也
12、會(huì)被覆蓋。解決方案:在go_back();即悔棋函數(shù)。用棋譜線來(lái)覆蓋棋子(例如: 等)。4.3 勝負(fù)判斷模塊1. 在勝負(fù)判斷中一直沒能想到好的辦法來(lái)數(shù)據(jù)化判斷哪方玩家獲得勝利。解決方案:通過(guò)參考書籍并加以優(yōu)化,得出將棋譜做成數(shù)組,定義甲方落下為1,乙方落下為2,初始為0,這樣即不會(huì)造成沖突,也很好的解決了判斷問(wèn)題。2. 另一個(gè)問(wèn)題在于一直不能優(yōu)化代碼做到不每次都掃描整個(gè)棋盤來(lái)判斷勝負(fù)。解決方案:至今尚未解決,嘗試過(guò)局部掃描,但失敗了。第5章:用戶手冊(cè)1.進(jìn)入演示程序后,即顯示歡迎界面,幾秒后,按任何鍵進(jìn)入菜單界面,再選擇人人對(duì)戰(zhàn)可以進(jìn)入主界面開始游戲或者選擇退出鍵。2.棋子的移動(dòng)與落子有鍵盤上
13、按鍵控制,本程序選取甲乙方都為、和回車鍵,分別代表上移、下移、左移、右移光標(biāo)和落子。在光標(biāo)移動(dòng)的過(guò)程中,光標(biāo)按照玩家按鍵移動(dòng);在玩家按下落子按鍵后,程序自動(dòng)調(diào)用棋子顯示子程序和判斷勝負(fù)子程序。3. 在當(dāng)前玩家按下落子按鍵后,程序自動(dòng)調(diào)用棋子顯示子程序和判斷勝負(fù)子程序。當(dāng)前玩家下棋后,另一位玩家下棋前,當(dāng)前玩家可以悔棋?;谄逄崾驹谄灞P右下方,為按鍵“b”(即backspace)。4.游戲中Esc鍵可以直接退出游戲。5.游戲過(guò)程中,如果玩家1或者玩家2有一方獲得勝利后,程序自動(dòng)將提示哪一方獲得了勝利,并可以選擇是否繼續(xù)新游戲。6.游戲結(jié)束且玩家選擇不再繼續(xù)后,顯示謝謝使用界面,再按任意鍵退出游戲。
14、第6章:小組分工組長(zhǎng):羅福莉組員:趙帥帥,何虹達(dá)具體分工:組員任務(wù)分工羅福莉報(bào)告書寫 程序調(diào)試 展示成果趙帥帥勝負(fù)判斷設(shè)計(jì) 主函數(shù)設(shè)計(jì)何虹達(dá)界面制作 程序調(diào)試第7章:結(jié)論與心得 通過(guò)對(duì)各子程序的設(shè)計(jì)與優(yōu)化,本程序完成了五子棋軟件的主體的設(shè)計(jì)與制作,基本達(dá)到了使用五子棋軟件的核心要求。然而程序還有一些不足之處,首先,程序的界面過(guò)于簡(jiǎn)陋,其次,判斷勝后沒有顯示連成一線的棋子是哪些,用戶使用不便。最后就是程序法實(shí)現(xiàn)人機(jī)對(duì)戰(zhàn),缺乏可玩性。 第8章 :源程序代碼 /五子棋小游戲#include <stdio.h>#include<windows.h>#include <st
15、dlib.h>#include<conio.h>/使用getch()函數(shù)int startchoice,winner,player,Q200200= 0;/Q數(shù)組記錄旗子char button;/讀入鍵盤輸入的指令,如struct Point/點(diǎn)坐標(biāo)的結(jié)構(gòu)體 int x,y; point,game_xy;struct Piece/棋子的坐標(biāo)記錄 struct Point coord; struct Piece *fore;struct Piece *head,*p,*ptr,*ptr1;void goto_xy(int x, int y) /光標(biāo)移動(dòng)函數(shù) COORD c; c
16、.X=2*x; c.Y=y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);void Init()/初始化函數(shù),將記錄棋子的數(shù)組初始化 for(int i=0; i<200; i+) for(int j=0; j<200; j+) Qij=0; startchoice=0;player=1; p=(struct Piece *)malloc(sizeof(struct Piece); head=p;void Welcome() /歡迎界面system("color 2F");/#inc
17、lude<windows.h> 2 背景綠色 F 字體亮白色 goto_xy(10,3); printf(""); goto_xy(17,1); printf("主菜單"); goto_xy(13,3); printf(" *人人對(duì)戰(zhàn)*"); goto_xy(13,4); printf(" *退出*"); point.x=12; point.y=3; goto_xy(0,0);void ShowWho()/顯示輪到哪一方下棋 goto_xy(17,22); if(player=0) printf(&qu
18、ot;輪到甲方落子"); else printf("輪到乙方落子"); goto_xy(point.x,point.y);void Draw() /繪畫游戲界面game_xy.x=10; game_xy.y=3; system("cls"); system("color 3F");/3 湖藍(lán)色 F 亮白色 goto_xy(15,1); printf("歡迎play our 五子棋!"); /*goto_xy(29,22); printf("重新開始 r");*/ goto_xy(1,2
19、2); printf("悔棋 b"); goto_xy(1,23); printf("退出 ESC");const int i=8;/const 定義的數(shù)據(jù)不可以被改變 而且修改數(shù)據(jù)比較方便 const int j=19;const int k=3; goto_xy(game_xy.x-i,game_xy.y+k);/輸出甲方的下棋方法 printf("甲方: "); goto_xy(game_xy.x-i,game_xy.y+k+2); printf("移動(dòng): 上 "); goto_xy(game_xy.x-i,
20、game_xy.y+k+4); printf(" 下 "); goto_xy(game_xy.x-i,game_xy.y+k+6); printf(" 左 "); goto_xy(game_xy.x-i,game_xy.y+k+8); printf(" 右 ");goto_xy(game_xy.x-i,game_xy.y+k+10);printf("落子: Enter");goto_xy(game_xy.x+j,game_xy.y+k);/輸出乙方的下棋方法 printf("乙方: "); go
21、to_xy(game_xy.x+j,game_xy.y+k+2); printf("移動(dòng): 上 "); goto_xy(game_xy.x+j,game_xy.y+k+4); printf(" 下 "); goto_xy(game_xy.x+j,game_xy.y+k+6); printf(" 左 "); goto_xy(game_xy.x+j,game_xy.y+k+8); printf(" 右 ");goto_xy(game_xy.x+j,game_xy.y+k+10);printf("落子: Ent
22、er"); for(int k1=0; k1<200; k1+)/初始化棋子記錄,在第二局時(shí)有明確的作用 for(int k2=0; k2<200; k2+) Qk1k2=0; for(int i=0; i<18; i+)/畫棋盤 if(i=0)/畫第一行 goto_xy(10,i+3); printf(""); if(i!=0&&i!=17)/畫出中間16行 goto_xy(10,i+3); printf(""); if(i=17)/畫最后一行 goto_xy(10,i+3); printf("&q
23、uot;); point.x=19; point.y=12; goto_xy(19,12);void Clean()/清除運(yùn)動(dòng)的軌跡 goto_xy(10,3); printf(" "); goto_xy(24,3); printf(" "); goto_xy(10,4); printf(" "); goto_xy(24,4); printf(" ");void menu_choose(char press)/選擇游戲還是退出if(press=72)/的ASCLL碼 if(point.y=3) point.y=4;
24、 else point.y=3; Clean(); goto_xy(10,point.y); printf(""); if(press=80)/的ASCLL碼 if(point.y=4)point.y=3; elsepoint.y=4; Clean(); goto_xy(10,point.y); printf(""); if(press=13)/ 13:回車鍵的ASCLL碼 startchoice=point.y-2;/startchoice 為1或2 void go_back(int x1,int y1)/悔棋函數(shù) goto_xy(x1,y1); if
25、(x1=10) if(y1=3) printf(""); else if(y1=20) printf(""); else printf(""); else if(x1=27) if(y1=3) printf(""); else if(y1=20) printf(""); else printf(""); else if(y1=3) printf(""); else if(y1=20) printf(""); else printf(&q
26、uot;"); Qpoint.xpoint.y=0;/在數(shù)組中將彈出的棋子對(duì)應(yīng)的數(shù)據(jù)設(shè)為0 goto_xy(x1,y1);void Record() /記錄棋子的情況 p->coord.x=point.x; p->coord.y=point.y; ptr=p; p=(struct Piece *)malloc(sizeof(struct Piece); p->fore=ptr; ShowWho(); Qpoint.xpoint.y=player+1; if(player) player=0; return; player=1; goto_xy(point.x,poi
27、nt.y);void PutDown()/顯示落子函數(shù) if(Qpoint.xpoint.y=0)/先判斷該位置是否有棋子 if(player) printf(""); printf("a");/'a'表示蜂鳴聲 Record(); else printf(""); printf("a"); Record(); goto_xy(point.x,point.y); void Play(char ch)/鍵盤的操作 移動(dòng)光標(biāo) 下棋和悔棋操作 if(ch=72)/的ASCLL碼 光標(biāo)上移 if(point
28、.y<=3)point.y=20; elsepoint.y-; goto_xy(point.x,point.y); if(ch=75)/的ASCLL碼 光標(biāo)左移 if(point.x<=10)point.x=27; elsepoint.x-; goto_xy(point.x,point.y); if(ch=77)/的ASCLL碼 光標(biāo)右移 if(point.x>=27)point.x=10; elsepoint.x+; goto_xy(point.x,point.y); if(ch=80)/的ASCLL碼 光標(biāo)下移 if(point.y>=20)point.y=3; e
29、lsepoint.y+; goto_xy(point.x,point.y); if(ch=13)/回車鍵的ASCLL碼下棋 PutDown(); if(button='b'|button='B') /悔棋的操作 ptr1=p; if(p!=head) p=p->fore; free(ptr1); point.x=p->coord.x; point.y=p->coord.y; go_back(point.x,point.y); int Judge() int count=0; int pp=player=0?2:1;/三目運(yùn)算 for(int c
30、=0; c<200; c+) for(int r=0; r<200; r+) if(Qrc!=pp) continue;/檢查列 int rr=r; int cc=c; while(-cc>=3 &&Qrrcc=pp)count+; cc=c; while(+cc<23 &&Qrrcc=pp)count+; cc=c; if(count>=4) return pp;/檢查行 count=0; while(-rr>=10 &&Qrrcc=pp)count+; rr=r; while(+rr<30 &
31、&Qrrcc=pp)count+; rr=r; if(count>=4) return pp;/檢查反斜邊 count=0; cc-; rr-; while(cc>=3|rr>=10) &&Qrrcc=pp) count+; cc-; rr-; rr=r; cc=c; cc+; rr+; while(cc<23|rr<30) &&Qrrcc=pp) count+; cc+; rr+; rr=r; cc=c; if(count+1>=5) return pp;/檢查正斜邊 count=0; cc+; rr-; while
32、(cc<23|rr>=10) &&Qrrcc=pp) count+; cc+; rr-; rr=r; cc=c; cc-; rr+; while(cc>=3|rr<30) &&Qrrcc=pp) count+; cc-; rr+; rr=r; cc=c; if(count+1>=5) return pp; count=0; return 0;int main(void)system("color 4E");printf("n 歡迎play五子棋!");goto_xy(15,3);printf(
33、"作者:小蘿莉");goto_xy(17,5);printf(" HE·Honda");goto_xy(17,7);printf(" ZSSB");Sleep(3000);system("cls"); while(1) Init();/初始化 int winner=0; Welcome();/歡迎界面 while(1)/讀取菜單選項(xiàng) char choice=getch(); menu_choose(choice); if(startchoice!=0) break; if(startchoice=1)/選
34、擇人人對(duì)戰(zhàn) Draw(); goto_xy(17,22); printf("輪到甲方落子"); goto_xy(point.x,point.y); while(1) button=getch(); Play(button); /讀取鍵盤的操作 移動(dòng)光標(biāo) 下棋和悔棋操作 if(button=27)/ESC的ASCLL碼 if(MessageBox(NULL,TEXT("確定退出?"),TEXT(""),MB_ICONQUESTION|MB_OKCANCEL)=IDOK)system("cls");printf(&qu
35、ot;n謝謝使用!n");return 0; if(button=13)/回車鍵ASCLL碼按下后開始判斷輸贏 winner=Judge(); if(winner!=0) goto_xy(15,24); if(winner=2) printf("恭喜!甲方贏!n"); if(winner=1) printf("恭喜!乙方贏!n"); if(winner!=1&&winner!=2) continue; goto_xy(13,22); printf(" 繼續(xù)游戲?(Y/N): "); while(1) butt
36、on=getch(); if(button='n'|button='N'|button='y'|button='Y') break; if(button='n'|button='N')if(MessageBox(NULL,TEXT(" 確定退出?"),TEXT(""),MB_ICONQUESTION|MB_OKCANCEL)=IDOK)system("cls");printf("n謝謝使用!n");return 0; i
37、f(button='y'|button='Y') winner=0; system("cls"); break; if(startchoice=2) if(MessageBox(NULL,TEXT(" 確定退出?"),TEXT(""),MB_ICONQUESTION|MB_OKCANCEL)=IDOK)printf("nn謝謝使用!n");return 0; return 0; 附錄一 Color命令的使用說(shuō)明顏色屬性由兩個(gè)十六進(jìn)制數(shù)字指定 - 第一個(gè)為背景,第二個(gè)則為前景。每個(gè)數(shù)字
38、可以為以下任何值之一: 0 = 黑色 8 = 灰色 1 = 藍(lán)色 9 = 淡藍(lán)色 2 = 綠色 A = 淡綠色 3 = 湖藍(lán)色 B = 淡淺綠色 4 = 紅色 C = 淡紅色 5 = 紫色 D = 淡紫色 6 = 黃色 E = 淡黃色 7 = 白色 F = 亮白色附錄二 ASCII 碼表ASCII 碼使用指定的 7 位或 8 位二進(jìn)制數(shù)組合來(lái)表示 128 或 256 種可能的字符。標(biāo)準(zhǔn) ASCII 碼使用 7 位二進(jìn)制數(shù)來(lái)表示所有的大寫和小寫字母,數(shù)字 0 到 9、標(biāo)點(diǎn)符號(hào),以及在美式英語(yǔ)中使用的特殊控制字符。目前許多基于x86的系統(tǒng)都支持使用擴(kuò)展(或“高”)ASCII。擴(kuò)展 ASCII 碼允
39、許將每個(gè)字符的第 8 位用于確定附加的 128 個(gè)特殊符號(hào)字符、外來(lái)語(yǔ)字母和圖形符號(hào)。值 8、9、10 和 13 分別轉(zhuǎn)換為退格、制表、換行和回車字符。它們并沒有特定的圖形顯示,但會(huì)依不同的應(yīng)用程序,而對(duì)文本顯示有不同的影響控制字符二進(jìn)制 十進(jìn)制 十六進(jìn)制 縮寫 解釋 0000 0000 0 00 NUL 空字符(Null) 0000 0001 1 01 SOH 標(biāo)題開始 0000 0010 2 02 STX 正文開始 0000 0011 3 03 ETX 正文結(jié)束 0000 0100 4 04 EOT 傳輸結(jié)束 0000 0101 5 05 ENQ 請(qǐng)求 0000 0110 6 06 ACK 收到通知 0000 0111 7 07 BEL 響鈴 0000 1000 8 08 B
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑用鋼材料采購(gòu)合同范本
- 二零二五年度房地產(chǎn)項(xiàng)目普法合同執(zhí)行與消費(fèi)者權(quán)益保護(hù)合同3篇
- 2025版編劇聘用合同范本(原創(chuàng)劇本創(chuàng)作)3篇
- 2025年酒類團(tuán)購(gòu)服務(wù)及產(chǎn)品經(jīng)銷一體化合同
- 二零二五年度毛巾品牌授權(quán)及銷售合同
- 二零二五年度智慧社區(qū)土地租賃合同模板
- 2025年度個(gè)人交通事故損害賠償法律援助合同
- 課題申報(bào)參考:明清尺牘選本書畫文獻(xiàn)研究
- 2025年度個(gè)人信用保證保險(xiǎn)合同范本大全2篇
- 課題申報(bào)參考:寧海古戲臺(tái)建造技藝與匠作譜系研究
- 內(nèi)科學(xué)(醫(yī)學(xué)高級(jí)):風(fēng)濕性疾病試題及答案(強(qiáng)化練習(xí))
- 音樂劇好看智慧樹知到期末考試答案2024年
- 辦公設(shè)備(電腦、一體機(jī)、投影機(jī)等)采購(gòu) 投標(biāo)方案(技術(shù)方案)
- 查干淖爾一號(hào)井環(huán)評(píng)
- 案卷評(píng)查培訓(xùn)課件模板
- 體檢中心分析報(bào)告
- 2024年江蘇省樣卷五年級(jí)數(shù)學(xué)上冊(cè)期末試卷及答案
- 波浪理論要點(diǎn)圖解完美版
- 金融交易數(shù)據(jù)分析與風(fēng)險(xiǎn)評(píng)估項(xiàng)目環(huán)境敏感性分析
- 牛頓環(huán)與劈尖實(shí)驗(yàn)論文
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)四 其他平臺(tái)載體的運(yùn)營(yíng)方式
評(píng)論
0/150
提交評(píng)論