c语言五子棋卡死,五子棋程序出错了
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
#include #include #include #include #define MAXIMUS 15 //定義棋盤大小int p[MAXIMUS][MAXIMUS];//存儲對局信息char buff[MAXIMUS*2+1][MAXIMUS*4+3];//輸出緩沖器int Cx,Cy;//當前光標位置int Now;//當前走子的玩家,1代表黑,2代表白int wl,wp;//當前寫入緩沖器的列數和行數位置char* showText;//在棋盤中央顯示的文字信息int count;//回合數char* Copy(char* strDest,const char* strSrc)//修改過的字符串復制函數,會忽略末端的\0{char* strDestCopy = strDest;while (*strSrc!='\0'){*strDest++=*strSrc++;}return strDestCopy;}void Initialize()//初始化一個對局函數{int i,j;//循環變量showText="";//重置顯示信息count=0;//回合數歸零for(i=0;i0&&p[Cx][Cy-i]==Now)w++;else break;//向上檢查if(w>=5)return Now;//若果達到5個則判斷當前走子玩家為贏家for(i=1;i<5;i++)if(Cx+i0&&p[Cx-i][Cy]==Now)x++;else break;//向左檢查if(x>=5)return Now;//若果達到5個則判斷當前走子玩家為贏家for(i=1;i<5;i++)if(Cx+i0&&Cy-i>0&&p[Cx-i][Cy-i]==Now)y++;else break;//向左上檢查if(y>=5)return Now;//若果達到5個則判斷當前走子玩家為贏家for(i=1;i<5;i++)if(Cx+i0&&p[Cx+i][Cy-i]==Now)z++;else break;//向右上檢查for(i=1;i<5;i++)if(Cx-i>0&&Cy+i=5)return Now;//若果達到5個則判斷當前走子玩家為贏家return 0;//若沒有檢查到五連珠,則返回0表示還沒有玩家達成勝利}int RunGame()//進行整個對局,返回贏家信息(雖然有用上){int input;//輸入變量int victor;//贏家信息Initialize();//初始化對局while(1){//開始無限回合的死循環,直到出現勝利跳出Print();//打印棋盤input=getch();//等待鍵盤按下一個字符if(input==27)//如果是ESC則退出程序{exit(0);}else if(input==0x20)//如果是空格則開始走子{if(Put())//如果走子成功則判斷勝負{victor=Check();Now=3-Now;//輪換當前走子玩家count++;if(victor==1)//如果黑方達到勝利,顯示提示文字并等待一次按鍵,返回勝利信息{showText="黑方獲得了勝利!";Print();if(getch()==0xE0){getch();}return Now;}else if(victor==2)//如果白方達到勝利,顯示提示文字并等待一次按鍵,返回勝利信息{showText="白方獲得了勝利!";Display();if(getch()==0xE0){getch();}return Now;}else if(count==MAXIMUS*MAXIMUS)//如果回合數達到了棋盤總量,即棋盤充滿,即為平局{showText="平局!";Display();if(getch()==0xE0){getch();}return 0;}}}else if(input==0xE0)//如果按下的是方向鍵,會填充兩次輸入,第一次為0xE0表示按下的是控制鍵{input=getch();//獲得第二次輸入信息switch(input)//判斷方向鍵方向并移動光標位置{case 0x4B://Cx--;break;case 0x48:Cy--;break;case 0x4D:Cx++;break;case 0x50:Cy++;break;}if(Cx<0)Cx=MAXIMUS-1;//如果光標位置越界則移動到對側if(Cy<0)Cy=MAXIMUS-1;if(Cx>MAXIMUS-1)Cx=0;if(Cy>MAXIMUS-1)Cy=0;}}}int main()//主函數{system("title 五子棋 ");//設置標題system("mode con cols=63 lines=32");//設置窗口大小//system("color E0");//設置顏色while(1){//循環執行游戲RunGame();}}
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的c语言五子棋卡死,五子棋程序出错了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修复20年前的PC电脑音箱,采用了防磁喇
- 下一篇: 苹果发布 iOS / iPadOS 17