トップページ⇒tech
1001コメント319KB

ゲームプログラムなら俺に聞け25

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/08/18(土) 15:24:39.18
エロゲしか作ったことないけど
なんでも聞いてちょ


【前スレ】
ゲームプログラムなら俺に聞け24
http://toro.2ch.net/test/read.cgi/tech/1337706979/


このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
0153デフォルトの名無しさん2012/08/20(月) 22:16:43.93
アクション系のゲームでパフォーマンス絡むと適切かどうかわからないけど、

名前が同じなら絶対パスで比較するとかは?

D == D and A.C.D == A.B.D

省リソース化は、Flyweightパターン等を参考にインスタンスを再利用するといいよ。
0154uY ◆gXFLM6waxs 2012/08/20(月) 22:29:48.06
>>151
SUGEEE流石ゲームPGだ
Thx!それ使わしてもらう

>>152
いや使い終わったSymbolも処理されないのがruby
元々Symbolはオブジェクトとかに使っちゃいけなかったのかもしれない
一回でも :aa ってやったら処理系再起動するまで永久に残ると思う
これセキュリティホールになりうる気がして仕方ない

>>153
あー、そういう手もあった
01551522012/08/20(月) 22:51:42.23
>>154
いやSymbolじゃなくてただの整数をIDとして使うんだよ
0156uY ◆gXFLM6waxs 2012/08/20(月) 23:01:16.03
いやだよ
書きえられる場所は文字列にした
0157デフォルトの名無しさん2012/08/20(月) 23:03:53.56
なんで嫌なんだよ?
個体識別には整数IDが正解だよ
意気地になってないでたまには素直に人のアドバイスも聞いたほうがいいよ
0158デフォルトの名無しさん2012/08/20(月) 23:20:25.99
オナニーできないアプローチを彼が取り入れるわけがない
0159uY ◆gXFLM6waxs 2012/08/20(月) 23:43:46.72
rubyにはobject_idっていうものがついてて
格オブジェクトに勝手に数字割り振られてるから
それだったら最初から出来てる

俺様がやりたいのは
文字列等で自分が分かる形での識別だし
0160デフォルトの名無しさん2012/08/20(月) 23:53:30.14
>>159
頭悪いんだなぁ
だったらそのIDから文字列生成すればいいじゃないか
ひょっとしてギャグで言ってない?
0161uY ◆gXFLM6waxs 2012/08/21(火) 00:22:59.41
死ね
0162デフォルトの名無しさん2012/08/21(火) 00:25:37.77
複雑にしなきゃ気が済まないんだもん☆ぷんぷん
0163デフォルトの名無しさん2012/08/21(火) 00:46:23.74
次の土日あたりには何食わぬ顔して戻ってくるんだろうと思ってたが
まさか1日もたないとは…
0164デフォルトの名無しさん2012/08/21(火) 00:50:53.90
いいんだよ、きてくれなきゃぽまいらもさびしいだろ
0165uY ◆gXFLM6waxs 2012/08/21(火) 01:44:03.48
>>160
あ、きつい事いっちゃってごめんね
object_idね、確かに良い手段だね
実装めんどくさいんだよアホが
0166デフォルトの名無しさん2012/08/21(火) 01:44:46.77
こんどはツンデレ系かよ
0167デフォルトの名無しさん2012/08/21(火) 01:49:52.77
すまんデレツンだった
おれもまだまだだな
0168デフォルトの名無しさん2012/08/21(火) 12:03:23.98
     ____
    /∵∴∵∴\
   /∵∴∵∴∵∴\
  /∵∴∴,(・)(・)∴|
  |∵∵/   ○ \|
  |∵ /  三 | 三 |  / ̄ ̄ ̄ ̄ ̄
  |∵ |   __|__  | < うるせー馬鹿!
   \|   \_/ /  \_____
      \____/
