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

正文內(nèi)容

c語言課程設(shè)計(jì)指導(dǎo)書(參考版)

2025-03-07 16:42本頁面
  

【正文】 第一個(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è) */ ……. }。 所有的 7種形狀和它們的旋轉(zhuǎn)體(共 19 個(gè))可保存在一個(gè)全局?jǐn)?shù)組 arrayBlock 中。 可用 4*4的格子顯示 7種形狀 ,并用 4 個(gè)數(shù)對(duì)來表示 : arrXY [0]、 arrXY [1]表示第一個(gè)數(shù)對(duì), arrXY [2]、 arrXY [3]表示第二個(gè)數(shù)對(duì) … 。 int nNext。 } 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]。 } KillTimer()。 ProcessInGame()。 SetTimer(newtimer)。在處理過程中判斷游戲是否結(jié)束,如沒有結(jié)束,則重新開始游戲,否則結(jié)束游戲。 } ? 文件技術(shù) 見譚浩強(qiáng)《 C程序設(shè)計(jì)》書 P330 注 :以上程序源代碼 /C 程序源代碼 課程設(shè)計(jì)指導(dǎo)書 29 第二章 課程設(shè)計(jì)報(bào)告模板及評(píng)分標(biāo)準(zhǔn) 課程設(shè)計(jì)報(bào)告模板: 一、問題描述 二、功能分析 三、程序設(shè)計(jì) 1.程序總體結(jié)構(gòu) 2.界面設(shè)計(jì) 3.重要數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 4.函數(shù)設(shè)計(jì) 5.源代碼 四、程序設(shè)計(jì)難點(diǎn)及其解決方法 五、不足之處 六、人員分工說明 實(shí)例:俄羅斯方塊 一、問題描述: 要求支持鍵盤操作和 7 種不同類型方塊的旋轉(zhuǎn)變換,并且界面上顯示下一個(gè)方塊的提示以及當(dāng)前的玩家得分 二、功能分析: 俄羅斯方塊游戲需要解決的問題包括: ( 1)整個(gè)游戲界面的圖形顯示; ( 2)各種方塊形狀的表示; ( 3)如何控制方塊的移動(dòng)、旋轉(zhuǎn)和下落速度; ( 4)如何判斷方塊是否到底; ( 5)如何判斷一行是否填滿以及如何消去填滿的行; ( 6)如何判斷游戲的結(jié)束及如何終止游戲; ( 7)游戲難度的設(shè)計(jì)和得分規(guī)則 重點(diǎn) : ? 游戲面板的數(shù)據(jù)結(jié)構(gòu) :二維數(shù)組 ? 7 種形狀方塊的數(shù)據(jù)結(jié)構(gòu) :結(jié)構(gòu)體保存每種形狀方塊的坐標(biāo)、顏色 三、程序設(shè)計(jì): 1. 程序總體結(jié)構(gòu):首先初始化進(jìn)入圖形模式,然后設(shè)置新的時(shí)鐘中斷。 getch()。 if(page0) page=1。/*顯示設(shè)定頁的圖像 */ delay(2021)。 /*設(shè)置 0 頁為可視頁 */ page=1。 bar(100,210,160,270)。 /*設(shè)置 0 頁為編 輯頁 */ cleardevice()。 /*畫圓 */ floodfill(130,270,4)。 setfillstyle(1,10)。 /*設(shè)置 l 頁為編輯頁 */ setbkcolor(BLUE)。 cleardevice()。graphdriver,amp。 課程設(shè)計(jì)指導(dǎo)書 28 graphdriver=DETECT。這樣我們就會(huì)看到:屏幕上同一位置洋紅色圓和淡綠色方塊交替出現(xiàn),若將 delay 時(shí)間變少,將會(huì)出現(xiàn)動(dòng)畫的效果。接著進(jìn)入 do 循環(huán),設(shè)置 l 頁為可視頁,因而其上的圓便在屏幕上顯示出來,方塊的圖像消失,用 delay(2021)將圓圖像保持 2021 毫秒即 2 秒,當(dāng)不按鍵時(shí),下一次循環(huán)又將 0 頁設(shè)為可視頁,因而方塊的圖像顯示出來,圓圖像又消失。 應(yīng)用實(shí)例: 首先設(shè)置 l頁為編輯頁,在上面畫出一個(gè)紅色邊框、用淡綠色填充的圓,此圖并不顯示出來 (因缺省時(shí),定義 0 頁為可視頁 )。前者設(shè)置由 pagenum 指出的頁為激活的頁,后者設(shè)置可顯示的頁。 void far setvisualpage(int pagenum)。 缺省時(shí),設(shè)定 0 頁為當(dāng)前編輯頁,又為當(dāng)前顯示頁。 當(dāng)前顯示頁(可視頁):當(dāng)前顯示在屏幕上的頁面 當(dāng)前編輯頁(激活頁):正在由用戶編輯圖形的頁。通過設(shè)置顯示頁函數(shù) ,激活不同顯示頁實(shí)現(xiàn)動(dòng)畫效果。 closegraph()。 /*右邊球向右運(yùn)動(dòng) */ } }while (!kbhit())。i++) { putimage(255i,170,buffer,COPY_PUT)。 /*右邊球向左運(yùn)動(dòng) */ }/*兩球相撞后循環(huán)停止 */ for(i=0。i++) 課程設(shè)計(jì)指導(dǎo)書 27 { putimage(70+i,170,buffer,COPY_PUT)。/* 重新復(fù)制 */ do{ for(i=0。 /* 分配緩沖區(qū) (按字節(jié)數(shù) ) */ getimage(69,169,131,231,buffer)。 /* 填充圓 */ size=imagesize(69,169,131,231)。 circle(100,200,30)。 setlinestyle(0,0,1)。 cleardevice()。graphmode,)。 initgraph(amp。 void *buffer。 這種方法較快,因它已事先將要重放的畫面畫好,之后要做的事就是計(jì)算應(yīng)在什么位置重放存放好的屏幕圖像了。 } 采用上面的兩種方法對(duì)較復(fù)雜圖形不宜: 1.畫圖形要占較長時(shí)間, 2.圖視口位置切換的時(shí)間就 變得較長,因而動(dòng)畫效果就會(huì)變差。 delay(250000)。 floodfill(70,130,5)。 setcolor(5)。 } closegraph()。i++) { setfillstyle(1,i)。 for(i=0。graphdriver,amp。 graphdriver=DETECT。程序中定義的 movebar 函數(shù)作用是開辟一個(gè)圖視窗口,并畫一個(gè)填色的立方體,保留一陣( delay(250000))然后清除它,主程序不斷調(diào)用它,因每次頂點(diǎn) x坐標(biāo)在增加,因而效果是立方體沿 x軸從左向右在運(yùn)動(dòng)。 2) 也就是,在位置動(dòng)態(tài)變化,但大小不變的圖視口中 (用 setviewpot()函數(shù) ),設(shè)置固定圖形 (也可是微小變化的圖像 ),這樣雖呈現(xiàn)在觀察者面前的是當(dāng)前圖視口位置在動(dòng)態(tài)變化 ,但視覺上卻象是看到圖像在屏幕上動(dòng)態(tài)變化一樣。 delay(8000)。 line((xwidth)/2+5*(8i),y/2+i*1510,(x+width)/25*(8i),y/2+i*1510)。 line((xwidth)/2,y/2+i*1550,(x+width)/2,y/2+i*1550)。 line((xwidth)/2+10*(8i),y/2+i*1570,(x+width)/210*(8i),y/2+i*1570)。 width=textwidth(str)。 outtextxy(x/2,y/2i*10100,str)。i) // 字符串由大變小 { cleardevice()。 } for(i=7。 line((xwidth)/2+10*(8i),y/2+i*15,(x+width)/210*(8i),y/2+i*15)。 line((xwidth)/2,y/2+i*1520,(x+width)/2,y/2+i*1520)。 line((xwidth)/2+5*(8i),y/2+i*1560,(x+width)/25*(8i),y/2+i*1560)。 // 得到當(dāng)前字符串寬度 setlinestyle(0,0,1)。 outtextxy(x/2,y/2+i*10100,str)。 // 清屏 settextstyle(1,0,i)。i8。 // 顯示字符串 delay(8000)。 settextstyle(1,0,1)。 color=random(maxcolor)。 delay(5000)。 outtextxy(150,i*25,str)。 line(xi*25,100,x300i*25,100)。 line(i*25,y100,300+i*25,y100)。 cleardevice()。i30。 } } void graphtwo(char *str) { int i。 outtextxy(xi*25,y150,str)。 line(x130,250+i*15,x170,250+i*15)。 line(x170,i*1550,x170,250+i*15)。 line(150,y300i*15,190,y300i*15)。 line(170,yi*1550,170,y350i*15)。 cleardevice()。 settextstyle(1,0,4)。i40。 // 關(guān)閉圖形模式 } void graphone(char *str) { int i。 // 第三個(gè)動(dòng)畫 } getch()。 // 第一個(gè)動(dòng)畫 graphtwo(str)。 // 返回當(dāng)前圖形模式下的最大有效的 y 值 maxcolor=getmaxcolor()。 // 設(shè)置 字符串的定位模式 x=getmaxx()。 //系統(tǒng)初始化 cleardevice()。driver,amp。 課程設(shè)計(jì)指導(dǎo)書 23 mode=0。 char *str=W E L C O M E !。 /*這個(gè)函數(shù)實(shí)現(xiàn)的是字符串 str上下運(yùn)動(dòng),線條左右運(yùn)動(dòng) */ void graphthree(char *str)。 void graphone(char *str)。 實(shí)例:實(shí)現(xiàn)三個(gè)簡單的動(dòng)畫畫面,這三個(gè)畫面不停地進(jìn)行切換。 } 程序輸出 ? 動(dòng)畫技術(shù) 在實(shí)際應(yīng)用中,經(jīng)常會(huì)遇到要求產(chǎn)生動(dòng)態(tài)畫面的情況 電影或動(dòng)畫片是由一張張圖像組成的,利用人眼不能夠分辨出時(shí)間間隔在 25 毫秒內(nèi)的動(dòng)態(tài)圖像變化這一特性,當(dāng)這些連續(xù)圖像被放映時(shí),從視覺效果上給人以動(dòng)的感覺。 getch()。 settextstyle(4,0,3)。 課程設(shè)計(jì)指導(dǎo)書 22 outtextxy(60,40, s)。 /*用深藍(lán)色填充 */ sprintf(s,“Let?s study Turbo C”)。 settextstyle(2,0,9)。 setfillstyle(1,12)。 setviewport(100,200,540,380,0)。 settextstyle(1,0,6)。 floodfill(2l,300,14)。 /*用綠色填充矩形框 */ rectangle(20,20,540,380)。 rectangle(0,0,560,400)。 /*開圖視口 */ setfillst
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1