タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

algorithmとgameに関するoverlastのブックマーク (2)

  • 第12回 対戦ゲームの戦略を考える

    あなたは魔法使い。もちろんプログラミングの腕もウィザード級です。そんなあなたがライバルと対決することになりました。マップ上にある「魔法の要素」をうまく集めてライバルを倒すプログラムを作成してください。今回は,相手を攻撃するアルゴリズムを組み込んでプログラムを完成させることにします。 前回に引き続き,プログラム同士を対戦させるゲームのアルゴリズムを考えます。前回は,目的地に向かってキャラクタを移動させる方法などを紹介しました。今回は,敵を攻撃するアルゴリズムを追加して,実際に対戦できるようにします。これまで連載で得た知識をフル動員して,アルゴリズムを考えましょう。 前回の連載をご覧になっていない人のために,ゲームのルールを簡単に説明しておきましょう。ゲームの内容は縦10×横20の盤面上にいる二人の魔法使いを対戦させるものです(図1)。魔法使いは,ターンごとに「移動する」「魔法を使う」「魔法

    第12回 対戦ゲームの戦略を考える
  • 第10回 麻雀の役を判定する:ITpro

    図1に示す(1)から(3)までの麻雀(マージャン)の手牌があります。「あがり牌」はすべて山からツモったものとし,リーチはかけていません。またドラやハイテイ*1なども関係ないものとします。これらの役を判定して,親の場合の点数を計算するプログラムを作ってください。 「ややこしや~ややこしや~」というのは野村萬斎ですが,思わずそううなってしまうことがプログラミングをしているとよくあります。今回の麻雀の役判定は,考えれば考えていくほどややこしく,そうしたものの代表と言えるでしょう。排他処理や優先順位が複雑にからんでいて一筋縄ではいきません。 今回はややこしい組み合わせを解決する方法を考えてみます。麻雀になじみのない方も,ちょっとしたパズル気分で試してみてください。 麻雀の役を考える 麻雀を知らない方のためにルールをおおざっぱに説明しておきましょう*2。麻雀の牌には,大きく分けて「萬子(マンズ)」「

    第10回 麻雀の役を判定する:ITpro
  • 1