0169デフォルトの名無しさん2012/08/21(火) 14:45:06.26
rubyワラタ
0170デフォルトの名無しさん2012/08/21(火) 17:15:01.07
3Dのゲームを作りたいのですが、ツクールのように作成できるツールはありませんか?
C言語の基礎くらいなら勉強しました。
0171デフォルトの名無しさん2012/08/21(火) 17:34:57.45
>>170
ほらよ
http://tkool.jp/products/rpg5/
0172デフォルトの名無しさん2012/08/22(水) 23:58:34.51
2Dアクション作るのにオススメの参考書とか教えて下さいな
0173デフォルトの名無しさん2012/08/23(木) 00:06:25.78
2chはクズしかいない
0174デフォルトの名無しさん2012/08/23(木) 07:33:04.56
>>172
Programming 2D Games
http://www.amazon.com/dp/146650868X/

主に大学生を対象に書かれている。
ゲームエンジンを自作するところから、当たり判定処理などは当然として、
エフェクトやサウンド関係、ネットワーク処理まで扱っている。
0175デフォルトの名無しさん2012/08/23(木) 13:04:28.97
日本語の本ないんですか?
0176デフォルトの名無しさん2012/08/23(木) 13:40:11.74
うらおのWebサイトでも見てろ
日本語の初心者向けゲーム開発本で当たりは無いよ
だいたい初期化の呪文確認本
0177デフォルトの名無しさん2012/08/23(木) 14:48:11.83
あ〜あ…
0178片山博文MZボット ◆0lBZNi.Q7evd 2012/08/23(木) 16:28:33.17
いいのがないと思ったら、自分で出版しなさい
0179uy2012/08/23(木) 17:57:26.81
俺様的にC++での開発ならまずスマートポインタの作り方を本にかくべきだと思うけど手動でメモリ管理してるような書籍しか見たことない
ゲーム本かいてる奴のHP見に行ってももゲームなんて公開されちゃいないし手動解放してる箇所がソース中一カ所でもあったら初心者乙
って言いたくなるスマートポインタすらなかったらまず規模のあるゲームはバグだらけになって開発のスタートラインにすらたてない手動管理と手動解放はちがうだろかす
0180uY2012/08/23(木) 18:29:18.77
作り方書いてある本はカス
使い方で十分
0181デフォルトの名無しさん2012/08/23(木) 18:30:53.25
タイムマシンの作り方
0182デフォルトの名無しさん2012/08/23(木) 23:15:34.19
スマートポインタってw
0183uy2012/08/23(木) 23:17:36.21
は?
0184uy2012/08/23(木) 23:25:27.35
正直もうお前らとの技術交換なんて無意味だと思ってる
ソースが異質になりすぎた
お前らの常識はこちらに通用しないし
こちらの常識もお前らに通用しない

お前らは「プレイヤー」というものを作る時に、
"とりあえず"みたいな感覚で何も考えずに class Player とタイプするんだろうけど
俺がそれをやることはもう未来永劫ない

オブジェクトを作ってから、そのオブジェクトにプレイヤーという名前をつけ
、オブジェクトに変数を追加し、メソッドを追加し、当り判定を追加する
すべてインタンスを作ってから出来る事だよ

そうやってすべてのゲーム内オブジェクトを作るからクラス宣言する事がない

オブジェクト指向ってなんだったんですか
0185デフォルトの名無しさん2012/08/23(木) 23:30:39.15
流行
0186デフォルトの名無しさん2012/08/23(木) 23:44:42.97
>>184
それJavaScriptやってるひとからすると普通なんだけど
普通のことを大発見のように言うとかものすごく恥ずかしい
0187uy2012/08/24(金) 00:02:13.49
知ったかは黙れ
0188デフォルトの名無しさん2012/08/24(金) 00:05:53.73
なぜクラスベースOOPLが主流なのか考えたことないのか
0189デフォルトの名無しさん2012/08/24(金) 00:10:02.44
>>187
恥ずかしかった?
知ったか乙
0190uy2012/08/24(金) 00:17:48.83
発想くらいは思い浮かべた事はあるんだろうけど
その運用は厳しいものがある

