中國象棋C 程式如何防止走出棋盤

時間 2025-06-20 06:30:21

1樓:網友

防止數禪行組出界可以這樣:

用下面乙個函式判斷假設走後的行列情況:

bool inchessdesk(int r,int c)//r表示行,c表示列,10行9列。

if(r<0||c<0||r>10||c>9)return false;//出界。

return true;//沒出界。

界檔兄面出界可以判定介面座標是否出界。

bool infacedesk(int x,int y)//x表示橫座標,y表示縱座標,10行9列。

if(x<0||y<0||y>10*size||x>9*size)//size表示棋格仔的大小。

return false;//出界。

行襲襲return true;//沒出界。

2樓:匿名使用者

可以設定兩個棋盤嗎?就象軍旗進營一樣,跑累了,休息一下。

3樓:匿名使用者

走一步以後先判斷橫縱座標是否超界,超界的話則走棋無效。

4樓:網友

你好!你是說陣列走出棋盤還是介面走出棋盤?

5樓:匿名使用者

9][10] 自己檢查橫縱座標,不要下標越界。

6樓:匿名使用者

如果不防止呢?是不是可以開啟新地圖了。

有中國象棋c++的編寫程式的來

7樓:匿名使用者

棋盤先設定好,a:array[1..10][1..9] of mapstruct;

是個二維陣列,每個單元符全自定義的棋盤結構。

不要定義乙個棋字結構。

int stepjudge(int oldx,int oldy,int nowx,int nowy)

oldx,oldy 棋字原來位置 */

oldx,oldy 棋字新位置 */

判斷從原位置到新位置的合法性 */

case 14: case 15:/*genaral*/車。

case 3: case 4:/*minister*/象或相。

case 1: case 2:/*shi*/士或仕。

case 5: case 6: case 7: case 8: case 9: /soldier*/兵或卒。

if(oldy<5) if(nox!=0||noy!=1) return 0;

if(oldy>4) if(nox!=0||noy!=-1) return 0;

index=map[oldx][oldy].num;

if(chessid==green)

if(greenchess[0].y<3&&greenchess[index].y>4||greenchess[0].y>6&&greenchess[index].y<5)

greenchess[index].fixlevel=advanced_soldier_level;

if(chessid==red)

if(redchess[0].y<3&&redchess[index].y>4||redchess[0].y>6&&redchess[index].y<5)

redchess[index].fixlevel=advanced_soldier_level;//兵過河後等級值加1

break;

if(chessid==map[nowx][nowy].id) return 2;

else return 1;

6、棋盤控制(broad)c++ (高手必看)

8樓:網友

make的返回值是int型但是計算的資料全是long long。。其他的子程式也是。。。

如何用c++程式設計實現輸出西洋棋棋盤

9樓:網友

用gdi畫乙個矩形就可以了。

10樓:滄濟先生

畫矩形 唄 兩重迴圈 隔乙個畫白 隔乙個畫黑 。

當我能夠獨立的用c++開發出中國象棋這樣的程式時,我處於程式設計師的哪個檔次??

11樓:天天快樂_你

你現在需要的不是證明自己計算機有多強。而是要認識到你到低學會了什麼!到底學到了什麼乙個深度!懂嗎!作事情急時對的,但是也要冷靜下來想想!

告訴你程式設計師的能力不是什麼證書可以證明,而是別人出一道題目。你可以用**寫出來並且從時間和空間上都可以滿足。懂嗎?

12樓:網友

乙個程式設計師的能力,要看你從什麼角度看,如果是從公司的角度看,能為公司創造價值,能完成交付的任務,並能與其它人相處融洽的就是乙個很成功的程式設計師;如果僅從個人的能力來看,能夠獨立的用c++開發出中國象棋這樣的程式時,說明你已經具備很好的程式編寫技能和設計技能。但是乙個"程式設計師的能力"不是說通過能開發乙個什麼樣的程式就可以體現的。

現在的社會不講究個人能力,而更強調合作能力``

13樓:網友

已經能獨立開發了?那我不是沒希望了。

用c++程式設計:馬步遍歷問題:已知西洋棋棋盤有8×8共64個格仔。設計乙個程式,使棋子從某位置開始

14樓:緣明思

不要做個伸手黨。思路如下:

二維陣列表示棋盤(0,0)~(7,7)。馬的下一跳範圍。丨x1-x2丨+丨y1-y2丨=3且x1≠x2,y1≠y2,x,y均在棋盤上。

演算法可以用任意一種回溯演算法。

關於中國象棋棋規問題,關於中國象棋一個棋規問題 20

鄒昌浩 紅方 因為黑炮無根,雖是必攔,仍視為捉,捉 抽 將 殺統稱 打 黑方 兩步均是要殺,也是 打 並且雙方的著法構成迴圈,如果雙方都不願變招,裁判可以直接判和。若沒有構成迴圈,則不能判和。比如炮平5路,再平2路,再平5路,再平1路。則不能判和。 雲寶彩虹教師 中國象棋棋規,紅長捉,黑長殺,雙方都...

所有棋的規則,中國象棋規則

輛坦騾獅棋 棋盤 開局 佈局 兵種分類如圖 1 丁勇基本規則同象棋的兵卒,但開局即可橫行。2 獅 走田和用字斜對角,走田不能吃子,用字可走可吃,起步斜一格有棋時,該方向三個點位受阻。3 騾 走日和目字斜對角,蹩腿同象棋的馬,走日不能吃子,目字可走可吃。4 坦 橫豎斜一至三格只走,橫豎斜隔一子打吃橫豎...

中國象棋如何計分,中國象棋正規比賽是怎麼計時的?

根據最新2011象棋規則 第13,14條 第13條 成績計算 13.1 每局棋結果,勝者2分,負者0分,和棋各記1 分。13.2 團體賽記分,分別記 場分 團體分 和 局分 個人分 每場棋結果,局分多者為勝,場分記2分 局分少者為負,場分記0分 局分相等者為平,場分各記1分。13.3 可根據比賽需要...