俄羅斯跳棋 - 走法:
盤面開局32個棋子,中間為空;走子時隔一子對稱跳,被隔棋子被吃掉。誰能走成最後剩下一子的局面,即為贏。.我是從一個朋友得知俄羅斯跳棋的。總是贏不了,最後只能靠計算機幫忙了。可以自我安慰的是,周圍的人還沒有一個只靠自己就能贏的。不算丟臉,呵呵。
很明顯這個問題類似八皇后問題,用遞歸解比較簡潔。解答程式主要部分為Russia()函式,Next()是用作尋找下一步的函式。
]={-10,-10,1,1,1,-10,-10,-10,-10,1,1,1,-10,-10,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,-10,-10,1,1,1,-10,-10,-10,-10,1,1,1,-10,-10};//為1處即棋盤intstep[4][31];//記錄每一步:xydelta(x)delta(y)intdelta[2];//臨時數組記錄delta(x)delta(y)共有四個方向
俄羅斯跳棋-遊戲規則
彈珠跳棋遊戲“相鄰跳”:棋子的移動可以一步步在有直線連線的相鄰六個方向進行,如果相鄰位置上有任何方的一個棋子,該位置直線方向下一個位置是空的,則可以直接跳到該空位上,跳的過程中,只要相同條件滿足就可以連續進行。
“等距跳”:棋子的移動可以一步步在有直線連線的相鄰六個方向進行,如果在和同一直線上的任意一個空位所構成的線段中,只有一個並且位於該線段中間的任何方的棋子,則可以直接跳到那個空位上,跳的過程中,只要相同條件滿足就可以連續進行。
一局跳棋,可以分為開局、中盤、收官(借用圍棋術語)三個階段。開局一般指的是從雙方棋子的出動到子的初步相互接觸為止的過程,一般在10步棋以內;中盤是指雙方的子力糾纏在一起,爭奪出路,同時又給對方設定障礙的階段;收官則是雙方的棋子基本分開,各自按自己的方式儘快進入對面的陣地。當然,這三個階段不是截然分開的,就象一場短跑比賽中起跑、中途跑、衝刺,要求起跑不能落後,中途跑要能跟上,衝刺的時候一鼓作氣,才可能取得勝利,任何一項落後,就會與勝利失之交臂。在一局跳棋中,開局的時候就要看清中盤的發展方向,為中盤做準備;而中盤快要結束的時候,又要提前為自己的收官設計最佳方案。如果這些都能成竹在胸,那么你也就邁入跳棋高手的行列了。