それで効率的に設計を組んで開発出来ると思うならやってみろって話だ
処理を奥に隠してはいるけど実際どこも再帰だらけ
俺は今更、この再帰だらけのシステムから、非再帰のオブジェクト指向に戻る事は出来ない無駄な変数が増えまくることを知っているから

ラムダ計算によって、足し算もループも何でも出来るけど、ようは、ラムダをかさねる事によって、いろんな物が圧縮できるって事なんだと思う
だから変数もラムダによってなくなるし、処理もラムダによってなくなる
それをどこまで出来るか次第、0になってない時点で、俺もまだまだラムダと再帰が足りてない
けどもう俺のスペックではここのあたりが限界に近い
5年後、10年後にはさらに再帰できるかもしれないが、今の時点で話が全然合わないくらい設計が歪んでいるのに
5年後、10年後の俺様のソースはどうなっているんだろう
いまは忙しいから出来ないが、もう少し設計を成長させてみたくはあるよね
0191デフォルトの名無しさん2012/08/24(金) 00:19:29.82
uY→トリ
yu→ななし
でよろ
0192uy2012/08/24(金) 00:22:03.25
>>188
再帰で書くと、Windowsスタックオーバーフローするからだろ
人もだけどな


これだけは伝えたい、ラムダを(ネスト)かさねる事によって、
ソースコードに何かが起こる

ラムダ計算で、IF,FOR、数値、 全部ラムダだけで表現出来てしまうんだよ
つまりそういう事、

「この変数邪魔だな」と思ったら、どこかでラムダをかさねてかさねていけば
その変数はなくなるんだよ確実に、100%確実にな。

ループも同じ、IFも同じ、どこかでどんな形になるかは不明だけど、ラムダのネストによって
ソースコード中から消せないものはない
0193デフォルトの名無しさん2012/08/24(金) 00:28:39.19
最近関数型言語を勉強して使ってみたくなったんだねそういう気持ちわかるよ
でも使いたいだけで使ってるとそのうち無意味で非効率だったって気がつくんだ
0194デフォルトの名無しさん2012/08/24(金) 00:42:18.11
LISPが何十年前に通った道だそれ
あほらし
0195uy2012/08/24(金) 00:43:52.40
2年前に完成してそれからずっとこれを運用してる
だから安定化までにかかる時間コストを知ってる
お前らと話す時は、どーにか、この設計とオブジェクト指向で共通してる話題を探して
話を合わせてる
クラスなんて使ってないのに、クラスを使ってる事にして
ソースコード中のすべての変数がツリーで繋がってますとか想像できる?無理でしょ
だから理論上これは、引数もいらないし、グローバル変数もいらない
けど速度と、可読性のために、シンタックスシュガーとして引数やグローバル変数を利用してる

なんかもう違うと思う
もういいんだよ

この設計はやはり再帰しまくりだから、
やっぱりWindowsがスタック何とかしてくれないと、ある程度規模が大きくなればスタックオーバーフローするって事が、今日良く考えてみたらわかった

シーンの推移するのも再帰だからさー、シーン構造が下へ20階層くらいあったら、既に20回(設計上は20*3なので60回)再帰してるのと同じ、
で、さらに格シーンでオブジェクトもそこそこ再帰するから、
ゲームの規模大きくなったら、ちょっとやばいと思うよ
有限再帰が8000回(Ruby1.93)だとしたら、シーン階層が20(60再帰)だったら、7940回しか再帰できなくなってる
ゲームの規模が大きくなると再帰できる回数がどんどん減っていく、ユーティリティ関数でも最大3000再帰くらいはやりたいから
結構やばいんですよこれ
もしC++でやったら、スタックがもったいないからこれはローカル変数の宣言とか、1個もやっちゃダメだ
C++では不可能だ、ローカル変数がすべてヒープとして扱われてないと不可能な設計
0196uy2012/08/24(金) 00:54:57.50
>>194
Lispは通ったらしいね
俺もLispから学んでこれをやってる
この方法が廃れた理由って、スタックサイズの小ささと、プログラミングの難易度くらいしか思いつかないよ
それが克服できたら最高設計じゃね?

