それは完全に異なるゲームになります。 Dagazプロジェクトに取り組む過程で、開発者にとって最も予期しない、または不便なルールを評価することにしました。 会う...
10.奇妙な動き
チェスはおそらくボードゲームについて話したことを思い出す最初のゲームですが、おなじみの機能をすぐに獲得しませんでした。 前身のシャトランジュでは、女王は非常に弱い人物でした! 彼は、対角線上の1つのフィールドだけに行きました。 象も長距離ではありませんでしたが、数字を飛び越えることができました。 最後の水平に到達すると、ポーンは女王になりました(現在のように、選択できるピースにはなりませんでした)。 ルークは通常の規則に従って歩きましたが、それでも「運用空間」に連れて行く必要がありました。 一般的に、ゲームは非常にゆったりしていることが判明しましたが、これは膨大な数のタブの存在によって相殺されました。
最初のキック
どうやら、タブについて知らずに、エチオピアの住民は独自の方法でシャトランジの遅さを克服することに決めました。 このゲームのバージョンでは、最初の動きは、プレイヤーが互いに独立して(どれだけ管理したか)実行されました。 最初の捕獲後のみ、動きの通常の交替が確立されました。 普遍的な感覚へのこの打撃は、今日、競争の外に現れています。なぜなら、私はユニバーサルゲームシステムでそのような要件を実装する方法を想像することができないからです。 ちなみに、このような「スピード」のゲームは、アフリカ大陸の住民に非常に特徴的であり、チェスをするときだけでなく見られます。
馬はチャトゥランガ以来あまり変わっていない別の人物です。 彼は(自分と相手の両方の)ピースを翔とチャンにジャンプする方法を忘れていました、そして将giでは彼は前進することができます(それは彼自身の方法で日本の考え方について多くを語っています)が、この数字はすべてのゲームで最も認識されたままですチェス家族。 馬に基づいて、 首相や大司教などの新しいタイプの人物が初めて「構築」されました。 その後、そのようなキメラの流れが非常に激しくなったので、特別な分類システムが新しく発明された人物に必要でしたが、私の意見では馬は最も奇妙な人物です。
ポーンは、通常の動きとは異なるキャプチャを持つ唯一のチェスの駒です。 おなじみの「チェス」の原則(キャプチャを実行するピースは、取得したピースの代わりに設定されます)、これまでは変更されませんが、ポーンは前方に1マス移動し、斜めに当たります。 これは開発者にとって最小の問題であり、トラブルはさらに始まります。
ボードの中心をできるだけ早くキャプチャするために、ポーンには開始位置からダブルムーブする権利が与えられました(チェスのバリエーションによっては、ボードが大きい場合、ポーンはさらにジャンプします)。 このようなジャンプは敵のポーンシステムを突破することを可能にしたため、結果として、「 通路を占領する 」というルールが現れ、これはすでに不定形の不名誉です。 ここではチェスの原則に違反しています。 敵のフィギュアが攻撃されているフィールドではなく、通過したフィールドです。 さらに、そのような移動は、敵のポーンの「ジャンプ」の後の次の移動でのみ行うことができます。 これが開発者にどのように影響したかを見てみましょう。
En-Passant(ZoG)
通常のキャプチャよりも少し複雑に見えます
(define En-Passant ( $1 (verify enemy?) (verify last-to?) (verify (piece? Pawn)) capture n to n (verify last-from?) add ) )
通常のキャプチャよりも少し複雑に見えます
(define Pawn-capture ( $1 (verify enemy?) (Pawn-add) ) )
動きを伴うシャーマニズムは問題の小さな部分です。 ZoG開発者は、新しいlast-from述語をカーネルに導入する必要がありましたか? (相手の)前の移動が現在のフィールドから実行されたという事実の検証を実行します。 このような決定は、急いであまり成功していない「松葉杖」よりも評価するのが困難です。 それは普遍的ではなく、より複雑なケースでは機能しません。 たとえば、 4面チェスでは、パスルールを反対側に座っているプレーヤーに適用できますが、前の動きは彼によってではなく、側に座っているプレーヤーによって実行され、 ラストフロム? 動作しません! もっと普遍的な解決策を考えなければなりませんでした。
En-Passant(ダガズ)
(define pawn-jump (check (not is-moved?)) (set! turn-jumped turn-number) (check-source Pawn) (check n) (check is-empty?) (check n) (check is-empty?) (drop-pieces current-pieces) add-move ) (define (en-passant piece-type direction) (check-source piece-type) (check direction) (check is-enemy?) (check (<= 1 (- turn-number turn-jumped))) capture (check n) (check is-empty?) (drop-pieces current-pieces) add-move )
私たちの通常のチェスの奇妙さの「通路をとる」ことは限られていると思うなら、もう一度考えてください。 チェスには動きがあり、その間に複数のピースが同時に動きます! はい、 キャスティングです。 彼女も、すぐに現れたわけではなく、最初から現れたわけでもありません。 問題の歴史はこのすばらしい記事で見つけることができます。 一度に「要塞」に王を隠し、同時に戦闘に重い人物を連れてくることは美しいが、開発者は苦しむという考えだ:
キャスリング(ZoG)
(define OO ( (verify never-moved?) e ; KB1 (verify empty?) e ; KN1 (verify empty?) cascade e ; KR1 (verify (and friend? (piece? Rook) never-moved?) ) from back ; K1 ; Save expensive not-attacked?s for last (verify not-attacked?) e ; KB1 (verify not-attacked?) to (set-attribute never-moved? false) ; We could check if KN1 is attacked too, but this isn't ; really necessary since Zillions doesn't allow any moves ; into check e ; KN1 (set-attribute never-moved? false) add ) )
そして、これは短いだけです! 人類の理由で、長いものは引用しませんでした。 空と文明化されたチェスコミュニティ全体に感謝します。今日まで、イタリア人に愛されていた「無料のキャスティング」は保存されていませんでした。 特にキャスリングの実装では、開発者はカスケードコマンドをZoGコアに導入する必要がありました。これにより、移動の実行に複数の人物を関与させることができます。 ここでは、悪いこと、良い普遍的な解決策は何も言いませんが、愚かな慣習に自分自身を制限しないことにしました。 キャスリングは王の動きから始まりますが、だれが歩くべきだと言ったのでしょうか?
キャスリング(ダガズ)
(define OO (check (not is-moved?)) (check not-attacked?) (take-piece-to-head current-pieces) (check w) (check is-empty?) (check (not-attacked? King)) (check w) (check is-empty?) (check (not-attacked? King)) (drop-pieces current-pieces) (check w) (check (not is-moved?)) (set! is-moved? true) (take-piece-to-head current-pieces) ee (drop-pieces current-pieces) add-move )
キャスティングを実行する機能は、多くの興味深い条件に関連付けられています。 次の場合、キャスティングは不可能です。
- キングまたはルークはすでにパーティーに行ってきました
- 王は監視下にあります
- キャスリングの結果としての王はチェックの対象となります
- 王が通過しなければならないフィールドは、敵のフィギュアに攻撃されます
- 王とルークの間には、王が再配置され、他の人物がいます
最後の条件を確認するのは簡単です。 最初の条件を確認するために、図の属性がZoGに導入されました(非常に便利な機能ですが、ブール値だけでなく属性が保存できるとさらに便利だと思います)。 残りについては、これは、次のセクションのいずれかでの非常に深刻な個別の議論のトピックです。
ご覧のように、古典的なチェスの実装には困惑するものがありますが、本当の楽しみは非古典的なチェスから始まります。 Chess 、 Khnefatafl 、 Checkers 、 Fanoronaを組み合わせて 、シェイプのようなユニークなものを1つ追加し、完全に混ぜ合わせるが、振らない場合はどうなりますか? あなたについては知りませんが、1962年にロバート・アボットはウルティマであることが判明しました。
このゲームでは、すべてが異常です。 おそらく、王だけがチェスの原則を守り続けています。 ここでは、断片が進むルールの図解ガイドを見ることができます。 開発者にとって、この休日の人生で最も重要なことは、このゲームでは、ほとんどの場合、フィギュアが行くフィールドが攻撃され、時には複数のフィールドが一度に攻撃されることです。 この事実は広範囲にわたる結果をもたらしますが、これは次のセクションのいずれかで議論するトピックです。 そのような「問題」ゲームの別の例は、 リズムマキアです。