<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/cucumber/">
    <title>キューカンバーの覚え書き</title>
    <link>http://w.atwiki.jp/cucumber/</link>
    <atom:link href="https://w.atwiki.jp/cucumber/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>キューカンバーの覚え書き</description>

    <dc:language>ja</dc:language>
    <dc:date>2009-04-29T02:59:50+09:00</dc:date>
    <utime>1240941590</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/cucumber/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cucumber/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cucumber/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cucumber/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cucumber/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cucumber/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cucumber/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cucumber/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cucumber/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cucumber/pages/13.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/cucumber/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/cucumber/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
-[[ゲームなこと]]
-[[XML]]
-[[XNA]]
-[[html(css)]]
-[[エクセルVBA]]
-[[雑記]]

----
-[[テンプレート]]

-[[リンク]]
--[[プラグイン紹介&gt;プラグイン]]
--[[まとめサイト作成支援ツール]]
// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります

**更新履歴
#recent(5)

&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2009-04-29T02:59:50+09:00</dc:date>
    <utime>1240941590</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cucumber/pages/19.html">
    <title>エクセルVBA</title>
    <link>https://w.atwiki.jp/cucumber/pages/19.html</link>
    <description>
      #contents
----
*画面の更新
**画面の更新を止める～動かす
起動関数の始めと終わりに記述

&gt;    Application.ScreenUpdating = False
&gt;    ～処理～
&gt;    Application.ScreenUpdating = True

*オートフィルタ
**VBAでオートフィルタの状態を調べる
&gt;    if Worksheets(&quot;Sheet1&quot;).AutoFilterMode = False then &#039;フィルタは適用されていない
&gt;    if Worksheets(&quot;Sheet1&quot;).AutoFilterMode = True then &#039;フィルタは適用されている
&gt;    Worksheets(&quot;Sheet1&quot;).Filters(n)  &#039;フィルタの種類（複数の場合有り）

#right(){&amp;link_up(上へ)}
----
#comment    </description>
    <dc:date>2009-04-28T20:46:29+09:00</dc:date>
    <utime>1240919189</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cucumber/pages/18.html">
    <title>雑記</title>
    <link>https://w.atwiki.jp/cucumber/pages/18.html</link>
    <description>
      大きくなったら分割するかな？

#contents
----
*コマンドプロンプト
「ファイル名を指定して実行」→「cmd」

**コマンド
|cmd|bash|
|dir|ls|
|cd /d|cd|

**起動時のディレクトリ
ショートカットを作成、オプションから「作業ディレクトリ」を変更。
#right(){&amp;link_up(上へ)}

*TortoiseSVN
[[http://tortoisesvn.tigris.org/]]
[[http://sourceforge.jp/magazine/08/08/29/0550232]]
バージョン管理ツール。グループ開発においてソースのバージョン管理を簡単にする。
個人開発においても、変更しすぎても安定リビジョンに戻すことが出来るので安心。
差分情報の管理なので、細かくコミットしてもディスクを圧迫しにくい。

**ブランチ
ドキュメントのコピーを管理する機能。以下の用途に使用できる。
個人開発の場合はリリースブランチ用途に使用できるか。
-作業ブランチ
--リポジトリの本流（trunk、トランク）にはコミットできない状態や、修正範囲が広く作業完了までに他の本流の場所で作業している人たちに影響を与えたくない時に、本流の場所とは別のフォルダにコミットしておく場所。
-リリースブランチ
--特定時点でリリースした状態を保存しておく時に使用される。
--リリースブランチ作成ポリシー例
&gt;フォルダ名...リリースバージョン_固有名称_リリース日時

**マージ
二つのリポジトリのツリーが比較され、その差分が作業コピーに適用される。
作業ブランチでの作業が終わったときに、本流にマージするとき必要。
リビジョン番号を指定、比較画面を確認してマージする。

**タグ
基本的に、リビジョン番号に関係なく各ファイルにラベルを付けること。
#right(){&amp;link_up(上へ)}

*jude
[[https://jude.change-vision.com/jude-web/index.html]]
UMLモデリング＆システム設計ツール

**&amp;aname(JUDE/Professional,option=nolink){JUDE/Professional}
[[https://jude.change-vision.com/jude-web/product/professional.html]]
UML＋マインドマップ＋エトセトラ。
***ライセンス
1ライセンス28000円
1年ごとにサポートライセンス6000円

**Jude Community
[[https://jude.change-vision.com/jude-web/product/community.html]]
UML作成機能のみを取り出した（そして機能制限した）&amp;link_anchor(JUDE/Professional){JUDE/Professional}。
***ライセンス
無償。
#right(){&amp;link_up(上へ)}

*VBA
**VBAでオートフィルタの状態を調べる
if Worksheets(&quot;Sheet1&quot;).AutoFilterMode = False then &#039;フィルタは適用されていない
if Worksheets(&quot;Sheet1&quot;).AutoFilterMode = True then &#039;フィルタは適用されている
Worksheets(&quot;Sheet1&quot;).Filters(n)  &#039;フィルタの種類（複数の場合有り）


*参考
[[お役立ちフリーソフト一覧&gt;&gt;http://itpro.nikkeibp.co.jp/article/COLUMN/20080415/299085/?ST=develop]]
[[＠Wiki利用ガイド＞プラグイン&gt;&gt;http://www1.atwiki.jp/guide/pages/931.html#id_e6d5214f]]
[[firefox theme Full Flat&gt;&gt;https://addons.mozilla.org/ja/firefox/addon/6971]]

----
#comment    </description>
    <dc:date>2009-04-17T17:58:19+09:00</dc:date>
    <utime>1239958699</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cucumber/pages/16.html">
    <title>ゲームなこと</title>
    <link>https://w.atwiki.jp/cucumber/pages/16.html</link>
    <description>
      ゲームプログラミングはたのしいですよ

#contents
----
*衝突判定
ボクは四角いキャラクターしか扱えませんし、３Dなんて触ったこともないので、ここでは矩形同士の判定について書きます。
２Ｄの矩形のあたり判定を真面目に書くなんて、なんて頭の弱い子なんだ！

**前提条件
-オブジェクトは位置と大きさを持つ。&amp;br()harfWidthとharfHeightは、widthとheightをそれぞれ半分にしたものです。&amp;br()だって、ほとんど半分の値で調べるんだもの。
|位置|position.X / position.Y|
|大きさ|harfWidth / harfHeight|
-片方のオブジェクトは速度を持つ&amp;br()あたり判定はオブジェクトの移動と切り離すことができません。移動→判定ですよね！&amp;br()なぜ片方かといいますと、両方同時に移動するのは大変だからです（何&amp;br()私のような凡人のつくるゲームに、一般的な判定処理を入れるなんて難しすぎてできません。&amp;br()片方のみ移動し、当たり判定を行うことにいたします。
|速度|speed.X / speed.Y|
別に変数名にこだわりはありません。velocityとか、わかりやすい名前を付けてくださいね。

**キャラクター同士のあたり判定
たとえば、主人公（Hero）と敵キャラクター（Enemy）のあたり判定です。
当たっていればtrue, 当たってなければfalse。簡単ですね。
#ref(http://www14.atwiki.jp/cucumber/pub/CollisionCheck.png)
条件式は以下な感じでどうでしょう。
 ((Hero.position.X + Hero.speed.X + Hero.harfWidth) &gt; (Enemy.position.X - Enemy.harfWidth) &amp;&amp;
  (Hero.position.X + Hero.speed.X - Hero.harfWidth) &lt; (Enemy.position.X + Enemy.harfWidth) &amp;&amp;
  (Hero.position.Y + Hero.speed.Y + Hero.harfHeight) &gt; (Enemy.position.Y - Enemy.harfHeight) &amp;&amp;
  (Hero.position.Y + Hero.speed.Y - Hero.harfHeight) &lt; (Enemy.position.Y + Enemy.harfHeight) )
 {
     isHit = true;
 }
簡単にいえば、2つのオブジェクトの距離がオブジェクトの大きさより小さければ、当たってるんですね。
そんな条件式に見えないけどね。
上を分かりやすく変形すれば以下の式になる（はず）です。
 ((Math.Abs(Hero.position.X + Hero.speed.X - Enemy.position.X) &lt; (Hero.harfWidth  + Enemy.harfWidth )) &amp;&amp;
  (Math.Abs(Hero.position.Y + Hero.speed.Y - Enemy.position.Y) &lt; (Hero.harfHeight + Enemy.harfHeight)) )
 {
     isHit = true;
 }
#right(){&amp;link_up(上へ)}

**マップとのあたり判定
ここでは２Ｄアクションゲームを考えて、
&amp;bold(){マップにあたっていればあたる寸前に戻す}
処理を作りたいと思います。

#right(){&amp;link_up(上へ)}
----
#comment
----    </description>
    <dc:date>2009-01-14T00:28:14+09:00</dc:date>
    <utime>1231860494</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cucumber/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/cucumber/pages/1.html</link>
    <description>
      *キューカンバーの覚え書き
ｷｭｰｶﾝﾊﾞｰが覚えたことをまとめて、整理して、忘れないように・・・
主にプログラミングとか、そんなの。
文体がいろいろですけど、自分用のまとめなので気にしないように。

*ｷｭｰｶﾝﾊﾞ-
-きゅ（挨拶）
-主にプログラムとかの仕事をしている。仕事ではC，C++，Javaなんかを使用しています。
-ゲームつくるのは趣味。&amp;br()プログラミング関係の本を読むのも趣味。C#とか、XMLも趣味の延長です。
-[[エイバース&gt;http://www.abars.biz/]]に少なくない影響を受けている。&amp;br()技術によって！
-オタク・クリスチャン万歳

*バグ・不具合を見つけたら？ 要望がある場合は？
お手数ですが、コメントにてご指摘ください。
----
#comment
----    </description>
    <dc:date>2009-01-14T00:27:13+09:00</dc:date>
    <utime>1231860433</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cucumber/pages/17.html">
    <title>XNA</title>
    <link>https://w.atwiki.jp/cucumber/pages/17.html</link>
    <description>
      だから信頼性は皆無ですってｗｗ

#contents
----
*XNAとは
-マイクロソフトによって提供された、ゲーム開発のためのツールである。
-C#で開発する。
-筆者はMicrosoft Visual C# 2005 Express Editionで開発中。
-Windows用、Xbox360用にコンパイル可能。
#right(){&amp;link_up(上へ)}

*インストール
http://sorceryforce.com/xna/tips_installxnagamestudio.html
#right(){&amp;link_up(上へ)}

*プロジェクト作成
メニューバーから、&amp;bold(){ファイル→新規作成→プロジェクト}
XNA Game Studio 2.0から、&amp;bold(){Windows Game(2.0)}を選択
プロジェクト名を入力。
[[テンプレート]]の出来上がり。
#right(){&amp;link_up(上へ)}

*public class Game1 : Microsoft.Xna.Framework.Game
以下の関数がテンプレートとして用意されます。
**public Game1()
コンストラクタ。
ボクはデフォルトからいじってません。
        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = &quot;Content&quot;;
        }
**protected override void Initialize()
初期化関数。
コンストラクタと Initialize() メソッドの違いは、あるらしいが今は関係なさそうなのでほおっておく。
このあたりの初期化処理内部でごちゃごちゃやってます。
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here
            game = this;
            TaskListmng.CreateInstance();
            Mapmng.CreateInstance();
            
            base.Initialize();
        }
**protected override void LoadContent()
音とか、画像とかを読み込みなさいと言っている。
ボクはフォントなど、ゲームで一貫して使うリソースの読み込みと、デバッグ用のコードを（デバッグ用主人公作成とか）足したものを使用している。
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            sysfont = Content.Load&lt;SpriteFont&gt;(&quot;Arial&quot;);
            spriteBatch = new SpriteBatch(this.GraphicsDevice);
            
            // 見た目の200,200にHeroを作成
            CharactorFactory.Instance.CreateCharactor(
                new task.Hero(new Vector2(600, 200), 64, 64, new Vector2(0, 0), 100, SpriteEffects.None),
                new HeroState());
            // 見た目の200,200にtekiを作成
            CharactorFactory.Instance.CreateCharactor(
                new task.Enemy(new Vector2(600, 300), 64, 64, 10, 2, SpriteEffects.FlipVertically),
                new CharctorNoMoveStrategy());
            // FPSカウンタを作成
            TaskListmng.Instance.Add(
                TaskListmng.TaskType.Effect,
                new task.FpsCounter());
        }
**protected override void UnloadContent()
破棄作業はXNAがやってくれるはずなので、何もしない。
**protected override void Update(GameTime gameTime)
デフォルトのコードに、全タスクの実行コードを足しただけ。
        protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();
            
            // TODO: Add your update logic here
            TaskListmng.Instance.Update(gameTime); // 全タスクの実行
            
            base.Update(gameTime);
        }
**protected override void Draw(GameTime gameTime)
デフォルトのコードに、スプライトバッチ処理開始終了と全タスクの描画コードを足しただけ。
        protected override void Draw(GameTime gameTime)
        {
            graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
            
            // TODO: Add your drawing code here
            
            spriteBatch.Begin(); // スプライトバッチ処理開始
            TaskListmng.Instance.Draw(gameTime); // 全タスクの描画
            spriteBatch.End();   // スプライトバッチ終了
            
            base.Draw(gameTime);
        }

つまり、ほとんどの処理をほかのクラスで動かして、こっちはすっきりさせましょう作戦。
#right(){&amp;link_up(上へ)}


*リソース管理
XNAのリソース管理は基本的にほったらかしで良い。
読み込みたいファイルをGame.LoadContent()で読み込み、ほおっておくことにする。
破棄はGame.UnloadContent()が勝手にやってくれる・・・とおもう。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=4188218&amp;SiteID=7
したがって、Game.LoadContent()とGame.Initialize()を修正する。
LoadContent()は画像、サウンドの読み込みに専念し、キャラクターの生成はInitialize()で行う。
はじめからこうすればよかったとか言わない。何事も疑問と調査と挑戦が大事。
#right(){&amp;link_up(上へ)}

----
#comment    </description>
    <dc:date>2009-01-14T00:24:15+09:00</dc:date>
    <utime>1231860255</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cucumber/pages/12.html">
    <title>XML</title>
    <link>https://w.atwiki.jp/cucumber/pages/12.html</link>
    <description>
      #contents()
----
*XMLとは

**独自の言語を作成できるほど強力なテキスト形式
XMLは木構造のノードからなる。
ノードには0個以上の属性と、0個以上の子ノードまたはテキストからなる。

**書式が厳密に定義されているため、XMLパーサーによって簡単に解析
結局XML形式で記述されたテキストを解析するのはXMLパーサー。
XMLパーサーが存在するのでプログラムがやりやすくなる。
つまり細かいテキスト操作やら字句解析を行う必要がなく、プログラマは記述の意味だけに注目して作業できる。
#right(){&amp;link_up(上へ)}

*XML記述法

**ブランク
半角スペース、タブ、改行は意味を持たない。
但し、ノード要素のテキストに該当する場合は意味を持つ場合がある。

**ノード
&amp;bold(){&lt;ノード名&gt;}で始まり、&amp;bold(){&lt;/ノード名&gt;}で終わる。
ノードに要素がない場合のみ、&amp;bold(){&lt;ノード名 /&gt;}という記述法が可能。

**属性
ノードのカッコ内に&lt;ノード名 &amp;bold(){属性名=&quot;値&quot;}&gt;と記述。
ブランクで区切って複数記述できる。

**子ノード
XMLは階層構造を表すことが可能。
ノードの間にノードを挟むと、子ノードとして扱う。
　&lt;ノード名&gt;
　　　&amp;bold(){&lt;子ノード&gt;}
　　　　　hogehoge
　　　&amp;bold(){&lt;/子ノード&gt;}
　&lt;/ノード名&gt;

**テキスト
ノードの間に挟むように記述。&lt;ノード名&gt;&amp;bold(){テキスト}&lt;/ノード名&gt;
このテキストをどのように解釈するかはパーサー次第ではなかろうか。
ノード名.要素と表すものもあり、ノード名.テキストノード.要素と表すものもあり。
#right(){&amp;link_up(上へ)}

*XMLパーサー for C#
Visual C# で、MSXML ライブラリと呼ばれる DOM を実装した XML パーサを使用できる。

**MSXML ライブラリをMicrosoft C# 2005から使用可能にするための手順
+「参照設定」から「参照の追加」
+「System.Xml」を選択、「OK」
+ソースの先頭に「using System.Xml;」を記述。
これでMSXML ライブラリの各クラスを使用することができます。

#right(){&amp;link_up(上へ)}
----
#comment
----
:DOM (Document Object Model)|XML 文書を予めメモリに読み込んで仮想的な階層構造ツリー(DOMツリー) を作成。DOMツリーに直接アクセスすることでXMLへ操作を行う。    </description>
    <dc:date>2008-11-30T18:03:35+09:00</dc:date>
    <utime>1228035815</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cucumber/pages/14.html">
    <title>テンプレート</title>
    <link>https://w.atwiki.jp/cucumber/pages/14.html</link>
    <description>
      これをコピーして作成

#contents
----
*sample
**sample
***sample

*sample
hogehoge

*sample
hogehoge

#right(){&amp;link_up(上へ)}
----
#comment    </description>
    <dc:date>2008-11-30T17:59:36+09:00</dc:date>
    <utime>1228035576</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cucumber/pages/15.html">
    <title>html(css)</title>
    <link>https://w.atwiki.jp/cucumber/pages/15.html</link>
    <description>
      大した事はしてないので、このページ作成に必要だったことまとめ。

#contents
----
*マージンとパディング
マージンは内側、パディングは外側。
-マージンを広くするとなんか空白がでかくなる
-パディングを広くするとなんか枠が広くなる。

-padding: [上] [右] [下] [左];の順番に設定。
-padding-top: , padding-right: , padding-bottom: , padding-left:&amp;br()のように、別々に設定も可能。
単位とかあるけど、ボクに見えてくれればいいし、フィーリングで。

*色
|color: #rgb|0～F（ハイカラー）|
|color: #rrggbb|00～FF（フルカラー）|
|color: 色名|定義済み色を使用|
これだけ覚えとけば十分。

----
#comment    </description>
    <dc:date>2008-11-29T03:31:49+09:00</dc:date>
    <utime>1227897109</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cucumber/pages/13.html">
    <title>リンク</title>
    <link>https://w.atwiki.jp/cucumber/pages/13.html</link>
    <description>
      #contents()
----
*Wiki機能
-[[@wikiの基本操作&gt;http://atwiki.jp/guide/category2.html]]
-[[用途別のオススメ機能紹介&gt;http://atwiki.jp/guide/category22.html]]
-[[@wikiの設定/管理&gt;http://atwiki.jp/guide/category6.html]]
-[[@wikiプラグイン&gt;http://atwiki.jp/guide/category17.html]]
-[[@wiki便利ツール&gt;http://atwiki.jp/guide/category32.html]]
-[[@wiki構文&gt;http://atwiki.jp/guide/category16.html]]
-[[@wikiプラグイン一覧&gt;http://www1.atwiki.jp/guide/pages/264.html]]
-[[まとめサイト作成支援ツール&gt;http://atwiki.jp/matome/]]

*分からないことは？
-[[@wiki ご利用ガイド&gt;http://atwiki.jp/guide/]]
-[[よくある質問&gt;http://atwiki.jp/guide/category1.html]]
-[[無料で会員登録できるSNS内の@wiki助け合いコミュニティ&gt;http://sns.atfb.jp/view_community2.php?no=112]]
-[[@wiki更新情報&gt;http://www1.atwiki.jp/guide/pages/264.html]]
-[[@wikiへのお問合せフォーム&gt;http://atwiki.jp/helpdesk]]
等をご活用ください

*@wiki助け合いコミュニティの掲示板スレッド一覧
#atfb_bbs_list(112)    </description>
    <dc:date>2008-11-29T00:34:08+09:00</dc:date>
    <utime>1227886448</utime>
  </item>
  </rdf:RDF>