もう無理やり話を合わせるのは飽きてしまった
これが最強だよ? OOは、再帰で済むことを、フラットな設計でやっていく概念
再帰の方がソースコードは小さくなるにもかかわらず、人が再帰とメタを使いこなせないゆえにOOになる
0197uy2012/08/24(金) 01:11:29.67
やっぱいい
忘れてください
この技術はもう公開しないで俺様自身の武器にする事にしてる
もう2chで語らない
最近、遅延評価を使い始めた、これはかなり使える、ゲームで使ってる奴いる?
関数型は否定していたのに、
俺はruby触ってたらいつの間にかほぼ関数型の方面に来ちゃってるような気がする
話が合わないわけだと思うんです、しかも純粋な関数型じゃなくて、オブジェクト指向言語として作られたrubyで関数型(?)の設計だから、
新種の意味不明な誰も知らない設計
もういい。ほんとにいい。
0198デフォルトの名無しさん2012/08/24(金) 01:13:45.65
コールスタックみたら30段とか普通。スタックは300kbもあれば十分。
C++最強。
0199デフォルトの名無しさん2012/08/24(金) 01:21:44.92
つーか>>9みたいなコード晒しといてよく言うよ。失笑ですよ。
0200uY2012/08/24(金) 01:31:37.05
そのコードは認めとけよ
いまはそれを遅延評価で使ってる
遅延評価で数列を必要な分だけ生成する
またはnextでひとつずつみていって無限リストとして扱う

あと、uYカウンタは3つじゃなくて、あの後少し考えたらもう4つほ作ってしまったわ
uYカウンタは7つになった
カウンタというかもう、遅延評価による数列の生成メソッド
ついてこれる・・・?
0201uY2012/08/24(金) 01:32:18.53
>4つほ作ってしまったわ
4つ ほ ど !
0202デフォルトの名無しさん2012/08/24(金) 02:04:12.52
あれ、まだいたんだ?
それともトリ外してるからまた別のuyが来たのかな
0203デフォルトの名無しさん2012/08/24(金) 02:10:37.47
お前な、
ゲームで使うカウンタは突き詰めると3種類。
だから俺が使う数列ジェネレータはわずか3つのみ!!!!!!!!
とか言ってた奴が7つに増やしたところで誰が評価するんだよ。
勘でソフト作んのも大概にしろや。
0204デフォルトの名無しさん2012/08/24(金) 02:30:35.51
好きに作っていいのよ
0205uy2012/08/24(金) 02:39:12.66
シンタックスシュガーが必要なんだよ
つか新たに追加した4つのカウンタはカウンタってより思いきり数列パターン生成で数列とはいってるものの数字限定じゃない
数字+アルファベットやオブジェクトなどの配列の並び順のパターンを生成する無限リストの遅延評価最強ライブラリだよ
これはたとえば5フレームに一回だけ処理したいとか、で5フレームに一回した後の処理をAだとすしてその後また5フレーム後に一回の処理をするがその次の処理はAではなく任意にかえることもできる
あらかじめそういうメソッドの流れを配列パターンにして遅延評価するんだよ後からでもパターンは動的に変えられるけどなリンクリストやグラフ構造を簡単に生成する為のようなライブラリでもある
なにいってるかわかんね
時代は遅延評価に入ったから無限リスト扱えない言語は終了
0206デフォルトの名無しさん2012/08/24(金) 03:29:26.80
自民党内から文化交流停止の訴え「韓流、K-POPとかサムスン等も禁止したらいい」
http://engawa.2ch.net/test/read.cgi/poverty/1345744956/


 竹島、尖閣諸島と日本の領土をめぐって問題が続くなか、経済制裁を求める声が高まっている。日本政府は
