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

正文內(nèi)容

c語言程序設(shè)計(jì)開放性實(shí)驗(yàn)指導(dǎo)手冊(cè)(編輯修改稿)

2024-07-22 06:24 本頁面
 

【文章內(nèi)容簡介】 lor(WHITE)。 rectangle(x,y,xx,yy)。 setfillstyle(SOLID_FILL,color)。 floodfill(x+1,y+1,WHITE)。 setcolor(WHITE)。 line(x,y,xx,y)。line(x,y,x,yy)。 setcolor(BLACK)。 line(xx,y,xx,yy)。line(x,yy,xx,yy)。 if(pi==i amp。amp。 pj==j){ setcolor(RED)。 rectangle(x+1,y+1,xx1,yy1)。 } mx = x+5。 my = y+5。 setcolor(LIGHTGRAY)。 switch(flag[i][j]){ case UNFLAG: outtextxy(mx,my, )。 break。 case FLAGED: outtextxy(mx,my,F)。 break。 case QUESTION: outtextxy(mx,my,?)。 break。 case EXPLOD: outtextxy(mx,my,*)。 break。 case OPEN: if(num[i][j]=1 amp。amp。 num[i][j]=8){ char buf[3]。 itoa(num[i][j],buf,10)。 outtextxy(mx,my,buf)。 } break。 }}/*繪制雷區(qū)*/void drawTable(){ int i,j。 for(i=0。iROW。i++) for(j=0。jCOL。j++) drawBlock(i,j)。}/*設(shè)置游戲等級(jí)*/void setGrade(){ int kk。 setcolor(WHITE)。 outtextxy(0,0,Please choice grade(J for Junior,M foe Medium,S for Senior):)。 kk = bioskey(0)。 kk = (kkamp。0xff)。 if(kk == 39。J39。 || kk == 39。j39。) { COL = 8。 ROW = 8。 } else if (kk == 39。M39。 || kk == 39。m39。) { COL = 16。 ROW = 16。 } else { COL = 24。 ROW = 24。 } return 0。}/*初始化游戲*/void newGame(){ cleardevice()。 setGrade()。 cleardevice()。 generateMine()。 pi = pj = 0。 drawTable()。}/*判斷游戲是否勝利*/int checkWin(){ int i,j。 for(i=0。iROW。i++){ for(j=0。jCOL。j++){ if(table[i][j] == 0 amp。amp。 flag[i][j] != OPEN) return 0。 } } return 1。}/*判斷游戲是否重新開始*/int confirm(int res){ char buffer[100]。 int kk。 if(res == 1) { strcpy(buffer,You win the game , play again (Y/N)?)。 } else if(res == 1){ strcpy(buffer,You lose the game ,play again (Y/N)?)。 } else { strcpy(buffer,Exit game ,play again (Y/N)?)。 } setcolor(WHITE)。 outtextxy(0,0,buffer)。 kk = bioskey(0)。 kk = (kkamp。0xff)。 if(kk == 39。Y39。 || kk == 39。y39。) return 0。 return 1。}/*光標(biāo)上移一格*/void moveUp(){ if(pi0){ pi。 drawBlock(pi,pj)。 drawBlock(pi+1,pj)。 }}/*光標(biāo)下移一格*/void moveDown(){ if(piROW1){ pi++。 drawBlock(pi,pj)。 drawBlock(pi1,pj)。 }}/*光標(biāo)左移一格*/void moveLeft(){ if(pj0){ pj。 drawBlock(pi,pj)。 drawBlock(pi,pj+1)。 }}/*光標(biāo)右移一格*/void moveRight(){ if(pjCOL1){ pj++。 drawBlock(pi,pj)。 drawBlock(pi,pj1)。 }}/*標(biāo)記有雷*/void flagBlock(int i,int j){ if(flag[i][j] == FLAGED){ flag[i][j] = UNFLAG。 } else if(flag[i][j] == UNFLAG){ flag[i][j] = FLAGED。 } drawBlock(i,j)。}/*標(biāo)記不確定*/void questBlock(int i,int j){ if(flag[i][j] == QUESTION){ flag[i][j] = UNFLAG。 } else { if(flag[i][j] == UNFLAG) flag[i][j] = QUESTION。 } drawBlock(i,j)。}/*挖雷*/int openMine(int i,int j){ int ii,jj,k。 if(flag[i][j] == OPEN) return 0。 if(table[i][j]){ /*meet a mine*/ for(ii=0。iiROW。ii++){ for(jj=0。jjCOL。jj++){ if(table[ii][jj] amp。amp。 flag[ii][jj] == UNFLAG){ flag[ii][jj] = EXPLOD。 drawBlock(ii,jj)。 } } } return 1。 /*游戲失敗*/ } else{ flag[i][j] = OPEN。 drawBlock(i,j)。 if(num[i][j]==0){ for(k=0。k8。k++){ int ni = i + di[k]。 int nj = j + dj[k]。 if(ni=0 amp。amp。 ni ROW amp。amp。 nj=0 amp。amp。 njCOL) openMine(ni,nj)。 } } return 0。 }}/*自動(dòng)挖開*/int autoOpen(int i,int j){ int k,c=0。 int ni,nj。 int ret=0。 if(! (flag[i][j] == OPEN)) return 0。 for(k=0。k8。k++){ ni = i + di[k]。 nj = j + dj[k]。 if(ni=0 amp。amp。 ni ROW amp。amp。 nj=0 amp。amp。 njCOL) if(flag[ni][nj] == FLAGED) c++。 } if(c == num[i][j]){ for(k=0。k8。k++){ int ni = i + di[k]。 int nj = j + dj[k]。 if(ni=0 amp。amp。 ni ROW amp。amp。 nj=0 amp。amp。 njCOL) if(flag[ni][nj] == UNFLAG){ if(openMine(ni,nj) == 1) ret = 1。 } } } return ret。}/*獲取按鍵信息,返回有效的操作值*/int getKey(void){ while(1){ int key=bioskey(0)。 switch(key){ case ENTER: case UP: case DOWN: case LEFT: case RIGHT: case ESC: case SPACE: case LOWERF: case UPPERF: case LOWERA: case UPPERA: case LOWERQ: case UPPERQ: return key。 } }}int main(){ int gameRes。 /*記錄游戲結(jié)束的結(jié)果狀態(tài):0表示退出游戲;1游戲失?。?1為勝利。*/ initGraph()。 /*初始化圖形顯示方式*/ do{ newGame()。 /*初始化新的游戲*/ gameRes=0。 do{ /*主循環(huán)處理按鍵信息*/ int key = getKey()。 /*讀入操作信息*/ if(key == ESC) break。 switch(key){ /*對(duì)其他有效操作的處理*/ case ENTER: case SPACE: gameRes = openMine(pi,pj)。break。 case UP: moveUp()。break。 case DOWN: moveDown()。break。 case LEFT: moveLeft()。break。 case RIGHT: moveRight()。break。 case LOWERF: case UPPERF: flagBlock(pi,pj)。break。 case LOWERA: case UPPERA: gameRes = autoOpen(pi,pj)。break。 case LOWERQ:case UPPERQ: questBlock(pi,pj)。break。 } if(checkWin()) gameRes = 1。 } while(!gameRes)。 } while (!confirm(gameRes)) 。 return 0。}程序運(yùn)行測(cè)試效果:圖3 掃雷游戲的界面 實(shí)驗(yàn)二: 貪吃蛇游戲第一部分 本次上機(jī)目標(biāo)在屏幕上畫出游戲區(qū)域,并在四周用“圍墻”圍好;在游戲區(qū)域內(nèi)隨機(jī)顯示食物;模擬畫出蛇并自動(dòng)朝某個(gè)方向運(yùn)動(dòng),在鍵盤按方向鍵來控制蛇的走向;蛇每吃中一個(gè)食物,其身長即増一;蛇頭碰到自身或者墻壁及為游戲結(jié)束,并顯示成績和游戲結(jié)束提示畫面;在游戲過程中按ESC鍵退出游戲。任務(wù)1:基本數(shù)據(jù)類型的創(chuàng)建和全局變量的設(shè)置int i,key。int score=0。/*得分*/int gamespeed=50000。/*游戲速度自己調(diào)整*/struct Food{ int x。/*食物的橫坐標(biāo)*/ int y。/*食物的縱坐標(biāo)*/ int yes。/*判斷是否要出現(xiàn)食物的變量*/}。/*食物的結(jié)構(gòu)體*/struct Snake{ int x[N]。 int y[N]。 int node。/*蛇的節(jié)數(shù)*/ int direction。/*蛇移動(dòng)方向*/ int life。/* 蛇的生命,0活著,1死亡*/}。任務(wù)2:主要模塊的分析與設(shè)計(jì) void GamePlay(void)。/*玩游戲具體過程*/任務(wù)3:輔助模塊的設(shè)計(jì)和主函數(shù) void Init(void)。/*圖形驅(qū)動(dòng)*/void Close(void)。/*圖形結(jié)束*/void DrawK(void)。/*開始畫面*/void Ga
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1