freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言課程設(shè)計(jì)指導(dǎo)書(存儲(chǔ)版)

2025-04-12 16:42上一頁面

下一頁面
  

【正文】 p。 /*其它的按鍵情況 */ } else return 0。 break。 break。 填充設(shè)置函數(shù) : void far setfillstyle(int pattern, int color) 用戶自定義填充函數(shù): void far setfillpattern(char upattefn, int color); 該函數(shù)設(shè)置用戶自定義可填充模式,以 color 指出的顏色對(duì)封閉圖形進(jìn)行填充。 六、 應(yīng)用實(shí)例 問題描述 :下面程序先用 setviewport 開了一個(gè)對(duì)角坐標(biāo)為( 40, 40)和( 600, 400)的圖視窗口,其后的圖形操作則在此窗口中進(jìn)行,超過圖視口的部分被剪切,接著用黃 色畫了一個(gè)矩形框,并用綠色填充。graphmode,)。 /*用綠色填充矩形框 */ rectangle(20,20,540,380)。 setfillstyle(1,12)。 settextstyle(4,0,3)。 void graphone(char *str)。driver,amp。 // 第一個(gè)動(dòng)畫 graphtwo(str)。 settextstyle(1,0,4)。 line(x170,i*1550,x170,250+i*15)。i30。 outtextxy(150,i*25,str)。 // 顯示字符串 delay(8000)。 // 得到當(dāng)前字符串寬度 setlinestyle(0,0,1)。 } for(i=7。 line((xwidth)/2+10*(8i),y/2+i*1570,(x+width)/210*(8i),y/2+i*1570)。 2) 也就是,在位置動(dòng)態(tài)變化,但大小不變的圖視口中 (用 setviewpot()函數(shù) ),設(shè)置固定圖形 (也可是微小變化的圖像 ),這樣雖呈現(xiàn)在觀察者面前的是當(dāng)前圖視口位置在動(dòng)態(tài)變化 ,但視覺上卻象是看到圖像在屏幕上動(dòng)態(tài)變化一樣。 for(i=0。 floodfill(70,130,5)。 void *buffer。 setlinestyle(0,0,1)。/* 重新復(fù)制 */ do{ for(i=0。 /*右邊球向右運(yùn)動(dòng) */ } }while (!kbhit())。 缺省時(shí),設(shè)定 0 頁為當(dāng)前編輯頁,又為當(dāng)前顯示頁。接著進(jìn)入 do 循環(huán),設(shè)置 l 頁為可視頁,因而其上的圓便在屏幕上顯示出來,方塊的圖像消失,用 delay(2021)將圓圖像保持 2021 毫秒即 2 秒,當(dāng)不按鍵時(shí),下一次循環(huán)又將 0 頁設(shè)為可視頁,因而方塊的圖像顯示出來,圓圖像又消失。 cleardevice()。 /*設(shè)置 0 頁為編 輯頁 */ cleardevice()。 if(page0) page=1。 SetTimer(newtimer)。 int nNext。 第一個(gè)形狀和它的旋轉(zhuǎn)體在 arrayBlock 中的表示 □□□□ □□□□ □□□□ □□□□ □■□□ □□□□ □■■□ □□□□ □■□□ □□■□ □□■□ ■■■□ □■■□ ■■■□ □□■□ ■□□□ BLOCK arrayBlock[19]={ /*x1,y1,x2,y2,x3,y3,x4,y4, color, next,第一種形狀 */ { 0,2, 0,1, 0, 0, 1, 0, CYAN, 1}, /*第一種形狀,對(duì)應(yīng)圖 312 的第一個(gè) */ {1, 0, 0, 0, 1,1, 1, 0, CYAN, 2}, /*一種旋轉(zhuǎn)體,對(duì)應(yīng)圖 312 的第二個(gè) */ { 0,2, 1,2, 1,1, 1, 0, CYAN, 3}, /*另一種旋轉(zhuǎn)體,對(duì)應(yīng)圖 312 的第三個(gè) */ {1,1,1, 0, 0,1, 1,1, CYAN, 0}, /*第三種旋轉(zhuǎn)體,對(duì)應(yīng)圖 312 的第四個(gè) */ ……. }。 } 2. 界面設(shè)計(jì) 分為左右兩個(gè)部分: ? 左邊為游戲面板 ? 右邊有三個(gè)框 :下一形狀提示框、速度框和記分框 3. 重要數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 1)定義方塊形狀: 定義如下的結(jié)構(gòu)體來表示每一個(gè)形狀: 課程設(shè)計(jì)指導(dǎo)書 31 struct block{ int arrXY[8]。在處理過程中判斷游戲是否結(jié)束,如沒有結(jié)束,則重新開始游戲,否則結(jié)束游戲。/*顯示設(shè)定頁的圖像 */ delay(2021)。 /*畫圓 */ floodfill(130,270,4)。graphdriver,amp。 應(yīng)用實(shí)例: 首先設(shè)置 l頁為編輯頁,在上面畫出一個(gè)紅色邊框、用淡綠色填充的圓,此圖并不顯示出來 (因缺省時(shí),定義 0 頁為可視頁 )。 當(dāng)前顯示頁(可視頁):當(dāng)前顯示在屏幕上的頁面 當(dāng)前編輯頁(激活頁):正在由用戶編輯圖形的頁。i++) { putimage(255i,170,buffer,COPY_PUT)。 /* 分配緩沖區(qū) (按字節(jié)數(shù) ) */ getimage(69,169,131,231,buffer)。 cleardevice()。 這種方法較快,因它已事先將要重放的畫面畫好,之后要做的事就是計(jì)算應(yīng)在什么位置重放存放好的屏幕圖像了。 setcolor(5)。graphdriver,amp。 delay(8000)。 width=textwidth(str)。 line((xwidth)/2+10*(8i),y/2+i*15,(x+width)/210*(8i),y/2+i*15)。 outtextxy(x/2,y/2+i*10100,str)。 settextstyle(1,0,1)。 line(xi*25,100,x300i*25,100)。 } } void graphtwo(char *str) { int i。 line(150,y300i*15,190,y300i*15)。i40。 // 返回當(dāng)前圖形模式下的最大有效的 y 值 maxcolor=getmaxcolor()。 課程設(shè)計(jì)指導(dǎo)書 23 mode=0。 實(shí)例:實(shí)現(xiàn)三個(gè)簡單的動(dòng)畫畫面,這三個(gè)畫面不停地進(jìn)行切換。 課程設(shè)計(jì)指導(dǎo)書 22 outtextxy(60,40, s)。 setviewport(100,200,540,380,0)。 rectangle(0,0,560,400)。 initgraph(amp。其中參數(shù) (x, y)為封閉圖形中的任一點(diǎn), border 是封閉圖形的邊框顏色。 *my=ym。 cursor(xm,ym)。 switch (ch) { case 0: cursor(xx0,yy0)。 /*左鍵按下 */ if (mb==2) return 2。amp。 do { =3。 int86(51,amp。 =xmi。 */ int init(int xmi,int xma,int ymi,int yma) { int retcode。 y1=y3。amp。x,amp。 delay(5000)。 outtextxy(3,15,move mouse using any button.)。 int mode=VGAHI。 源代碼 include include include union REGS regs。 void far lio(int x, int y); 該函數(shù)將從現(xiàn)行畫筆位置到 (x, y)點(diǎn)畫一直線。 settextjustify(LEFT_TEXT,0)。 outtextxy(220,50,Triplex font)。graphdriver,amp。 其中 (x1, y1)為圖視口的左上角所在的原屏幕物理坐標(biāo), (x2, y2)為右下角 所在的原屏幕物理坐標(biāo)。 注意:所用系統(tǒng)的卡一定要支持所選用的顯示模式,否則將出錯(cuò)。 puttext(2,2,40,24, leftbuf)。 textcolor(4)。 } else if(turn == 1) /*切換到右窗口 */ { gettext(41,2,79,24, rightbuf)。0xff。 textcolor(15)。 cprintf(Press Esc to Quit)。 /*重繪右邊窗口 */ void draw_right_win()。使用 tab 鍵在左右兩個(gè)窗口中切換,每個(gè)窗口都有光標(biāo),活動(dòng)窗口光標(biāo)進(jìn)行閃爍。 /*把光標(biāo)移到窗口 (x,y)處 */ 2)屏幕操作 清屏函數(shù): void clrscr(void)。文本方式屏幕的最大分辨單位是單個(gè)字符,字符顯示的位置用行和列坐標(biāo)來表示。 } while(mousekey==i)。 struct SREGS s。 /* 設(shè)定光標(biāo) x坐標(biāo) */ =y。s); } /* 關(guān)閉鼠標(biāo)器光標(biāo) */ void cursorOff() { union REGS r; struct SREGS s; = 2。 二、 鼠標(biāo) 1.原理 DOS 操作系統(tǒng)和 Turbo C 。 =0。 /*參數(shù) cmd 用來確定函數(shù)如何操作 */ cmd=0 bioskey()返回按健的鍵值,該值是 2 個(gè)字節(jié)的整型數(shù)。例如,有一主程序名為 ,它包含頭文件 ,而另一文件是 ,它也包含頭文件 ,此時(shí) project 文件的內(nèi)容應(yīng)寫成如下形式: () () 這樣,一旦 被修改,則對(duì)該 project 文件進(jìn)行編譯時(shí), 及 將被重新編譯。它們可進(jìn)行單獨(dú)編譯,形成 .OBJ 文件。 ? 語句和表達(dá)式要清晰、易讀,如表達(dá)式 . 三、 輸入輸出風(fēng)格 ? 提高輸入操作的堅(jiān)固性,以適當(dāng)方式對(duì)輸入數(shù)據(jù)進(jìn)行檢驗(yàn),以確認(rèn)每個(gè)輸入數(shù)據(jù)的有效性;對(duì)無效數(shù)據(jù),也能給出必要的提示,而不導(dǎo)致死機(jī)。 ? 語句括號(hào)風(fēng)格 使用縮進(jìn)書寫格式,選擇統(tǒng)一的語句括號(hào)(花括號(hào))風(fēng)格,可以突出結(jié)構(gòu)的層次關(guān)系。 b = a – b。層次結(jié)構(gòu)要求與之適應(yīng)的自頂向下、逐步細(xì)化的程序設(shè)計(jì)方法。這就是程序設(shè)計(jì)的局部化準(zhǔn)則。解決這一問題的方法之一是使程序的一部分不過多地、過遠(yuǎn)的影響程序的其他部分。 實(shí)踐證明,系統(tǒng)部門間最有效的組織形式是層次結(jié)構(gòu)。 2. 數(shù)據(jù)風(fēng)格 1)數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)的使用要清晰,如要有限制地使用指針等 ; 2)采用必要的符號(hào)常量 ; 3. 算法風(fēng)格 1)算法要簡潔,明了, 少使用技巧; 如 a = a + b。特別要注意在下列地方使用注釋: ? 一個(gè)文件文件名 ; ? 程序或函數(shù)的功能 ; ? 變量的用途; ? 特殊數(shù) 據(jù)結(jié)構(gòu)的特點(diǎn)和實(shí)現(xiàn)方法; ? 特殊技巧; ? 任何容易誤解或別人不容易看得懂的地方。 ? 盡量避免復(fù)雜條件測試 。 課程設(shè)計(jì)指導(dǎo)書 3 第二節(jié) 多文件的程序 當(dāng)一個(gè)程序較大時(shí),可將一個(gè)程序分成幾個(gè)部分,每個(gè)部分可單獨(dú)成為一個(gè)源文件,這些文件通過全局變量或函數(shù)相聯(lián)系。這樣一旦頭文件 改變時(shí),這些源文件將被重新編譯。 掃描碼: 它不是 ASCII 碼;其 0~6 位標(biāo)識(shí)了每個(gè)鍵在鍵盤上的位置,最高位為 0 對(duì)應(yīng)該鍵是被按下; 1對(duì)應(yīng)松開;它并不能區(qū)別大小寫字母,而且一些特殊鍵不產(chǎn)生掃描碼直接引起中斷調(diào)用 2. 方法 方法一:直接使用聲明在 中的庫函數(shù) bioskey(); int bioskey ( int cmd )。它將按鍵的掃描碼存放在 AH 寄存器中; /* 讀鍵函數(shù),返回掃描碼 */ int getKeySCode() { union REGS rg。 若按了鍵盤,該函數(shù)返回值 1,否則返回值 0。r, amp。 /* 4 號(hào)鼠標(biāo)器功能 :設(shè)置鼠標(biāo)光標(biāo)位置 */ =x。 } /*報(bào)告鼠標(biāo)器當(dāng)前光標(biāo)位置和當(dāng)前按鍵狀態(tài) */ void mouseRead() { union REGS rl,r2。 /* 鼠標(biāo)器按健狀態(tài) */ } /*等待鼠標(biāo)器的某種狀態(tài) */ void wait(int i) { do
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1