李明博大統領(70)の竹島訪問と天皇陛下に対する発言への追加対抗措置の検討に入った。

 政府は次官級以上の協議と韓国政府職員の招聘の凍結を予定。全府省庁は日韓両国が関わる政策、会合など
交流事業を再点検している最中だ。19日には竹島で李大統領の名前を刻んだ標石の除幕式が行われたこともあり、
国民の怒りは高まるばかり。政府としても何かしらの対抗措置を取らないと世論を抑えられないとの判断がある。

 自民党は日韓スワップ協定の見直しを求める声明を出し、藤村修官房長官(62)も「検討することはあり得る」と発言。
これだけにとどまらず、自民党内からは文化交流停止の訴えも出てきた。

「韓流だとかK―POPとかも禁止したらいい。少女時代もKARAもアウト。韓国製の電化製品なども日本に
入ってきますが、不買運動もきっと起きますよ」(自民党関係者)

 韓流ドラマもK―POPも今ではテレビで見ない日がないほどだが、竹島問題を契機に禁止してしまえというのだ。
テレビ局にも「こんな時期に韓流ドラマを放送するのはおかしい。控えるべきだ」という投書が寄せられているという。
禁止しなくても、李大統領の暴走のおかげで、もはや韓流は風前のともしびなのだ。

ソース:http://www.tokyo-sports.co.jp/nonsec/32494/
0207デフォルトの名無しさん2012/08/24(金) 03:41:40.03
わりとどうでもいい
0208デフォルトの名無しさん2012/08/24(金) 08:56:16.36
知能の人格プログラム実装のアルゴリズム本が欲しいですが、検索しても見つかりません
0209デフォルトの名無しさん2012/08/24(金) 12:37:03.10
それは残念だったな
0210デフォルトの名無しさん2012/08/24(金) 13:42:10.46
オライリーのAI本でいいやん
基礎的で簡単なことはそこそこ載ってる
0211デフォルトの名無しさん2012/08/24(金) 19:45:07.57
>>205
無限リストはどの言語でもイテレータパターンでできるよ
0212デフォルトの名無しさん2012/08/24(金) 22:16:52.56
>>208
はじめてのaiプログラミングが一番簡単でいいよ
0213uY2012/08/25(土) 00:42:25.71
>>211
知ってるよ
流石に無限リスト扱えない言語終了は冗談

実装できるかどうかではなく手軽に使えると便利な道具が1つ増えるってだけ
0214デフォルトの名無しさん2012/08/25(土) 00:48:49.56
トリ
0215uY ◆gXFLM6waxs 2012/08/25(土) 00:57:24.39
消えます
0216デフォルトの名無しさん2012/08/25(土) 01:07:51.46
>>215
おお、おいす〜
って消えたらだめぇ〜
0217デフォルトの名無しさん2012/08/25(土) 02:12:07.46
ぷよぷよのAIだっけか。 まずAI作るためにぷよぷよ作れって話だよなww
0218デフォルトの名無しさん2012/08/25(土) 17:29:58.22
学歴脳だなぁ
いくら技術を身に付けてもテンプレゲーにしかならないなら四字熟語諺だし
0219デフォルトの名無しさん2012/08/25(土) 18:20:05.15
不毛な争いw
0220デフォルトの名無しさん2012/08/25(土) 20:14:29.84
ぶひ
0221デフォルトの名無しさん2012/08/25(土) 20:59:00.54
韓国征伐国民大行進!! in 新宿
http://live.nicovideo.jp/watch/lv105494675

韓国征伐国民大行進(*`Д´)ノ!!!
http://live.nicovideo.jp/watch/lv105376241

ミラー 韓国征伐国民大行進(?*`Д´)ノ!!!
http://live.nicovideo.jp/watch/lv105485599

櫻花さんミラー 韓国征伐国民大行進!! in? 新宿
http://live.nicovideo.jp/watch/lv105499908


