あるTCGの構築済みデッキだけを使って対戦するソフトを作りたいんだけど、カードの効果をどうやって解釈させるのか、いいアイデアが無いでち。
手札のカードを一枚選んで、とかだったらカードを選ぶっていうクラスを作ってそれを継承して拡張していく、とかでいいんかな。
当方Java暦1年のはなくそです。いいアイデアあったら教えてくれると嬉しいです。
探検
既存のTCGの対戦ソフトを作りたい [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
2016/10/21(金) 13:47:24.53ID:1n8vZ3VT2016/10/21(金) 17:31:44.83ID:aI3EmZKS
カードと置き場を結びつけて個々の状態クラス
場の情報とプレイヤーの状態クラス
これらをセッションとしてまとめて進行管理クラスで操作
後は状態を書き換えるルールとカードの紐付け
リプレイ機能も作るなら1手毎にアクションクラスも用意
場の情報とプレイヤーの状態クラス
これらをセッションとしてまとめて進行管理クラスで操作
後は状態を書き換えるルールとカードの紐付け
リプレイ機能も作るなら1手毎にアクションクラスも用意
2016/10/21(金) 19:53:46.78ID:9lGSXZVZ
詳しいね
作ったことあるの?
作ったことあるの?
2016/10/21(金) 20:16:38.56ID:JV8WDcId
UnityのアセットにTCG作れる奴あったな
改造すれば十分使えそうだが
改造すれば十分使えそうだが
2016/10/22(土) 12:50:25.56ID:6eBPRVoj
>>2
ありがとうございます!大枠はイメージできてきました
状態はEvent, EventListenerとか使えば検知できそうですかね
あと悩んでるのがカードの効果の解釈です…
テキストを解釈するインタプリタ?を作る流れが凄く怪しいです
とにかくいっぱい効果を細分化したクラスを作って組み合わせるとかですか?
頓珍漢なこと言ってる…
ありがとうございます!大枠はイメージできてきました
状態はEvent, EventListenerとか使えば検知できそうですかね
あと悩んでるのがカードの効果の解釈です…
テキストを解釈するインタプリタ?を作る流れが凄く怪しいです
とにかくいっぱい効果を細分化したクラスを作って組み合わせるとかですか?
頓珍漢なこと言ってる…
2016/10/23(日) 09:40:04.89ID:sqZKb0kb
>テキストを解釈するインタプリタ?を作る
自然言語で書かれたルールをそのまま取り込むと言ってる?
正気か? Java歴1年とやらが10年になっても無理そうだな
自然言語で書かれたルールをそのまま取り込むと言ってる?
正気か? Java歴1年とやらが10年になっても無理そうだな
2016/10/23(日) 10:36:37.95ID:5FrN0FNC
2016/10/23(日) 18:32:00.95ID:Q+CeDl8Z
そんなことができたらどんな企業にも入り放題、下手したら歴史に名前が残るぞ
カードの効果はプログラムではなく人間が解釈するんだよ
カードの効果はプログラムではなく人間が解釈するんだよ
2016/10/23(日) 21:30:08.34ID:Bi6deQJA
2016/10/27(木) 12:52:52.32ID:LcY1KpMD
確かに考えが愚かでしたね…
カードの枚数が多いのでインタプリタ通すのかと思い込んでました
カード一枚一枚効果を設定してみます
なんとなく方針が立ってきました。
ありがとうございます
カードの枚数が多いのでインタプリタ通すのかと思い込んでました
カード一枚一枚効果を設定してみます
なんとなく方針が立ってきました。
ありがとうございます
2016/10/28(金) 16:23:12.78ID:1ax0AC0U
具体的にどのTCGの対戦ソフトか知らんけど
だいたい年間400〜500種類ぐらいカード出るんだし
一枚一枚やってたらきりがないんじゃないの
それに今時のゲームではそれぞれ
機能するタイミングの違う能力が2つ3つついてるのもおかしくないけど
それを1枚のカードでまとめるって難だし
能力別にまとめとくほうが後々の労力削れそう
だいたい年間400〜500種類ぐらいカード出るんだし
一枚一枚やってたらきりがないんじゃないの
それに今時のゲームではそれぞれ
機能するタイミングの違う能力が2つ3つついてるのもおかしくないけど
それを1枚のカードでまとめるって難だし
能力別にまとめとくほうが後々の労力削れそう
2016/10/31(月) 22:17:00.79ID:dR177teP
カード増えるごとに追加実装とかアホくさくてやってられないよなぁ
機能は小さな単位に分割し、汎化して実装することでできるだけ使い回す方向で組むわ
例えば「墓地ある2体の〇〇をゲームから取り除く事で、相手のフィールドにある攻撃表示のモンスター1体を墓地に送る」というカードがあるならば
a.墓地にある2体の〇〇を選び出す機能
b.対象のカードをゲームから取り除く機能
c.相手フィールドから攻撃表示のモンスターを選び出す機能
d.対象のカードを墓地に送る機能
というように機能を分解して作っておいてそれをカードのデータを元にコンポジットする
カードは基本データに加えてこうした能力のリストを保持する形にするかな
ちなみに前述のaとcは<場所>にある<条件>を満たすカードを選ぶ機能として同一の実装でいいし、bとdは指定したカードを<場所>に送る機能として同一であると言える
このように細分化した機能を扱える簡単なインタプリタを作っておけばカードが増えてもルールが増えない限りはだいたいデータの追加だけで済む
ついでにカードのルールテキストが定まった文法に従っているなら、ルールテキストからこれらの処理を自動的に構築するパーサーとビルダークラスを作っておけばさらに手間いらずになる
機能は小さな単位に分割し、汎化して実装することでできるだけ使い回す方向で組むわ
例えば「墓地ある2体の〇〇をゲームから取り除く事で、相手のフィールドにある攻撃表示のモンスター1体を墓地に送る」というカードがあるならば
a.墓地にある2体の〇〇を選び出す機能
b.対象のカードをゲームから取り除く機能
c.相手フィールドから攻撃表示のモンスターを選び出す機能
d.対象のカードを墓地に送る機能
というように機能を分解して作っておいてそれをカードのデータを元にコンポジットする
カードは基本データに加えてこうした能力のリストを保持する形にするかな
ちなみに前述のaとcは<場所>にある<条件>を満たすカードを選ぶ機能として同一の実装でいいし、bとdは指定したカードを<場所>に送る機能として同一であると言える
このように細分化した機能を扱える簡単なインタプリタを作っておけばカードが増えてもルールが増えない限りはだいたいデータの追加だけで済む
ついでにカードのルールテキストが定まった文法に従っているなら、ルールテキストからこれらの処理を自動的に構築するパーサーとビルダークラスを作っておけばさらに手間いらずになる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 性売買「買う側」処罰化と同時に「売る側は処罰せず、支援の対象に」Colabo主催の集会にて★2 [パンナ・コッタ★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! [Ailuropoda melanoleuca★]
- 立憲・塩村あやか氏 12歳タイ人少女の事件を受け、人身売買を厳罰化する法案を提出へ 「日本人が買って…恥ずかしかったですね」 [少考さん★]
- 【インバウンド】中国政府、日本行き航空便の減便指示、来年3月末まで「当面の措置」外交情勢によって見直しも★2 [1ゲットロボ★]
- トランプ米大統領声明「高市首相は非常に賢く、非常に強い。素晴らしい指導者になるだろう」「私は素晴らしい関係を築いている」 [お断り★]
- 【芸能】サンド伊達、信号めぐり苦言「おっさんおばさんが無視して…」 怒りあらわ「格好悪い、大人が守んねーんだ」 [冬月記者★]
- メモリもSSDもドチャクソ値上がる 来年のお年玉でPC自作するって張り切ってた甥っ子が不憫 [377482965]
- 高市早苗、ネトウヨを裏切るwwwwwww「すまん、外国人の不動産規制やっぱ無理だわ」 [246620176]
- 日本人「な、なぜだ?なぜこの件で日本を助けてくれる国が0カ国なんだ?」。日本人ようやく気付く [805596214]
- 【文春砲】国分太一降板の原因は女性スタッフへのわいせつ [579392623]
- ニュース「石破前総理より多い21兆円の経済政策をする高市総理!」 [743638351]
- 発達障害 国内で87万人 進学や就職で初めて気がつく [459590647]
