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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-五子棋[★](更新版)

2024-10-17 23:21上一頁面

下一頁面
  

【正文】 e{pre=now。//結(jié)點指針域 }PLOYList。 || c==39。}while( || )。continue。第7頁 山東科技大學(xué)學(xué)生課程設(shè)計do {printf(“**********迷宮求解**********n”)。Push(S,e)。}else{curpos=NextPos(curpos,1)。=curstep。maze,PostType start,PostType end)//若迷宮從入口start到end的通道則求得一條存放在棧中 { Stack S。iprintf(“%4d”,i)。}//NextposStatus MarkPrint(MazeType amp。case 2 : +=1。maze,PostType curpos){ //若走過并且可通返回TRUE,否則返回FALSE //在返回之前銷毀棧S[][]=39。n)。while(m!=0){if(m || n)//越界第4頁 山東科技大學(xué)學(xué)生課程設(shè)計exit(ERROR)。ifor(j=1。[+1][i]=39。maze){ //初始化迷宮若成功返回TRUE,否則返回FALSEint m,n,i,j,k=1。39。S)//銷毀棧 { free()。} *++=e。return OK。//棧頂指針int stacksize。int c。二、概要設(shè)計:抽象數(shù)據(jù)類型線性表的定義如下: ⒈ 設(shè)計棧的抽象數(shù)據(jù)類型定義:ADT Stack { 數(shù)據(jù)對象:D={ai:|ai∈PositionSet,i=1?n,n≥0} 數(shù)據(jù)關(guān)系:R1={|ai1,ai∈d,i=2,?n} 基本操作:的初始化S GetTop(S,amp。){system(“cls”)。Loop ://system(“color 2f”)。y39。++。if(= 256){Gotoxy(11,65)。if(Count== ){Flag= 1。amp。amp。amp。if(Legal(i1)amp。}}}// 以X正軸為參考軸if(!Flag){Count= 1。amp。}if(LastCount== Count)break。Legal(i)|| Legal(k)。D39。|| Opreat[0]== 39。s39。 Opreat[1]== 72|| Opreat[0]== 39。Gotoxy(9, 65)。[Move_X][Move_Y]= Ply。Move_Y))return false。printf(“按空格或回車”)。Gotoxy(3, 65)。printf(“”)。Temp_Y)。}bool Retract(int *X, int *Y){int Temp_X, Temp_Y, TTop, FillType。}else if(X== 16){if(Y== 1)return 6。Temp_Y)。elseprintf(“━”)。else if(j== MAX)printf(“┛n”)。*Y=(_Y1)* 4。memset(, 0, sizeof())。[3]=“┣”。= 0。Mode)。printf(“nntttttt1 對應(yīng) 玩家一對應(yīng) 玩家二n”)。scanf(“%s”, [1])。printf(“ Y Orz Nn”)。for(int i= 0。= x。struct {int Status[MAX/2+2][MAX/2+2]。六、附錄include include include include include include include define MAX 31 define STA_1 1 define STA_2 2 define STA_0 0HANDLE hConsole= GetStdHandle(STD_OUTPUT_HANDLE)。Gotoxy(9, 65)。Temp_X, amp。elsereturn 4。代碼如下:int GetFillType(int X, int Y){if(X== 1){if(Y== 1)return 0。 [i2][j2]== Ply){Count++。amp。for(int i1= X1, j1= Y+ 1, i2= X+ 1, j2= Y1。Temp_Y)。amp。amp。SetConsoleCursorPosition(hConsole, coord)。聲明全局變量是為了使得各函數(shù)能夠更方便地使用到這個結(jié)構(gòu)體,現(xiàn)假設(shè)某點的坐標(biāo)為(1, 1),那么如何在屏幕上打印這個點呢?這就利用到了ChangeCoordinates()與gotoxy()函數(shù),前者使坐標(biāo)進(jìn)行轉(zhuǎn)換,后者讓光標(biāo)走到所指的那個點,其實主要還是因為類似“┣、╋、●、○”在橫向上所占都是兩個英文字母的距離,因此在控制臺上反映的就是和數(shù)組下標(biāo)倍數(shù)關(guān)系了。// 換行對應(yīng)的 ASCII 碼值為十進(jìn)制的 10 } 二維數(shù)組與控制臺二維數(shù)組是用來使得整個棋盤的信息全部記錄下來,因此在結(jié)構(gòu)體中二維數(shù)組的聲明是最關(guān)鍵的。 Mirs Chen” }。 Play函數(shù)..................................................................................................錯誤!未定義書簽。MFC不會?沒關(guān)系,我們就用基于控制臺的字符輸出來構(gòu)建這個棋局吧,當(dāng)然這只是第一步,詳細(xì)如下: 1擁有一個良好的進(jìn)入界面,以及必要的選項; ○2擁有一個二維的數(shù)組來記錄和更新實時的狀態(tài),并且能夠有一種方法在DOS界面下繪制○出整個棋局的實時狀態(tài)(包括棋盤和棋子);3能夠通過鍵盤上的按鍵完成所選位置的移動和選定操作; ○4能夠在每一次的走棋后判定是否游戲結(jié)束(棋盤走滿或者是一方勝出); ○5能夠完成悔棋的功能,并保證這之間的棋局繪圖能夠與二維數(shù)組數(shù)據(jù)同步,做到真正意○義上的悔棋。for(int i= 0。int Step。*Y=(_Y1)* 4。后面在使玩家一和玩家二分離操作,玩家一則是利用 W、S、A、D + space來操作,玩家二則是 上下左右+ enter。[TTop][0]= Move_X。|| Opreat[0]== 39。當(dāng)滿足五子時游戲結(jié)束。 Legal(j1)|| Legal(i2)amp。 [i1][j1]== Ply){Count++。return true。}else if(X== 16){if(Y== 1)return 6。*X= [TTop][0]。printf(“%s”, [FillType])。} }三、調(diào)試運(yùn)行 進(jìn)入界面 棋盤的初始狀態(tài) 激戰(zhàn)中…… 游戲結(jié)束四、解決問題的關(guān)鍵這個五子棋的程序并沒有什么復(fù)雜的算法,只是利用了簡單的圖知識和一個棧的應(yīng)用,在這里主要的關(guān)鍵問題就是如何將程序有條理的寫下來,有一個好的邏輯思維。cursor_info)。char Graph[3][3]。}void Logo(){char Wel[30]= { “Made By Lyushamp。Sleep(200)。if(Request== 39。printf(“玩家二的 DIY 棋子”)。|| Request== 39。 Mode!= 2)return Mode% 2+ 1。// 棧的0號位存儲初始化的棋盤位置[TTop][1]= 8。[6]=“┗”。}bool Currect(int X, int Y){if(Legal(X)amp。j{if(i== 1){if(j== 1)printf(“┏”)。}else{if(j== 1){if(i% 2)printf(“┣”)。}}}}}// 畫棋子for(int i= 1。}else if([i][j]== 2){Gotoxy(Temp_X, Temp_Y)。}else{if(Y== 1)return 3。*Y= [TTop][1]。return true。int Temp_X, Temp_Y。printf(“通過w s a d”)。Temp_Y)。}}else{if(Opreat[0]== 13amp。printf(“%s”, Graph)。continue。W39。){if(Currect(Move_X+ 1, Move_Y)){Move_X+= 1。}}else if(Opreat[0]==32amp。Temp_X, amp。amp。}}// 左右查找是否滿足條件if(!Flag){Count= 1。amp。amp。amp。if(Count== ){Flag= 1。 Legal(j2)。amp。}void Play(int Fir){system(“cls”)。if(Win(CurPly, [TTop][0], [TTop][1])){Gotoxy(11, 65)。}} }char Reset(){char Decide。n”)。Play(Login())。return 0。S,e)返回其值 }ADT Stack;⒉ 迷宮的抽象數(shù)據(jù)類型定義: ADT Maze{ 數(shù)據(jù)對象:D:={aij,Start,end|aij,Start,end∈{} 0≤i≤m+2,0≤j≤n+2,m,n≥0}數(shù)據(jù)關(guān)系:R={} Row={|ai1,aij∈D i=1,?,m+2,j=1,?,n+2}第1頁操作結(jié)果構(gòu)造一個空棧,完成棧用e返回棧S的棧頂元將新的元素e壓入棧頂 刪除棧頂元素,并用eInitStack(amp。//通道塊在路徑上的序號PostType seat。S)//初始化棧 { =(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType))。}//StackEmptyStatus Push(Stack amp。S,SElemType amp。}//DestroyStack// define MAXLEN 20//迷宮包括外墻最大行列數(shù)目 typedef struct{int r。39。,amp。i[i][0]=39。//初始化迷宮printf(“輸入障礙物%d的坐標(biāo)(以坐標(biāo)(0,0)結(jié)束輸入): ”,k)。//迷宮障礙用39。}//InitMazeStatus Pass(MazeType maze,PostType curpos){ //當(dāng)前位置可通則返回TURE,否則返回FALSEif([][]==39。}//FootPrintPostType NextPos(PostType amp。break。//“”表示曾走過但不通return OK。iprintf(“%d”,i)。SElemType e。Push(S,e)。//提取前一位置while(==4 amp。if(!DestroyStack(S))exit(ERROR)。}do{printf(“n請輸入入口的坐標(biāo):”)。//輸入出口的坐標(biāo)scanf(“%d%d”,amp。//輸出迷宮printf(“是否要繼續(xù)?(y/n):”)。}。pre=head。prenext=input。float x。//創(chuàng)建新鏈節(jié)inputcoef=x。}PLOYList *add(PLOYList *head,PLOYList *pre)//多項式相加,head為第一個多項式建立的鏈表表頭,pre為第二個多項式建立的鏈表表頭 {PLOYList *input。insert(head,input)。//將第二個多項式里的數(shù)變?yōu)槠湎喾磾?shù),再用和加法一樣的方法實現(xiàn)減法inputexpn=preexpn。//新創(chuàng)建一個結(jié)點,當(dāng)做表頭hf next = NULL。//指數(shù)相加pf next = NULL。} return head。funnext!=printing)printf(“+”)。} printf(“n”)。printf(“ * *n”)。}int main(){ PLOYList *f,*g,*pf,*hf,*p。f=creat(39。)。}case 2://多項式相減{printf(” 你選擇的操作是多項式相減:n“)。g=creat(39。”)。)。print(g)。printf(“請輸入一個一元多項式:”)。f=der(f)。首先要定義一個結(jié)構(gòu)體,其中定義一元多項式的兩個參數(shù),系數(shù)和指數(shù)和鏈表中的指針域,然后一一羅列每個在主程序中得到的函數(shù),并一一實現(xiàn),最后在主程序中主要完成用戶的輸入和相關(guān)程序的調(diào)用。printf(“************************************n”)。pre=head。prenext=inpt。float x。while(x!=0){inpt=(Ployn *)malloc(sizeof(Ployn))。y)。inptexpn=preexpn。inpt=(Ployn *)malloc(sizeof(Ployn))。res=(Ployn *)malloc(sizeof(Ployn))。//當(dāng)現(xiàn)在指向空時跳出循環(huán)continue。}void print(Ployn *fun)//輸出多項式{Ployn *printing。//為正數(shù)且不為第一項時打印“+”號if(printingcoef==1)。}printf(“n”)。f=creat(39。//輸入多項式g(x)printf(“g(x)=”)。}case 2:{
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1