求用C語言程式設計實現一個國際象棋 馬怎麼走的問題

時間 2023-02-23 02:55:09

1樓:匿名使用者

(1)對馬走的方法可以設定一個順序,如當前位置在棋盤的(i,j)方格,下一個可能的位置依次為(i+2,j+1),(i+1,j+2),(i-1,j+2),(i-2,j+1),(i-2,j-1),(i-1,j-2),(i+1,j-2),(i+2,j-1),實際可以走的位置很明顯僅僅限於還未走過的和不越出邊界的那些位置。

(2)這裡我們定義馬在一步內實際可以走的位置數為馬在當前位置的出口數,此外,為便於程式的統一處理,這裡引入兩個陣列「行變化陣列」和 「列變化陣列」,分別儲存8種可能走法對馬當前所在位置的橫縱座標的增量。

(3)本題用貪心法策略求解。 當馬處於某一位置時,其選擇下一位置的準則為:從馬當前位置所允許走的位置中,選擇出口數最少的哪個位置。

如馬的當前位置只有3個出口,它們的出口數分別為4,2,3,則程式就選擇出口數為2的那個出口。 演算法簡單描述,馬從棋盤第一行第一列位置開始出發;預設著法選擇順序控制變數「方法編號」為1;

上述演算法在整個找解的過程一直向前,所以能非常快地找到解。但是對於某些開始位置,實際上有解可程式第一次找不到解,則程式只要變換8中可能出口的順序,就能找到解。考慮到這種變換8種方法的情況,程式引用「方法編號「用於控制8種可能走法的順序。

開始為1時不能找到解,就讓"方法編號"加1,重新找解。

2樓:匿名使用者

我覺得這裡用類似於八皇后問題的回溯法應該能夠解決的。

求國際象棋小遊戲,求一個國際象棋小遊戲

我為空軌狂 中世紀國際象棋 王 後都可以施魔法,有很多個背景可以選擇 這是一款3d立體幻想國際象棋。請引導你的軍隊從這裡走向勝利!帶領勇敢的騎士,國王和皇后對抗 的巫師,妖精和骷髏士兵。遊戲的戰場從遠古的寺廟,到黑暗的森林和死亡墓地。遊戲評測 畫 面 古典風格戰爭畫面和全3d的遊戲場景讓這款國際象棋...

c語言程式設計求輸入,c語言程式設計 求輸入一個0 99的整數,判斷其是否為同構數,要求寫了程式還要有中文解釋其核心語句的作

思路 同構數是會出現在它的平方的右邊的數。具體見 include int main return 0 執行結果 15 62576 include stdio.h int main int argc,char argv 執行結果 include stdio.h int main int n,i,j,a...

C語言程式設計,求用分治法實現大整數乘法

憶蕭 這個東西我給你提個思路吧 1,使用化解法 利用數學函式將 比較大的數化解為比較小的數 2,使用字串來模擬大樹的加減乘除運算 1,先把你的數字轉換成字串,然後用如下方法 字串整數r 字串整數a 字串整數bchar s mul sss char a,char b,char r 很大的數,只能用字串...