SRC質問掲示板Mk2
(現在 過去ログ129 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■22389 / inTopicNo.1)  プレイヤー対戦をするには?
  
□投稿者/ お花 -(2011/08/19(Fri) 10:01:41) [ID:yi5MOX9R]
    いつもお世話になります。
    2人以上のプレイヤーが同じ画面で対戦して遊びたいと考えました^^;

    そのためには、味方同士のユニットが攻撃しあえれば可能だと思いますが・・・しかし、味方同士では攻撃し合うことはできません。
    ☆味方同士のユニットが攻撃し合えるようにするにはどうしたらいいですか?または他の方法で対戦できるよっていう方法があれば教えてくださいm(−−)m
引用返信/返信 削除キー/
■22390 / inTopicNo.2)  Re[1]: プレイヤー対戦をするには?
□投稿者/ かしゅう -(2011/08/19(Fri) 13:30:30) [ID:Ov1sTxxi]
http://fesrc.blog.fc2.com/
    2011/08/19(Fri) 13:48:53 編集(投稿者)
    2011/08/19(Fri) 13:42:54 編集(投稿者)
    2011/08/19(Fri) 13:39:43 編集(投稿者)

    こんにちは。初めましてー。

    複数人での対戦プレイを実装する場合、味方フェイズ→敵フェイズなどのフェイズ切り替わり時に、全ユニットの陣営をごっそり入れ替えてしまうという方法があります。

    SRCには味方を攻撃するオプションはなかったはずなので(マップ兵器を除く)、上記について説明します。

    1.
    対戦に使用するユニットをCreateで作成する場合、各陣営毎に、グループIDを指定します。
    例)
    Create 味方 テストアーチャー 0 テスチャー 1 2 3 "プレイヤー1"
    Create 敵 テストファイター 0 テスタ 1 7 13 "プレイヤー2"

    また、変数にどちらの手番かをセットします。
    例)
    Set フェイズオブ "プレイヤー1"

    2.
    敵フェイズ開始時、全ての敵ユニットを味方陣営に切り替えます。こうする事によって、CPUによるユニットの操作を無視できます。
    また、ここで手番である変数を、相手プレイヤーのものに切り替えます。
    例)
    *ターン 全 敵:
    If フェイズオブ = "プレイヤー1" Then
    ForEach "プレイヤー2"
    ChangeParty 味方
    Next
    Set フェイズオブ "プレイヤー2"
    Else
    ForEach "プレイヤー1"
    ChangeParty 味方
    Next
    Set フェイズオブ "プレイヤー1"
    EndIf
    Exit

    3.
    味方フェイズ開始時、敵になるユニットを全て敵陣営に切り替えます。
    この時、メッセージか何かでどちらの手番かを表示すると親切かと思います。
    例)
    *ターン 全 味方:
    If フェイズオブ = "プレイヤー1" Then
    ForEach "プレイヤー2"
    ChangeParty 敵
    Next
    Talk
    プレイヤー1の番です
    End
    Else
    ForEach "プレイヤー1"
    ChangeParty 敵
    Next
    Talk
    プレイヤー2の番です
    End
    EndIf
    Exit

    これにて終了です。
    以上の操作で対戦プレイが実現できます。

    急ぎ足で作成したものですが、拙作のインクルードのサンプルを弄って、上記の対戦プレイを実装したサンプルをアップしました。

    https://skydrive.live.com/redir.aspx?cid=11f5bbb79e6c79e4&resid=11F5BBB79E6C79E4!485
    (うまくリンクが出来ていないようです。上記のURLをコピーしてアドレスバーに貼っつけて下さい(-人-;)

    サンプルは拙作のインクルードのサンプルシナリオのみを更新したものなので、普通のSRCとはやや仕様の異なる部分がありますが、対戦プレイに関する部分について、イメージを掴んでいただける内容になっていると思います。
    あと、やや容量が大きいです。ごめんなさい(-人-;
    気が向いたらで結構ですので、お試しいただければ幸いです。
    (実行は同梱の「test.eve」からお試し下さい)

    参考になれば幸いです。それでは

    追伸:
    既に作成済みのパイロットを対戦に用いる場合は、配列にパイロット名を並べてセットすると対応し易いかと思います。もし必要でしたら、後ほどご紹介させて頂きます。
引用返信/返信 削除キー/
■22392 / inTopicNo.3)  Re[2]: プレイヤー対戦をするには?
□投稿者/ お花 -(2011/08/20(Sat) 10:06:17) [ID:yi5MOX9R]
    ご丁寧かつ迅速な返答ありがとうございますm(ーー)m

    教えていただいたやり方で、対戦できました^^ 感謝です。
    ただ、最初の1ターン目だけなぜかCPUが敵陣営を動かしてしまいます。何か対処方法はありますか?
引用返信/返信 削除キー/
■22393 / inTopicNo.4)  Re[2]: プレイヤー対戦をするには?
□投稿者/ お花 -(2011/08/20(Sat) 10:30:23) [ID:yi5MOX9R]
    ターン 1 敵:
    ChangeMode 敵 待機
    Exit

    これを設定することで解決しました^^

    かしゅうさん、この度は本当にありがとうございました。God bless you !
