C/C++ゲーム製作総合スレッド Part5
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2014/01/16(木) 00:00:31.27ID:w6WW3hAo元スレ
DXライブラリ 総合スレッド その17
http://toro.2ch.net/test/read.cgi/gamedev/1383795645/
前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
C/C++ゲーム製作総合スレッド Part4
http://toro.2ch.net/test/read.cgi/gamedev/1376262450/
0617名前は開発中のものです。
2014/04/29(火) 12:27:00.81ID:CXcBKCf+多分だけど、
if(関数に分けずそのまま羅列) → if(関数分け) → switch → stateパターン
……みたいに進化していくんだと思う。
単に自分がそういう順番でステップアップしたってだけなんだけどさ。
仮に自分が教えるなら、stateパターンによるシーン遷移は後回しにするかな
0618名前は開発中のものです。
2014/04/29(火) 12:35:06.95ID:CXcBKCf+シーン遷移をStateパターンで行う方法についてなんだけど、「シーン遷移しないとき」って、どうしてる?
(1) nullを返す
(2) thisを返す
(3) シーン遷移関数を用意しておき、それが呼ばれなかったとき
(4) その他
自分は(2)で、nullを返すときはゲーム終了ってことにしてる。
一般的なStateパターンなら(1)かなあ。
0619名前は開発中のものです。
2014/04/29(火) 12:40:34.16ID:5MYZPLM5なるほどthx. sceneの引数でgameenv貰ってるね。
シーン遷移の実装はシーン側は知る必要ないから、
その時の気分とかシーンの数とかで好きにやりゃいいと思うけどね。
Task的に入り組んだ作りしてないのなら、どれでもすぐ遷移図を思い描けるっしょ。
0620名前は開発中のものです。
2014/04/29(火) 16:14:29.11ID:R32lOXpJ曰く、
「クラス設計書貰うけど見ない。クラス流用して他のゲーム作ったことがないから意味がない」
「デザインパターン?何それ?」
「参考書は読んだことがないからオススメ本とか分かんない。ネットと、エラーが出たらググレカスで覚えた」
PSでほとんど1人でプログラム任される人の弁です
0621名前は開発中のものです。
2014/04/29(火) 16:19:59.07ID:NQBFYHJcすげぇ
俺そんなこと言ったことないけど、完全に俺だわ
ただ、作ってたのはPSじゃねぇけど
0622名前は開発中のものです。
2014/04/29(火) 16:20:18.05ID:KJKa8R89その人、協調性が無いから、単独でしか使い道が無い。
0623名前は開発中のものです。
2014/04/29(火) 16:27:51.48ID:NQBFYHJcゲー専卒で多少のコミュニケーションはできれば入れてる感じがする
8人中2人もう辞めてるし、てかそれ以前にDXライブラリをインクルードディレクトリへの追加方法わからねぇわ、プログラムが組めねぇわで最悪だわ
1人だけまともというかたぶん俺より組める奴居るけど
うちは研修する余裕なんてねぇってわかってんだろうが、去年入ったやつなんてもう最後の1人を何とか留まらせてるんだから、俺らに人事噛ませろよ
0624名前は開発中のものです。
2014/04/29(火) 16:27:58.51ID:lMFqMvqX一昔前の1500円のミニゲーム移植とかの人てことなんだろうか
0625名前は開発中のものです。
2014/04/29(火) 16:31:27.80ID:GSilIO8Hちょっとワラタ
0626名前は開発中のものです。
2014/04/29(火) 16:31:55.46ID:CPnqQaxXいっちょオブジェクト指向でも勉強するか、とやり始めた結果
もうずっと制作が滞ったままになっている。
なんでこんなにめんどくさいんだ……。
0627名前は開発中のものです。
2014/04/29(火) 16:33:29.90ID:t5QADVCc本読まずにPG覚えるとか想像もつかねえw
0628名前は開発中のものです。
2014/04/29(火) 16:59:24.66ID:CPnqQaxXそもそも本を書くような人は「本を読んだら解る人」だろうから、
本を読んでも解らない人でも解るような本を書けないだろうな。
0629名前は開発中のものです。
2014/04/29(火) 17:12:12.68ID:dd41HZLfとりあえず作ってみよう系のほうが理解しやすい
ここを弄ったらこう変わるみたいな
0630名前は開発中のものです。
2014/04/29(火) 17:21:14.92ID:5MYZPLM50631名前は開発中のものです。
2014/04/29(火) 17:40:38.04ID:lMFqMvqXだいぶ使いこなせるようになっても読めない初心者向けの本とかあるから性質が悪い
ゲーム用だけじゃないが初心者の頃はコードがのっててサンプルが作りたい物に近いから買ってみるけど…
Cマガも半分ぐらいしか理解できなかったがいま読み返すと消えてる技術も多くて笑える
0632名前は開発中のものです。
2014/04/29(火) 17:48:57.10ID:bM1HEdOIあと、AIとかそういうアルゴリズムも重視される?
0633名前は開発中のものです。
2014/04/29(火) 18:14:47.39ID:NQBFYHJcぶっちゃけ会社によって様々だからうちの会社で書くけど
新卒には特別な期待はしない
とりあえず、プログラムを作れれば良いや、ゲームまで作れたら儲け物って感じだな
後はただ、人間として基本的なことはできてればそれだけで良い
俺は現場だからこういうのを求めてるけど、人事は即戦力のゲームプログラマーとしてプログラムを作れないやつを入れてくるから何を見てるか同じ会社なのにわからん
とりあえず残業させてないのに毎年1ヶ月以内に1人、3ヶ月以内に半分になる新卒はゲーム作る気がないよね
0634名前は開発中のものです。
2014/04/29(火) 18:23:27.78ID:EMV53Qmd0635名前は開発中のものです。
2014/04/29(火) 18:25:53.36ID:R32lOXpJスーパープログラマさんかな?w
他の配信者も有名な人だよって言ってたし、多分在京で働いてる業界人なら知ってる人ですよ。
ちなみに、よくプログラマになるにはどうしたらいい?という初見リスナーのレスあるけど
「C++とDirectX(ライブラリ自作)で『完成した』作品を持ってこい」と言ってますね。
本人もデザインパターンを配信中にググって知ったみたいだし
オブジェクト指向とか関係ないんじゃないかと。とにかく完成品をよこせと。
0636名前は開発中のものです。
2014/04/29(火) 18:34:29.77ID:lKQHJo0LA 漫画を描けば漫画家です
プロになりたければ作った作品を持ち込んでください
Q ゲームプログラマになるにはどうしたらいいですか?
A ゲームを作ればゲームプログラマです
プロになりたければ作品を持ち込んでください
0637名前は開発中のものです。
2014/04/29(火) 18:38:17.18ID:NQBFYHJcこれ
でも、自分じゃなくて友人が作ったやつを持ち込むクソも居る
0638名前は開発中のものです。
2014/04/29(火) 19:08:58.63ID:WRxgjGJf0639名前は開発中のものです。
2014/04/29(火) 19:14:20.55ID:t5QADVCc0640名前は開発中のものです。
2014/04/29(火) 20:34:32.58ID:EMV53Qmd>制御構文使ってたら死ぬ時に使う物
>>615
>実際switchの方がよく使われるものなの?
>>619
>シーン遷移の実装はシーン側は知る必要ないから、
>その時の気分とかシーンの数とかで好きにやりゃいいと思うけどね。
>
>Task的に入り組んだ作りしてないのなら、どれでもすぐ遷移図を思い描けるっしょ。
同意です。実装の選択肢は色々あり、個々の状況に応じて選べば良い事かと。
>>602-603の例で言えば、振る舞い的に拡張する予定がなく、実際しなかった
部分なので別に問題なかったですね
元々HSP上がりの人間(周りも同様)だったので手続き型の記述のほうが平易
というのもありました
>>617
State Pattern
switch-case構文
0641名前は開発中のものです。
2014/04/29(火) 20:35:52.86ID:EMV53Qmd末尾の三行は消し忘れです。>>617さんごめんなさい
0642名前は開発中のものです。
2014/04/29(火) 20:52:06.90ID:CXcBKCf+何年か前に、画像表示、パッド入力、音声出力くらいまでは何とか作ったけど
途中で面倒くさくなって、結局DXライブラリに戻ってしまったという残念な経験しかないやw
0643名前は開発中のものです。
2014/04/29(火) 20:55:41.83ID:EMV53Qmd会社帰りにたまにボー●ーブ●イクでチャリンチャリンしてたんですが
転勤先にそれ置いてるゲーセンがなくて悲しみのあまり余暇にパチモン
作りで自分を慰めてるんですが、火器とかAIの部分はStateというかStrategy
というかそんな感じのコードはありますね。条件分岐でダラダラ書いてたら
流石に眩暈がしてきたので
0644名前は開発中のものです。
2014/04/30(水) 00:47:22.57ID:bEifU6C00645名前は開発中のものです。
2014/04/30(水) 01:21:27.75ID:3yGpFv6Bパーツとか持ち替えの武器とか大量にあると面倒くさいことになるよね
あの手のアセンゲーっぽいのは俺も好きだが作りたいとは思わないな
0646名前は開発中のものです。
2014/04/30(水) 09:11:19.42ID:JP5IUHRh0647名前は開発中のものです。
2014/04/30(水) 10:28:13.43ID:vrCaDxEcクラスからクラスを呼ぶときってどういう書き方が普通なんですかね?
class A {
public :
static A* me ;
int a ;
A() ;
}
A* A::me ;
A::A() {
me = this ;
}
ってやって A::me->a とかやってるけど、なんかスマートじゃなくて……。
0648名前は開発中のものです。
2014/04/30(水) 11:46:43.01ID:eqz1Of7Rクラスからメソッド直接使いたいとかなら、メソッドをstaticで定義してクラス名::メソッド名()だけど
0649名前は開発中のものです。
2014/04/30(水) 12:04:25.51ID:gNDB74Yvアクセス可能なオブジェクトを限定するのがオブジェクト指向の組み方だから
アクセスする必要があるクラスにポインタなり参照なり持たせたほうが良いんじゃない
0650名前は開発中のものです。
2014/04/30(水) 12:58:15.72ID:2hopiA0K0651名前は開発中のものです。
2014/04/30(水) 13:13:03.63ID:8+rqYap5最近c++触ってないから間違ってたらすまんけど。
// A.h
class A {
public:
static int a;
}
// A.cpp
int A::a = 10; // 初期化
// main.cpp
void main() {
A::a; // 利用
}
0652名前は開発中のものです。
2014/04/30(水) 13:38:55.27ID:MPxnDurN0653名前は開発中のものです。
2014/04/30(水) 14:23:59.95ID:bEifU6C0基本的に平面で移動するゲームなら2Dと大して変わらんしだろうし
キューブ状の座標(2Dで言うところのマス目)を移動するだけなら、移動方向に上下という選択肢が増えただけと考えられるし
ビルの中を探索するようなゲームなら、階段やエレベータでエリアを区切ればいい気がする。
0654名前は開発中のものです。
2014/04/30(水) 14:32:28.53ID:Uak2ZaC3複雑な地形での経路探索がわからんって話なら、地形の要点にポイント作ってダイクストラ法でいいんじゃないの
0655名前は開発中のものです。
2014/04/30(水) 14:35:02.75ID:Uak2ZaC30656名前は開発中のものです。
2014/04/30(水) 14:50:11.17ID:49atqyLwhttp://samples.jbpub.com/9781556220784/Buckland_AIExecutables.zip
Chapter 5 にあるように 経路探索する。
Chapter 8\Raven_CoarseGraph のようにグラフとして探索する。
0657名前は開発中のものです。
2014/04/30(水) 16:08:24.08ID:L0vWdcDzA*はダイクストラの拡張版で、基本アルゴリズムは重複する部分が大きいから、
大筋外してはいないよ
ゲーム用途の経路探索性能は、A*の方がより最適化されるみたいだけど
0658名前は開発中のものです。
2014/04/30(水) 16:47:29.58ID:IG+u4GlDhttp://ideone.com/gt21RS
そのコードが何か不明だがこういう振る舞いをするという事がわかってれば好きにしろ
0659名前は開発中のものです。
2014/04/30(水) 22:30:05.62ID:vrCaDxEcやりたかったのは、例えばコンフィグデータを一括管理するクラスを作って
他のクラスでそれを使う、ような事です。
例として挙げたソースは簡単に書いただけで直接書き換えたいというわけではありませんでした。
関係ない愚痴ですが、こうやれば動くからこれでいいのかな、と作り進めてても
やっぱりおかしいよな、とまた一から作り直す、を繰り返してて制作が全く進みません……。
0660名前は開発中のものです。
2014/05/01(木) 03:51:25.76ID:jedbV3SH↑ ↑ ↑ ↑ ↑ ↑
0661名前は開発中のものです。
2014/05/01(木) 05:10:34.61ID:z13QLsnTインスタンスは複数作れるけど、実体は同じものを作っている……っていうアルゴリズムあったよね。
>659の場合だと、その方法使えそうな気がするものの……名前が分からんので教えられん
0662名前は開発中のものです。
2014/05/01(木) 08:21:56.84ID:3d6d8Z4vそんなのグローバル変数でいいだろ
つまんないとこで止まってないで先進めよ
0663名前は開発中のものです。
2014/05/01(木) 09:19:18.98ID:OWwKad9r0664名前は開発中のものです。
2014/05/01(木) 11:26:20.56ID:HOcvGku/これをプログラムに直すとどうなるの?
大学数学はさっぱり分からないから誰か教えて
0665名前は開発中のものです。
2014/05/01(木) 12:30:19.75ID:Fm1fH+z1ダイクストラ法は大学数学関係ないぞ
Game Coding Gemsの1か2に解説とソースコードがある
0666名前は開発中のものです。
2014/05/01(木) 12:35:48.55ID:d2ShpQiQ図のアニメーションと解説を読めば分かると思うが…
難解な数学計算無し。少なくとも高校数学の域は逸脱してない。
記号の意味分からない子向けに手続きを文章で丁寧に解説してる。
下手すりゃ厨房でも「コンピュータってバカ正直な事なんだね…」
と感想を述べながら呆れ顔をしてくるレベル
0667名前は開発中のものです。
2014/05/01(木) 12:37:56.10ID:d2ShpQiQ○「コンピュータってバカ正直な事をやるんだね…」
0668名前は開発中のものです。
2014/05/01(木) 13:21:29.38ID:d2ShpQiQ同意
0669名前は開発中のものです。
2014/05/01(木) 13:56:28.60ID:z13QLsnT0670名前は開発中のものです。
2014/05/01(木) 14:18:18.47ID:d2ShpQiQ厨房の反応は楽しかったよ。「かあいい」「頭悪過ぎうー」「きゃはは」
「がんばれー」とかが大半だったけど、眼鏡っ子の厨房が模造紙の解説を
一所懸命に読んでて、繰り出す質問がなかなか賢すぎてこっちが呆れた
0671名前は開発中のものです。
2014/05/01(木) 14:26:30.17ID:0k+QrX5Jモノトーンだかそんなような名前だった覚えがあるけど
0672名前は開発中のものです。
2014/05/01(木) 14:27:47.22ID:d2ShpQiQ使ったことないが
0673名前は開発中のものです。
2014/05/01(木) 16:56:40.77ID:ZxuEhXPJ0674名前は開発中のものです。
2014/05/02(金) 00:13:50.98ID:5CvmG/6A2Dで同じようなことを考えてるのですが、描画管理クラスにリストを持たせ、
その管理クラスのメソッドを通してリストへ登録しようとしてます
XNAのSpriteBatchの形が近いです
しかしこの方法だと管理クラスを引数でどんどん渡していかなければいけなく、良い方法がないか探してます
2Dオブジェクトにstaticで管理クラス、または描画リストを持たせた方がいいのでしょうか
設計の話なので明確な答えがないのはわかってます
皆さんの考えを参考程度に聞きたいです
0675名前は開発中のものです。
2014/05/02(金) 00:48:59.22ID:DPIL44M1そこにパラメータ与えて、あとは自動的に描画されるような組み方してるん?
0676名前は開発中のものです。
2014/05/02(金) 01:19:41.25ID:ZlBT84m3>しかしこの方法だと管理クラスを引数でどんどん渡していかなければいけなく、良い方法がないか探してます
依存性があるなら明示する(例えばSetterやコンストラクタで注入するだとか)
というのはOO的には無難なお作法だと思うけど。なんか不都合あるの?
(いちいち記述するのがかったるい、だとか)
まぁ、あまりに広範に渡ってその依存性が確認されるなら、グローバルな
存在、グローバルなサービス、として提供してもいいのでは。尤も、描画
モジュールに依存するモジュールってゲームの中では限定的だと思うけどね
0677名前は開発中のものです。
2014/05/02(金) 01:31:13.85ID:Ru1dUuzyprivate IDrawable model;
private Vector2 pos;
private 表示するもの[] children;
public void Draw(描画管理クラス){
描画管理クラス.add(model,pos);
for child in child {
child.draw(管理クラス);
}
}
}
0678名前は開発中のものです。
2014/05/02(金) 06:36:13.80ID:Bq1H46te0679名前は開発中のものです。
2014/05/02(金) 07:18:20.71ID:DPIL44M1ある部屋から別のある部屋へ行く方法ってのは基本的に固定なので、最初に各パターンを計算しておけばいい。
上手く追いかけるように動かしたいってことなら、
有名なところで、パックマンの敵アルゴリズムの話がシンプルでわかりやすいと思う。
0680名前は開発中のものです。
2014/05/02(金) 07:57:10.51ID:gb8xd1Drみたいな表を作っておけば良いのか
0681名前は開発中のものです。
2014/05/02(金) 09:29:13.26ID:dzhB41LP2Dオブジェクトは座標、テクスチャを持ち、描画関数内で管理クラスのリストへ登録
という流れを考えてますので、自動的な描画はしません
>>676
やはりプログラムの最初にsetterで登録が一番無難ですよね
不都合はないのですが、2Dオブジェクト全てが
管理クラスのsetterを持つのが気持ち悪く思えてしまい・・・
描画モジュールに依存するものが限定的とは...ゲーム内では殆どのものが
描画されるものだと思ってましたが違うのでしょうか
オブジェクトを管理したりするものは別だと思いますが・・・
>>677
これは結局引数でどんどん渡していくのでは・・・?
0682名前は開発中のものです。
2014/05/02(金) 09:52:01.66ID:Ru1dUuzy引数で渡していっていいと思う
常に同じ描画管理クラス使うとは限らないし
0683名前は開発中のものです。
2014/05/02(金) 13:12:16.23ID:6RPuKXq0何故「気持ち悪い」のか言葉で説明できるようにしてみれば
どうすればいいのかわかるんじゃない?
0684名前は開発中のものです。
2014/05/02(金) 13:23:32.11ID:taHVwRQz登録するデータを戻り値にして呼び出し側で登録するとか
0685名前は開発中のものです。
2014/05/02(金) 19:21:58.74ID:dzhB41LPレンダーターゲットを変えた時などでしょうか
>>683
2Dオブジェクトは例えばスコアや、メニューなどに使用するのに
管理クラスのsetterを常に持ち続けてるから・・・?
>>684
list.add(pObj->draw()); という感じですか?
この場合複数のオブジェクトを描画する時はどうなるんでしょう
スコアクラスは1桁描画を複数回呼ぶと思います
そういう時は戻り値でデータを返せないのでは
結局引数で渡してリストへ登録
または2DObject自身がリストを保持し、そこへ各派生クラスが登録する
という形になってしまうのでしょうか
0686名前は開発中のものです。
2014/05/02(金) 20:24:35.53ID:tEs8rCVtプレイヤーの状態とかエフェクトとかシングルトンで管理していて今まではどこかのクラスから
Game::instance()->registerEffect(new Effect())
みたいにできたんだけどプレイヤーごとにGameを作るようにしたらこれができなくなって
ゲームのインスタンスをあちこちに渡さなきゃならなくなったんだけどこんなことしないでもできる方法ない?
0687名前は開発中のものです。
2014/05/02(金) 20:30:31.53ID:DPIL44M1renderer.add(PlayerObject); //プレイヤーキャラクターのオブジェクトを登録
renderer.add(EnemyObject); //敵キャラクターのオブジェクトを登録
…みたいなのとは全く別の話?
0688名前は開発中のものです。
2014/05/02(金) 20:32:36.22ID:DPIL44M1Gameクラスってなんじゃらほい?
いわゆるシーンとかシーケンスってやつ?
0689名前は開発中のものです。
2014/05/02(金) 20:37:30.44ID:Yjnja2zXシングルトンが用を足さない状態だからやめるのが手っ取り早いけど
とりあえずシングルトンインスタンスの取得にID等の引数もたせれば?
引数違いなら違うオブジェクトを返すてのは実装は容易でしょ
こういうどこでも使えるグローバル変数的な状況で使うシングルトンは嫌いだけどな
0690名前は開発中のものです。
2014/05/02(金) 20:42:33.50ID:Ru1dUuzyレンダリングターゲットを変えたときもあるかもしれないけど、
マルチスレッドで分割してトラバースするこもとあるし。
Direct3D11でコンテキストを複数作れるようになったしね
0691名前は開発中のものです。
2014/05/02(金) 20:45:40.07ID:Gu2dz6L1戻り値をVectorかなんかにしたら
>>686
instance()に引数渡して特定のインスタンス取得出来るようにする
これまでシングルトンだったのが複数必要になった時点で設計見直した方がいいような気もするけど
0692名前は開発中のものです。
2014/05/02(金) 20:54:53.01ID:tEs8rCVtEffectは別で管理している
シングルトンをやめるからどうするのが良いのかと思って聞いたんだ
ダブルディスパッチで敵の当たった処理とかしているんだけど
class Game {
Enemy enemy[];
}
class Enemy {
void hit() {
if( 死んだ ) { Effect::addEffect(new Effect()); }
}
}
みたいにしててどのエフェクトを使うかはEnemy側で決めるようにしたいからこうなったんだけど
GameにEffectのインスタンス持たせてEnemyにそのインスタンスの参照なりなんなり渡して
if( 死んだ ) { effect->addEffect(new Effect()); }
とかしても良いんだけどなんかしっくりこないんで気になったのよ
>>688
そうなんだけど実際あんまり関係なかった・・・
>>689
うまい設計思いつかなかったんよね
その方法手っ取り早いし良さそうです
0693名前は開発中のものです。
2014/05/02(金) 21:46:30.08ID:Yjnja2zXEnemyはどうしたってEffectへのポインタが欲しいわけで描画の関係からか複数存在してるとなると
初期化などでずっと持たせるのが嫌ならhitかそれ以上に位置するGameから呼ぶ関数に引数として渡すか
EnemyはGameクラスのポインタ位持ってるならGameのほうにAddEffect関数もたせてEnemyはそれを呼ぶか
スレッドセーフでない設計ならEffectポインタのグローバルか静的関数なGetterとSetter用意して
GameオブジェクトごとにEnemy更新前にSetterでGetterの戻り値となるポインタを入れ替え…止めた方がいいな
0694名前は開発中のものです。
2014/05/02(金) 22:17:39.20ID:DPIL44M1Enemy内から呼んでるんだよね?
0695名前は開発中のものです。
2014/05/02(金) 22:41:54.83ID:gb8xd1Drエフェクト番号とフラグを持たせれば良いんじゃない
0696名前は開発中のものです。
2014/05/03(土) 02:03:51.33ID:aTctHTqNそんな感じです
ですがそのrendererを渡そうか悩んでます
引数ですとかなり深い(?)ところまで渡す必要があるのではないかという感じです
>>690
引数で渡した方が自由が利きますね
めんどくささと柔軟性のどっちをとるかみたいな感じでしょうか
>>691
座標、テクスチャ、UV、色などのことを考えるとVectorかなんかだときつそうです
とりあえず引数で渡す方向で作ってみたいと思います
オブジェクト指向難しいです...
0697名前は開発中のものです。
2014/05/03(土) 06:24:50.92ID:aTctHTqN>>696
rendererを渡そうか×
rendererをどう渡そうか○
です
0698名前は開発中のものです。
2014/05/03(土) 14:23:28.87ID:yzrAO4fX0699名前は開発中のものです。
2014/05/03(土) 16:01:04.13ID:ZggXQf330700名前は開発中のものです。
2014/05/03(土) 18:27:55.89ID:Dtrz+is9A *a = new A();
f(*a);
こんな感じゃない
参照って殆ど使った事ないからあってるかどうかわからんけど
0701名前は開発中のものです。
2014/05/03(土) 19:07:15.30ID:hZKN3J0Pという本がオススメと言われたんですが、これ持ってる人いませんか?
役に立つ度合いとかアドバイスしてもらえたら嬉しいです
0702名前は開発中のものです。
2014/05/03(土) 19:31:10.25ID:R+meoZG601 この本はどんな本か
http://www.shuwasystem.co.jp/gpro-sp/
これを読みましたか?
0703名前は開発中のものです。
2014/05/03(土) 20:46:14.95ID:TVFyIiNSやっぱりそれぞれが持つしかありませんかねえ
呼び出し元をparentとかして持たせておくのって普通にやっていることなんですか?
この場合だとEnemy::parentにGameへの参照か何かを持たせるとか
>>694
はいそうです
0704名前は開発中のものです。
2014/05/03(土) 21:38:49.30ID:XwaCxcGs0705名前は開発中のものです。
2014/05/03(土) 21:46:57.91ID:XwaCxcGs各クラスがどのエフェクトを使うのか?というのをハッキリさせておいて
必要なものだけインクルードするようにすれば、そこまで気持ち悪いことにはならないんじゃないだろうか。
たとえばEnemyクラスは、Effect::GettingItem(アイテム獲得)とかEffect::PlayerDead(プレイヤー死亡)は不要だろう。
それすら気持ち悪いと思うなら(分からんでもない)、
ObserverとかListenerとかCallbackとかその辺に頼るとかでも良いんじゃない?
0706名前は開発中のものです。
2014/05/03(土) 22:35:18.25ID:Kqu7ExT3参照引数は「読むだけ」を意図してる場合が多いからconst付きが多いかな
>>703
>呼び出し元をparentとかして持たせておくのって普通にやっていることなんですか?
>この場合だとEnemy::parentにGameへの参照か何かを持たせるとか
その疑問は>>674-696のやり取りと同じ話っぽいね、俺も>>704-705に同意かな。
依存関係を明示すると違和感を覚えたり気持ち悪くなるのは、大抵の場合
依存関係の認識(or分析)が大雑把。依存関係を明示するとそれが露見しちゃう。
機能分割が大雑把。依存関係を詳細に分析すると広範に絡み合ってて一体でした。
とか。Gameへの参照は、恐らく要らん情報にアクセスする権利も与えてるから
依存関係の明示というより、広範に渡る権力へのアクセス権の譲渡なのかな?
君はこの世界に神になる。俺はいいと思うけどね。というか、はなっから
グローバルなサービスとして提供してしてもいいかもね。完成させてから
リファクタリングしたほうがいい
個人的な短期小規模開発(作り捨て)なら別に問題ない。完成と反省のサイクルよ
0707名前は開発中のものです。
2014/05/03(土) 23:45:58.24ID:yuGTooJm0708名前は開発中のものです。
2014/05/04(日) 00:03:34.32ID:4VZ37tn90709名前は開発中のものです。
2014/05/04(日) 00:09:25.10ID:LNtKUxSS電子版あるならそっちの方が捗りそうだ
0710名前は開発中のものです。
2014/05/04(日) 07:21:43.07ID:r1PwGAIh描画されるクラスはインターフェイスを実装
描画クラスはそのインターフェイスをリスト管理し順番に描画
ゲームクラスはデータクラスと描画クラスを管理し
必要に応じてデータクラスを作り、描画クラスに登録
ゲームクラスが当たり判定をして、エフェクトクラスをnew、描画クラスに登録
て感じじゃ駄目なの
0711名前は開発中のものです。
2014/05/04(日) 18:09:40.60ID:Oce/sxqqサンプルプログラムの修正版があるからそれ見て決めたら?
ちなみに独自のライブラリを使ってる
0712名前は開発中のものです。
2014/05/04(日) 21:44:57.67ID:o3zvQF1I飛行機乗客が減り、飛行場が苦労する
バス乗客が減り、高速道路が苦労する
結果的に、四国地方の経営破たん
0713名前は開発中のものです。
2014/05/06(火) 09:11:34.47ID:WKSS3LlW0714名前は開発中のものです。
2014/05/06(火) 10:42:16.25ID:2Ki+N293独自ライブラリですかー・・・
ありがとう。ちょっとどっかで立ち読み出来るまでは買い控えます。
0715名前は開発中のものです。
2014/05/06(火) 14:47:05.12ID:D61HzG9l本来スマートポインタはラクをするために使う。あとは好きにしろ
あと言語の使い方一般についての質問はプログラム板のほうがいい
【初心者歓迎】C/C++室 Ver.90【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1395675954/
はい、次の方どうぞ
0716名前は開発中のものです。
2014/05/06(火) 15:47:49.53ID:C6PkJkWu■ このスレッドは過去ログ倉庫に格納されています