★【日韓断交共闘委員会開催】
★キレイ事禁止御意見無用
★【開催日】平成二十四年八月二十五日(土曜日)
★ 【時間】午後十六時集合、十六時三十分出発
★【集合場所】東京都新宿区西新宿七番地
★柏木公園
★【呼びかけ人】荒木しほ★せとひろゆき★桜井誠★加藤哲史★金友隆幸★菊川あけみ★中井ケイノスケ
世界一の反日国家ユスリ、タカリ、イカサマ国家に対しとことん糾弾をしよう!!
日本人よ!もう我慢する事はない!!
★日章旗、旭日旗、Z旗プラカード持ち込み歓迎!!
★服装自由!!
【注意事項】キレイ事禁止!チマチョゴリ、人民服など現場にそぐわない服装は御遠慮下さい!!
ゴキブリ旗歓迎!
現場の指示には必ず従って下さい!!
自分勝手な行動はつつしんで下さい!!
★【代表世話人】愛国者市民団体日の丸友の会★中井ケイノスケ。
0222デフォルトの名無しさん2012/08/25(土) 22:06:45.12
クラスの作り方に関して質問がある。

2Dゲームでも3Dゲームでも、アクションでもRPGでも何でもいいんだが、
フィールドに多くのキャラクタを置いて活動させるとする。

キャラクタ同士の当たり判定処理などを軽くするため、
フィールドを4分岐や8分岐などでいくつかのサブフィールドに分け、
各キャラクタはどこかのサブフィールドに居るという仕組みを作る。
キャラクタはサブフィールドをシームレスにまたいで移動できる。
(つまりサブフィールドはあくまで内部処理のためで、ゲーム性には無関係)

この場合、クラスとしては次のように分けられる。
[Field クラス] [SubField クラス] [Character クラス]

[Field クラス] はいくつかの [SubField クラス] を保有し、
[SubField クラス] はいくつかの [Character クラス] を保有する。

ここで質問なんだが、キャラクタをフィールド上で移動させるメソッドは、
どのクラスが持つのが自然なのだろうか。

今のところ私は(世界観に関わらず)キャラクタはフィールドという盤上の駒であると見なし、
キャラクタを移動させるメソッドはトップの Field クラスに持たせようかと考えいる。

この場合、キャラクタがサブフィールドをまたぐ時の処理が楽になると思う。
その代わり、この考え方を徹底すると、おそらくキャラクタの移動以外にも、
フィールド内で起こる全の事象の発火点となるメソッドは Field クラスに集まることになる。
事象が増えてくるとクラスの規模が膨らみ、やっかいなことになるかもしれない。

みんなはこの辺りの問題をどう解決(取り組む、妥協)しているのか訊きたい。
0223デフォルトの名無しさん2012/08/25(土) 22:19:53.86
キャラが動かずに誰が動くよ

キャラが動いたらそれをFieldに伝えてFieldがSubFieldに伝えるんじゃ
0224デフォルトの名無しさん2012/08/25(土) 22:26:16.07
うん>>223の言う通りだろ
位置情報だろうが何だろうが
キャラクターの情報はキャラクタークラスに持たせるのが普通じゃね?
0225デフォルトの名無しさん2012/08/25(土) 22:50:48.13
あっそ
0226右翼 ◆gXFLM6waxs 2012/08/25(土) 22:58:27.41
あたり判定だけは例外的に速度の為にフィールドクラスでやらせないとダメな場合があるってだけで
本当ならあたり判定もオブジェクトごとに操作してフィールドクラスはほとんど空っぽな状態が好ましいと俺様は思う
0227デフォルトの名無しさん2012/08/25(土) 22:58:56.96
>>226
おいw
その名前はやめれw
02282222012/08/25(土) 23:35:27.72
俺は、Character クラスと Field クラスには(移動に関しては)
それぞれ次のようなメソッドを持たせるつもりだった。

Character クラス 「座標パラメータを単に上書きするだけのメソッド」
Field クラス 「キャラクタの移動に関する一連の処理をするメソッド」

Field クラスのこのメソッドの内部で、Character クラスのこのメソッドを呼ぶ。
Field クラスのこのメソッドは更にキャラクタの移動後の座標を SubField クラスに渡し、
座標がサブフィールド内に収まっているかどうかを判定してもらう。
などなど・・・

一方 >>223 の言う、キャラが動いたらそれを Field クラスに伝えて、
Field クラスが SubField クラスに伝えるというのは、
Field クラスは「キャラが動いたという通知を受けるメソッド」を持たせ、
それを public で公開して Character クラスから呼ばせるということだよね。
そのメソッド内では、たぶん俺の上記と同じような処理を行うことになると思う。

違いは、処理の起点が Field クラス(俺)か、Character クラス(みんな)か、
ということだけだと思うけど・・・

俺の考え方のマズさはどこにある?
0229デフォルトの名無しさん2012/08/25(土) 23:46:35.47
Fieldの責務が大きすぎて鬱になって会社に来なくなるところ
02302222012/08/25(土) 23:49:57.55
>>229
でもさ、>>223 の方法だって
結局は Field クラスに重い処理を投げてるように見えるんだが。
0231デフォルトの名無しさん2012/08/25(土) 23:50:58.43
>>228
たとえば周辺をうろつくNPCとか一定の距離を往復するNPCとか
キャラ毎の移動特性をFieldが全部知ってる必要が出てくる。
0232デフォルトの名無しさん2012/08/25(土) 23:54:34.48
>>230
重くないよFieldクラスは中間管理職
SubFieldにCharactor cがPoint pに移動したことをブロードキャストするだけ
数行で書ける内容だよ
0233デフォルトの名無しさん2012/08/26(日) 00:06:03.70
Fieldがキャラから移動通知をうけたとき:
 ・全てのSubFieldへキャラの移動通知を行う

SubFieldがFieldからキャラの移動通知をうけたとき:
・該当のキャラが自分の管理下にある場合、そのキャラを自分の管理下から削除する
・座標pが自分の管轄の場合、該当のキャラを自分の管理下に登録する

を行えばいい
02342222012/08/26(日) 00:08:32.71
>>231
なるほど、それは一理ある。
しかしそれに関しては、俺の方法の「座標パラメータを単に上書きするだけのメソッド」
を Character クラスに持たせていることに問題の本質があると思う。

例えば「任意に移動するメソッド」を Character クラスに持たせ、
そのメソッドの中でキャラクタ毎の特徴ある移動をさせ、
移動後の座標を返すようにすれば問題は解決する。
Field クラスはその座標を SubField クラスに渡して検査すれば良い。

移動処理の起点を Character クラスではなく Field クラスにすることのマズさは、
指摘されていないような気がする。


>>232
すまん、重いと言ったのは誤りだった。
が、処理を投げてはいるので、Field クラスの責務に関して違いは無いような気がする。

起点が違うだけなんじゃないかな。
02352222012/08/26(日) 00:10:49.11
>>233
それは、俺の方法でも全く同じだと思う。

Field クラスがキャラから移動通知を受けるのか、
Field クラスがキャラを動かすのか。

この違いがあるだけで、その後の処理は、
俺の方法もみんなの方法も >>233 と同じじゃないかな。
0236デフォルトの名無しさん2012/08/26(日) 00:14:35.75
>>233
全通知とか豪快だなw
小心者の私ならFieldクラスで座標からどのSubField管轄か計算して通知するな
移動元と先の2点が必要になるけど、元はキャラに保持してるだろうし
0237デフォルトの名無しさん2012/08/26(日) 00:16:12.08
>>236
ワイルドだろう?
0238uy ◆gXFLM6waxs 2012/08/26(日) 00:18:27.06
移動通知っていうのがまず冗長なんだよメッセージのやり取りなんてのは便利だけどハードコーディングになるから最終手段フィールドクラスで移動したかどうか監視するように書いちゃえよ
キャラクターはただ動くだけフィールド側のあたり判定の実装具合のために移動通知とか基地外tmp x y 座標もたせて&ビット演算で監視余裕
その処理さえイヤならオブジェクトから直接サブフィールドへ移動通知したほうがはるかにマシつうかあたり判定クラスを各オブジェクトにミックスイン(継承)でいいじゃん俺はそうしてる
0239デフォルトの名無しさん2012/08/26(日) 00:27:36.22
>>234
確かにキャラの座標変化は自分でやらせておく前提があれば
Fieldが御用聞きに回るほうが実装がすっきりすると思う
後はキャラのすり抜け等の問題に気をつければOK
0240デフォルトの名無しさん2012/08/26(日) 01:39:33.41
>>223
AABBだっけ。そのへん調べればいいじゃなかったか。
0241デフォルトの名無しさん2012/08/26(日) 04:01:17.76
レベル低すぎワロタw
0242デフォルトの名無しさん2012/08/26(日) 07:57:38.33
>>241
レベルの高い回答はよ
0243uy ◆gXFLM6waxs 2012/08/26(日) 10:09:18.60
今までおまえ等ありがとう
俺はもう
気が逝ってしまった
もどれない
しぬんだ
しぬ
0244デフォルトの名無しさん2012/08/26(日) 10:57:06.04
>>243
せめて3日ぐらいはその調子を維持しろよ
毎度毎度その日のうちに撤回してんだから
0245デフォルトの名無しさん2012/08/26(日) 11:35:56.48
>>243
どーした
まぁ、元気出せや
0246デフォルトの名無しさん2012/08/26(日) 16:57:32.29
久しぶりに絵とかシナリオ書いたら、腕が落ちすぎてて絶望したんだろ
まぁ多方面で頑張れや
0247デフォルトの名無しさん2012/08/26(日) 17:42:42.48
http://news.searchina.ne.jp/disp.cgi?y=2011&d=1110&f=national_1110_048.shtml
韓国人男性が指を切り日本大使館に送付、竹島領有権を主張=中国
 韓国の男性が竹島領有権を主張するために、自分の指を切断し日本大使館に送っていた
ことが分かった。男性は韓国の警察によって書類送検された。
中国メディアの環球網が9日に報じた。
 記事によると、書類送検されたのは韓国の蔚山(ウルサン)広域市在住の47歳の男性。
男性は「日本の竹島領有権主張」に抗議するため、これまでも何度か日本大使館前で自傷
騒ぎを起こしていた。
 男性は2011年5月25日に自らの左手小指を切断し、宅配便を利用して日本大使館へ
送った疑いが持たれている。警察は届出を受けた後、男性に対して「拘留しないままの立
件調査」を行った。

 男性は11年4月末にも日本大使館前で指を切り落とす騒ぎを起こしている。
韓国警察によると、「今回の事件で容疑者の小指は日本大使館まで送り届けられたが、
大使館側が指を確認したのかどうかは分かっていない」という。
 韓国の警察関係者によれば、男性は「今年の福島原発の事故発生以来、韓国人が次々と
日本のために寄付をしているというのに、日本側は依然として竹島(韓国名:独島)の領
有権を主張している。これがどうにも我慢(がまん)できなかった」と主張している。
0248uy ◆gXFLM6waxs 2012/08/26(日) 20:45:51.84
もうこれない
0249デフォルトの名無しさん2012/08/26(日) 21:48:53.99
キチガイ
0250デフォルトの名無しさん2012/08/26(日) 23:10:54.90
プロウヨ
0251デフォルトの名無しさん2012/08/27(月) 00:59:18.15
キャラクターの動きに少しぶれるように遅れてついてくるカメラを作りたいんですけどどんなアルゴリズムがいいかな?
0252デフォルトの名無しさん2012/08/27(月) 01:12:09.30
カメラクラスのビークルをいつもの追跡タイプにするだけだろ
■ このスレッドは過去ログ倉庫に格納されています