11月の日記ログ

11月分の日記が,行数オーバーで一部消えてた.すんません.

November, 25. 2008
非常に小学生な人達が寮にいました.多分,寮の外の人達でしょう.
風呂場から外に出て叫び声(奇声)を上げながら,三階を駆け回っていました.
正直思ったのですが,日本の将来は大丈夫なのか?あんなのが労働者階級の一柱を支えると思うと憂鬱です.
どうか私が死ぬまで,私に関わることのないことを切に願います.
ついでに社会を支えないでほしいですねw(><)愚痴を言ってすいませんでした.
名前:
コメント:

November, 17. 2008に書いた問題の解決策(?)
MemberwiseClone( )というメソッドを使う.
これは,インスタンスのコピーを作る機能を持っている.
もっと分かりやすく言えば,自分自身と同じクラスのインスタンスをnewして,
自分自身のなかに持っているデータをそっくり丸ごとnewしたインスタンスにコピーしてやる,という機能を持つメソッドです.
探したら割と簡単に発見できました.よく文章を読んでなくて飛ばしてたようです.
しかし,どうにもディープコピーとシャローコピーが毎回ごっちゃになるな~.
以上です.

なんかどんどんページ増やしてしまったが,破滅フラグっぽいなwwww間に合わなくなるかも…
それに微妙に逃避行動っぽいしな~.
名前:
コメント:

November, 18. 2008
今週の金曜日は第一イテレーションチェックです.終わると思うけど,どうだろうね~.
それと,今回からイテレーションチェックに進捗具合やゲームの企画に関してプレゼンテーションをすることになってます.
資料を作成するのが結構大変だ.
名前:
コメント:

November, 17. 2008
最近にあった問題です.C#に微妙な部分があった.
イテレータ(Enumrator)を二重ループさせるときに問題が発生した.
cppソース

  1. for( Map::iterator i ( mGroup.begin () ); i != mGroup.end(); ++i )
  2. {
  3. // 同一グループをペアで訪問
  4. (*i).second->AcceptPair( pair );
  5. // ほかのグループで訪問
  6. Map::iterator j( i );
  7. for( ++j; j != mGroup.end(); ++j )
  8. {
  9. AcceptPair( *(*i).second, *(*j).second, pair );
  10. }
  11. }
  12.  

csソース

  1. IEnumerator< EntityManager< Entity > > first = m_group.Values.GetEnumerator();
  2. int count = 0;
  3. while( first.MoveNext() )
  4. {
  5. // 同一ペアグループをペアで訪問する
  6. first.Current.AcceptPair( pair );
  7.  
  8. IEnumerator< EntityManager< Entity > > second = m_group.Values.GetEnumerator();
  9.  
  10. // 重複しないように要素を進める
  11. ++count;
  12. for( int i = 0; i < count; ++i )
  13. {
  14. second.MoveNext();
  15. }
  16.  
  17. while( second.MoveNext() )
  18. {
  19. AcceptPair( first.Current, second.Current, pair );
  20. }
  21. }
  22.  
ちなみに,ここで問題になっているのが,C#でオブジェクトを代入するとシャローコピーされてしまうので,C++のように素直に二重ループで回せないということです.
ディープコピーしようにも,EnumratorにCloneメソッドはないし,Srializeできないし,代入できないしと不便極まりない.
私がやり方を知らないだけなのか思いつかない愚者なのかは分からないが,どうかこの勉強不足な私に誰か教えてください.
やりたいことは,同じ処理をさせているがC#の方は分かりづらい.もっと分かりやすいコードに直したいということです.
  • IEnumerator< EntityManager< Entity > >をDictionary<TKey,EntityManager< Entity >>.ValueCollection.Enumeratorにすればできた。interfaceじゃなくてstructにすればOk -- アキラ (2008-11-19 01:01:55)
名前:
コメント:

November, 16. 2008
十月中に色々やるとか言っておきながらほとんどできてない.
時間はあったのだが,どうにもグダグダしてしまった.
とりあえず,気を取り直して頑張っていきます.
  • やばいよ~.来年の4月から社会人なのに,色々準備できてない… -- 管理人 (2008-1


最終更新:2008年12月01日 00:06
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。