解決済み!
引用返信/返信 削除キー/
■22396 / inTopicNo.5)  3人以上で対戦するには?
□投稿者/ お花 -(2011/08/23(Tue) 14:53:30) [ID:yi5MOX9R]
    今回のやり方を応用して、中立陣営などを利用して3人対戦・4人対戦もできそうな感じがしますが・・・。やり方の例を教えていただけないでしょうか?
    よろしくお願いします。
引用返信/返信 削除キー/
■22405 / inTopicNo.6)  Re[4]: 3人以上で対戦するには?
□投稿者/ かしゅう -(2011/08/25(Thu) 12:44:57) [ID:Ov1sTxxi]
http://fesrc.blog.fc2.com/
    2011/08/25(Thu) 15:53:20 編集(投稿者)
    2011/08/25(Thu) 15:47:49 編集(投稿者)
    2011/08/25(Thu) 13:00:44 編集(投稿者)

    こんにちは。風邪を引いていて少しお返事が遅れました。いやはや( =ω=)

    前回の仕組みが
    敵のターン開始時に全員を味方に→CPUには操作させない
    味方のターン開始時に、手番の人のユニット以外を全部敵に
    というものだったので、3人以上の対戦でも同様にして実装します。

    1.
    1〜2人目のプレイヤーのユニットは前回と同様にして作成します。
    3人目のユニットは中立陣営で作成すると、プレイヤー毎に色が分けられて、対戦がやりやすくなると思います。
    4人目以降は、ふさわしい陣営がSRC側に用意されていないので、ひとまず敵陣営でCreateします。
    Createする際、扱うプレイヤー毎に、ユニットにグループIDを付けるのを忘れずに。
    例)
    Create 味方 テストアーチャー 0 テスチャー 1 2 3 "プレイヤー1"
    Create 敵 テストファイター 0 テスタ 1 7 13 "プレイヤー2"
    Create 中立 テストソシアルナイト 0 テストナイト(ザコ) 10 11 6 "プレイヤー3"
    Create 敵 テストペガサスナイト 0 テストナイト(ザコ) 10 17 15 "プレイヤー4"

    2.
    陣営が多いので、敵のターン開始時、全てのユニットをまとめて味方に変更します。
    手番を表す変数には、次のプレイヤーをセットします。(例では、陣営が増えたのでIfコマンドを使わずにSwitchコマンドを使用しています)
    例)
    *ターン 全 敵:
    ForEach 全
    ChangeParty 味方
    Next
    Switch フェイズオブ
    Case "プレイヤー1"
    Set フェイズオブ "プレイヤー2"
    Case "プレイヤー2"
    Set フェイズオブ "プレイヤー3"
    Case "プレイヤー3"
    Set フェイズオブ "プレイヤー4"
    Case "プレイヤー4"
    Set フェイズオブ "プレイヤー1"
    EndSw
    Exit

    3.
    やはり前回と同様に、味方ターン開始時に、手番プレイヤー以外のユニットを全て敵(含む中立)に変更します。
    例)
    *ターン 全 味方:
    Switch フェイズオブ
    Case "プレイヤー1"
    ForEach "プレイヤー2"
    ChangeParty 敵
    Next
    ForEach "プレイヤー3"
    ChangeParty 中立
    Next
    ForEach "プレイヤー4"
    ChangeParty 敵
    Next
    Talk
    プレイヤー1の番です。
    End

    Case "プレイヤー2"
    ForEach "プレイヤー1"
    ChangeParty 敵
    Next
    ForEach "プレイヤー3"
    ChangeParty 中立
    Next
    ForEach "プレイヤー4"
    ChangeParty 敵
    Next
    Talk
    プレイヤー2の番です。
    End

    Case "プレイヤー3"
    ...
    ..
    EndSw

    プレイヤー3以降は、「Case "プレイヤー1"」の内容を丸々コピーして、例えば「Case "プレイヤー3"」の場合は
    ForEach "プレイヤー3"

    ForEach "プレイヤー1"
    とだけ書き換えています。

    こんなところでしょうか。
    前回も今回も結構具体的にソース書いちゃってますが、例はイメージの助けになれば幸いですー。

    (2011/08/25 12:59 追記)
    ブログにコメント頂いていたのですねΣ(・ω・ノ)ノ
    わ、気がつくのが遅れてごめんなさい‥!
引用返信/返信 削除キー/
■22406 / inTopicNo.7)  Re[5]: 3人以上で対戦するには?
□投稿者/ お花 -(2011/08/27(Sat) 09:46:01) [ID:yi5MOX9R]
    2011/08/27(Sat) 09:46:58 編集(投稿者)
    2011/08/27(Sat) 09:46:52 編集(投稿者)

    いつもありがとうございますm(−−)m
    ブログの方で質問させていただきますね^^
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -