<?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:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://www5.atwiki.jp/yaruhara/">
    <title>ゲーム作者の集い[ゲームヘル2000]</title>
    <link>http://www5.atwiki.jp/yaruhara/</link>
    <description>ゲーム作者の集い[ゲームヘル2000]</description>

    <dc:language>ja</dc:language>
    <dc:date>2012-05-04T18:47:09+09:00</dc:date>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://www5.atwiki.jp/yaruhara/pages/7.html" />
                <rdf:li rdf:resource="http://www5.atwiki.jp/yaruhara/pages/67.html" />
                <rdf:li rdf:resource="http://www5.atwiki.jp/yaruhara/pages/40.html" />
                <rdf:li rdf:resource="http://www5.atwiki.jp/yaruhara/pages/113.html" />
                <rdf:li rdf:resource="http://www5.atwiki.jp/yaruhara/pages/1.html" />
                <rdf:li rdf:resource="http://www5.atwiki.jp/yaruhara/pages/80.html" />
                <rdf:li rdf:resource="http://www5.atwiki.jp/yaruhara/pages/112.html" />
                <rdf:li rdf:resource="http://www5.atwiki.jp/yaruhara/pages/76.html" />
                <rdf:li rdf:resource="http://www5.atwiki.jp/yaruhara/pages/111.html" />
                <rdf:li rdf:resource="http://www5.atwiki.jp/yaruhara/pages/36.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="http://www5.atwiki.jp/yaruhara/pages/7.html">
    <title>フリー・同人ゲーム制作者コミュ</title>
    <link>http://www5.atwiki.jp/yaruhara/pages/7.html</link>
    <description>
      **現在、チャットはIRCにて開催しています。 
ホスト:ポート irc.media.kyoto-u.ac.jp:6660 
チャンネル名　#ゲームヘル 
一応土曜の夜に人が集まってる感じです。

※「tokyo.wide.ad.jp」で接続されている方へ
２０１０年６月末日を持って「tokyo.wide.ad.jp」が閉鎖されます。それに伴い当チャンネルも移転します。
http://www.wide.ad.jp/news/press/20100125-IRC-server-close-j.html
現在は上記ホストで運用しています。設定の変更をよろしくお願いします。

IRCは昔からあるフリーのチャットソフトです。メッセンジャーがある今となってはやや弱い感じですが、ユーザーアカウント不要/その場限りなところが敷居低いかも。緩やかな繋がりで集まって、雑談するには良いと思います
[[IRC普及委員会&gt;http://irc.nahi.to/]]

**お絵かきチャット（会話オンリーも可）
#ref(unya-.gif)
こんな感じでお絵かきができます。

ブラウザ上で入室状況を確認できて、色々お手軽。
しかも、絵でアイデアを伝えられる便利チャット。

[[ゲームヘル2000お絵チャ&gt;http://www.takamin.com/oekakichat/user/oekakichat3.php?userid=40666]]
現在はＩＲＣに移行しています。ＩＲＣで声をかけて絵チャットを使う感じで使用しています。

**掲示板
雑談、改造なんでもござれ。
[[地獄温泉&gt;http://jbbs.livedoor.jp/otaku/7417/]]
//[[やわらか公開場&gt;http://yarhalla.jpn.org/yarhalla/multi-board/multi-board00.cgi]]
　
**オフ会
告知はトップでお願いします。
突発的でも誰か来るよ。多分。
買い物の誘いから、深夜のドライブまで。
[[ゲームヘル２０００オフ会レポート&gt;ヘルレポ]]

**形式は？
・飲み会
・即売会
・交流会（販売を目的としない）

・開催地はせいぜい東京/名古屋/大阪に絞られちゃうかな?
・場所。
・マジメに借りると7万ぐらい。交流会以上の人数がいるね。電源/LAN/飲み物がついたりする。
・小規模なら適当に飲み屋が妥当?

・遠方からの人を考えると、18切符が使える時期(12/1/3/8)が良いと思う
・余談　名古屋⇔東京間 鈍行で7時間前後　新幹線で2時間前後
・間をとって静岡ならいいんじゃね？（何も考えない発言


**やるならどこ？
#vote(&quot;東京&quot;[46],&quot;大阪&quot;[23],&quot;名古屋&quot;[46],&quot;茶畑&quot;[31])


**既にあるコミュニティ・即売会等
アマチュアゲーム製作者の発表の場になりそうなイベントがあれば
ここに書いておいてください。

交流イベント
現在本気屋さんが計画中とのこと。
気長に待ちましょう。

[[オリゲーフェスタ&gt;http://xps.jp/festa68/]]
・第１３回「オリゲーフェスタ☆６８」2010年5月4日(祝)開催

[[パソケ&gt;http://www.pasoket.com/]]
・サイト行方不明

**既にある学術/開発者コミュニティ
[[IDGA Japan&gt;http://www.igda.jp/]]
[[DiGRA Japan&gt;http://www.digrajapan.org/]]

*コメント
#comment_num2    </description>
    <dc:date>2012-05-04T18:47:09+09:00</dc:date>
  </item>
    <item rdf:about="http://www5.atwiki.jp/yaruhara/pages/67.html">
    <title>ピコピコDTM広場/コメントログ</title>
    <link>http://www5.atwiki.jp/yaruhara/pages/67.html</link>
    <description>
      - {テスト}&amp;br(){Fur Elise}&amp;br()t150;&amp;br()#A=o6 l8 q4 s10 r2. ed+ ed+e&gt;b&lt;dc &gt;a4 rcea b4reg+b &lt;c4 r&gt;e&lt;ed+ ed+e&gt;b&lt;dc &gt;a4 rcea b4 re&lt;c&gt;b a2&lt;ed+ ed+e&gt;b&lt;dc &gt;a4 rcea b4 reg+b &lt;c4 r&gt;e&lt;ed+ ed+e&gt;b&lt;dc &gt;a4 rcea b4 re&lt;c&gt;b a4 rb&lt;cd e4. &gt;g&lt;fe d4. &gt;f&lt;ed c4. &gt;e&lt;dc &gt;b4 re&lt;e&gt;e &lt;ee&lt;e&gt;r rd+ er rd+ed+ ed+e&gt;b&lt;dc &gt;a4 rcea b4 reg+b &lt;c4&gt; r8e&lt;ed+ ed+e&gt;b&lt;dc &gt;a4 rcea b4 re&lt;c&gt;b a4. r8^4;&amp;br()k0A; k4A;&amp;br()%3 o5 s15,-50 q0 r1$/:7c4:/c8c8;&amp;br()%2 o7 s50     q0 r1$r8c8;&amp;br()#B=v10 o3 p1 l16 q0 s50 a&lt;ce&gt;a&lt;ce&gt;&lt;ca&gt;;&amp;br()#C=r1 r1^2 /:8 B:/ r1^2 /:8 B:/ r1^2 /:8 B(12):/ r1^2 /:8 B(12):/;&amp;br()k0C; r64v5k4C;  -- (kenmo)  &amp;size(80%){2006-10-08 23:25:22} 
- 挿入できるよ(*´ω`)☆ http://www.e29.mobi/   --  (ありません)  &amp;size(80%){2012-02-01 06:52:44}     </description>
    <dc:date>2012-02-01T06:52:44+09:00</dc:date>
  </item>
    <item rdf:about="http://www5.atwiki.jp/yaruhara/pages/40.html">
    <title>kenmo/コメントログ</title>
    <link>http://www5.atwiki.jp/yaruhara/pages/40.html</link>
    <description>
      - リプレイはゲームによって方法はいろいろできます。&amp;br()あえて書くまでもないと思いますが一応。&amp;br()フレーム毎のキー状態のほかにも、キー状態とその状態が続く時間を組にしておいて、その状態が維持されている時間を保存していく方法や、キャラクターの座標を残していく方法とかでしょうか。&amp;br()乱数が絡んでる場合はその再現方法も考えなくてはなりませんよね。&amp;br()ここらはるーとさんが詳しいみたいでですが。  -- (D.K)  &amp;size(80%){2006-05-27 19:33:31} 
- 全然別ですが、左のメニューが一番下にきてるのが気になったり&amp;br()後、日記の方はコメントできないみたいなので、こっちでしました。&amp;br()不明な点とかじゃないので、用途が違うかもしれませんが。  -- (D.K)  &amp;size(80%){2006-05-27 19:39:01} 
- なるほどー。そんな最適化の方法があるのですねー。&amp;br()今の方法はデータ量的におかしなやり方かもしれないです、、。&amp;br()それに乱数の再現も考えると、もっと大きな枠での見直しが必要ですね。&amp;br()…今度るーとさんに聞いてみよーっと。&amp;br()&amp;br()＞左のメニューが一番下&amp;br()メニューの「個人のページ」の一番下にkenmoがいることでしょうか…？&amp;br()だとしたら、これは手で追加したので、、。&amp;br()まずかったのかな…？&amp;br()&amp;br()あと、日記は、はてなユーザーしかコメントできないようになっています。&amp;br()なので、D.Kさんもはてなで日記書きましょーよー、&amp;br()と勧誘してみるテスト。  -- (kenmo)  &amp;size(80%){2006-05-28 00:59:01} 
- 左のメニューレイアウト位置が他のページと違うので、メニューの項目の並びの事ではないですよ。&amp;br()これ以上あっちこっちで日記もっても書くことないっすよー（苦笑  -- (D.K)  &amp;size(80%){2006-05-28 02:02:45} 
- ＞メニュー位置が他のページと違う&amp;br()おー、そういうことでしたかー。&amp;br()気づきませんでした、、。&amp;br()＞これ以上あっちこっちで日記もっても&amp;br()そういえばそうですね。失礼しましたー。  -- (kenmo)  &amp;size(80%){2006-05-28 08:32:57} 
- ＞メニュー位置が他のページと違う&amp;br()編集した部分の幅がある値より大きくなると&amp;br()CSSの関係でメニューが段落ちしてしまいます&amp;br()多分画像とかの幅の影響ではないかと思います&amp;br()デザイン部分は丼さんが編集権限をもっていると&amp;br()思うのでもう少し広げてもらったら解決すると思います  -- (わんきち)  &amp;size(80%){2006-05-28 22:06:34} 
- おおなるほど。それが原因だったのですね。&amp;br()Firefoxでは問題なかったので、気にしてなかったのですがー。&amp;br()丼さんにお願いしておこうかな、、。  -- (kenmo)  &amp;size(80%){2006-05-29 11:49:09} 
- おわー失礼しました。&amp;br()今日少し広げてみましたが、いかがでしょうか？&amp;br()Firefoxだと表示が大分違いますね。&amp;br()  -- (丼)  &amp;size(80%){2006-05-29 15:12:09} 
- おおー、素早い対応ありがとうございます。&amp;br()Firefoxだと、タイトな感じですねー。  -- ((*´∀｀）o旦 kenmo)  &amp;size(80%){2006-05-29 20:16:55} 
- ここの記事見て改良しましたが当たり判定はカプセル化しないときつかったです。修正が大変＞＜  -- (nanasi)  &amp;size(80%){2006-12-26 13:48:41} 
- どこに書けばいいか分からなかったのでここで！&amp;br()dhellライブラリのdrawLineにバグがー。&amp;br()垂直線を引くときのy1とy2が逆になってました。   --  (meitei)  &amp;size(80%){2007-08-05 09:40:27} 
- おおっと、、、しょーもないバグですみません。&amp;br()指摘ありがとうございます～。&amp;br()ついでにCPU使用率が100%になるのが気になったので、それも直しておきました。   --  (kenmo)  &amp;size(80%){2007-08-05 11:32:40} 
- お小遣いあげるからメールしておいで(人･ω･)☆ http://gffz.biz/index.html   --  (ぷぅにゃん)  &amp;size(80%){2011-11-29 18:33:57}     </description>
    <dc:date>2011-11-29T18:33:57+09:00</dc:date>
  </item>
    <item rdf:about="http://www5.atwiki.jp/yaruhara/pages/113.html">
    <title>2011年紅白花見合戦</title>
    <link>http://www5.atwiki.jp/yaruhara/pages/113.html</link>
    <description>
      *2011紅白花見合戦(2011/04/02)
無事終了しました。参加者のみなさんお疲れ様でした。

まぁ結局は花見なんですが、チームに分かれて持ち寄った花見ゲーで対戦しつつ昼から盛り上がろうという会です。
各自花見を題材にしたゲームを作成して集合という過酷な感じですが、別になくてもかまいません。

こんなのとか[[さくらの木受粉(D.K)&gt;http://www.geocities.jp/dij4121/alpha/data/work/zyuhun.zip]]
こんなのとか[[桜の木鑑定(D.K)&gt;http://maglog.jp/alpha-secret-base/Article289779.html]]
おおむねそんな感じでいいと思います。
まぁ何かあった時しか手を動かせないという人もぜひ。

・日程
2011/04/02
　12時～4時まで　花見　浅草隅田公園
　その後は適当に移動

・集合
雷門　　　１２時集合
墨田公園　１２時以降は気合で合流してください。


・行く人の予定
D.K
かわお
おめが
下林
丼
ぎむざ(予定)
mimic28号(魅せる game はありませんが参加したいです。)

各自追記してください。
よろしくお願いいたします。    </description>
    <dc:date>2011-04-03T03:41:01+09:00</dc:date>
  </item>
    <item rdf:about="http://www5.atwiki.jp/yaruhara/pages/1.html">
    <title>トップページ</title>
    <link>http://www5.atwiki.jp/yaruhara/pages/1.html</link>
    <description>
      *NEWS
・[[チャット&gt;http://onakaitai.sakura.ne.jp/cgi/cgiirc/irc.cgi]]は常時開設中
・Twitter hash tag [[#gamehell2K&gt;http://twitter.com/search?q=%23gamehell2K]]
・リニューアルしました。ご意見は[[掲示板&gt;http://jbbs.livedoor.jp/otaku/7417/]]まで。

*ようこそ
#ref(welcome_yojo.gif)
極悪非道のゲーム製作者コミュニティ！
[[ゲームヘル２０００とは？&gt;http://www5.atwiki.jp/yaruhara/pages/44.html]]


&amp;bold(){[[ヘルチャット&gt;http://onakaitai.sakura.ne.jp/cgi/cgiirc/irc.cgi]]}
(同時接続制限有　混雑時はIRCクライアントを使用してください　[[設定詳細&gt;フリー・同人ゲーム制作者コミュ]])
ゲームヘルのチャットです。夜な夜な開催中です。初心者歓迎。
・わからないことを聞く
・制作中のゲームを見てもらう
・仲間を募集する
・とりあえずだらだらいる
など、どなたでも来てください。
誰もいなかったり、しゃべってなくてもまたーり待ってもらえるといいと思います。
ログ公開はじめました。入室する前に「どんなチャットなのか？」というのを見たりするのにいいかも。
http://isshiki.la.coocan.jp/gamehell/irclog/
見れないログ（主に当日のログ）がありますが、仕様なのでゴメンね。そのうち直します。

*行事予定
**2011年紅白花見合戦（2011/04/02）
無事終了しました。参加者のみなさんお疲れ様でした。
・詳細
[[2011年紅白花見合戦&gt;2011年紅白花見合戦]] 

**2010年忘年会オフ（2010/12/05）
無事終了しました。参加者のみなさんお疲れ様でした。
・詳細
[[2010年忘年会オフ&gt;2010年忘年会オフ]] 

*ゲーム製作記事一覧
ゲームヘルWikiに書かれた入門記事やメモです。
あなたの記事もこのWikiに載せてみませんか？

・[[D言語ゲーム開発入門]]
D言語には、
コンパクトな実行ファイルが作れる・ガベコレがある
クラスを使わなくても良い・コンパイルが爆速
など様々な利点があります。
そのDとSDLを使ったゲームの開発情報を載せています。

・[[D言語ゲームライブラリ「dHell」]]
D言語で簡単にゲームが作れるライブラリです。

・[[D言語ゲームライブラリ「dHell2」]]
D言語で簡単にゲームが作れるライブラリの続編です。

・[[ゲームデザイン用語集]]
ゲームデザインでよく使われる用語と、一行解説。

・[[プログラミング言語&gt;ツール]]
各種プログラミング言語使ってみた感想

・[[ドット絵講座&gt;ヤルハラ/ドット絵Tips]]
キャラクターの描き方と、ドット絵講座リンク集

・[[RPGの作り方]]
「RPGツクール」の簡易版を作ってみましょう。

・[[矩形マップとの当たり判定]]
RPG型のフィールドとの当たり判定を作ってみましょう。

・[[敵の移動アルゴリズム]]
敵のAIの作り方を解説します。

・[[プログラム設計&gt;Ｄ．Ｋ/プログラム設計]]
YGSで作成された2Dアクションゲームのプログラムの流れを解説します。

・[[2Dでのグレア処理]]
グレアとは「ぎらぎらする光」で、
リアルタイムに物体の明るい部分を取り出して、それを、ぴかー、と強調する処理のことです。
もともと3Dの技術ですが、それを擬似的に2Dで実装してみましょう。

・[[TSS作曲入門]]
クリップボードで音楽を作るTSSCPを使って、作曲の基礎を学びます。

・[[レベルデザイン講義]]
レベルデザインとは、ゲームシーンあるいは舞台といった「レベル」を作成することです。
良いレベルデザインにするためには、
ゲームの難易度やバランスをよく考え、
プレイヤーが進捗感や達成感を得られるような
課題や挑戦を配置することが必要です。 

・[[アジャイル開発でゲーム製作]]
「アジャイル開発」を「ゲーム製作」に適用する方法をまとめたものです。 

・[[スコアの考察]]
スコアは「プレイ」を「数字」で評価するものです。
評価とは、プレイヤーを褒め称えることです。
良いゲームは、プレイヤーを褒めることが上手で、
プレイヤーに「もっと褒められたい」と思わせ、
次回へのプレイ動機（リプレイ価値）を上昇することができます。

・[[落ちゲー考察]]
落ちゲーのルールについて考察します。

・[[色彩の話]]
ゲーム作りに微妙に役立つ色彩の話を。
色彩の基礎と、ゲーム作りに役立ちそうな応用を同時進行で。 

・[[SDLの開発環境作成方法]]
マルチプラットフォームの2Dゲームを作るのに便利な「SDL」を使ってみましょう。




ここから下は広告の国
----    </description>
    <dc:date>2011-04-03T03:40:47+09:00</dc:date>
  </item>
    <item rdf:about="http://www5.atwiki.jp/yaruhara/pages/80.html">
    <title>D言語ゲームライブラリ「dHell2」</title>
    <link>http://www5.atwiki.jp/yaruhara/pages/80.html</link>
    <description>
      *D言語ゲームライブラリ「dHell2」
**これは何？
D言語で簡単にゲームが作れるようにライブラリ「dHell」の続編です。
OpenGL使っているのに、2Dゲーム専用だったりします。

**謝辞
-このアプリはD言語を使ってます。（version 1.0.0）
-SDL（Simple DirectMedia Layer）を使っています。
-OpenGLを使ってます。
-shinichiro_hさんのD - porting（http://shinh.skr.jp/d/porting.html）のD言語用SDL/OpenGLヘッダファイルを使っています。
-hell.bmpはtaroさんの著作物です（http://www5.atwiki.jp/yaruhara/pages/45.html）
-おめがさんの「RectWinderNTGL」のコードをかなり使わせていただきました。
-フォントにはおめがさんの「font.bmp」を使わせていただきました


----

目次

----

#contents

**ダウンロード
[[ここ&gt;http://www5f.biglobe.ne.jp/~kenmo/dest/d/dhell2.zip]]からライブラリ一式をダウンロードします。

**更新履歴
-2010.01.21 -- 1.0.8  色々更新
--OpenGLのportingを更新にして、最新のDコンパイラでもコンパイルを通るようにした
--キーユーティリティを追加（Hell_isPressEnter,Hell_isPushEnter,Hell_isPressCancelなど)
--BGMが再生中かどうか調べる「Hell_isPlayBgm」を追加
--線分の描画座標の指定がおかしかった不具合を修正
--drawTexture()/drawTextureEx()でα値が指定できなかったので、引数を追加した
--現在の描画内容をキャプチャーする「Hell_capture()」を追加
--乱数周りのユーティリティ「Hell_rand()」「Hell_randf()」「Hell_choice()」「Hell_shuffle()」を追加
--メッセージボックス表示「Hell_MessageBox()」を追加
-2007.07.25 -- 1.0.7  drawTexture()/drawTextureEx()でテクスチャを切り取ったときに描画がおかしくなる不具合を修正。
-2007.03.07 -- 1.0.6  loadWAV()で既に存在するキーを指定した場合、既存のWAVを破棄して読み込むように修正。
-2007.02.22 -- 1.0.5  キャプション文字列の変更関数Hell_setCaption()を追加。数学・乱数関連の関数を追加。
-2007.02.21 -- 1.0.4  Hell_write()/Hell_drawFontEx()でprintf()っぽい書式を使えるように
-2007.02.20 -- 1.0.3  SDL_FreeSurface()でSurfaceをちゃんと破棄するように修正。F9キーでウィンドウ・フルスクリーン切替。F12でスクリーンショットをBMPで保存。
-2007.02.19 -- 1.0.2  loadTexture()で既に存在するキーを指定した場合、既存のテクスチャを破棄して読み込むように修正。「F4」キーで全てのテクスチャを読み込みなおす処理を追加。
-2007.02.16 -- 1.0.1  円描画命令「Hell_drawCircle()」の追加
-2007.02.13 -- 1.0.0  公開開始

**既知の問題
-画像ファイルはBMPで、2^nのサイズのみとなっています。
-60枚くらいテクスチャを読み込みウィンドウを最小化・元に戻すと、CPU使用率が100%近くなってしまう。

**dHellであった機能
dHellではこんな感じでした。
-画像読込・描画（BMPのみ）
-BGM読込・再生（WAV/OGGのみ）
-効果音読込・再生（WAVのみ）
-キーイベント（マウス・キーボード・ジョイスティック）のハンドリング
-フォントの描画（asciiのみ）

**dHell2の新機能
こんな機能が追加されました。
-画像の拡大縮小・回転（Hell_drawTexture/Hell_drawTextureEx）
-画像の加算合成（Hell_setAlpha）
-線分/三角形の描画・回転
-円の描画
-それぞれの描画をRGBAを指定して描画できるように
（ようやく、普通のゲームライブラリっぽくなった……？）

**Dコンパイラのインストールなど
「D言語ゲーム開発入門」
http://www5.atwiki.jp/yaruhara/pages/74.html
などを参考にインストールします。

**ビルド方法
build.batをテキストファイルで開いて、
D言語コンパイラ・リンカのパスを設定します。
（パスを通してあるのであれば、必要ありません）

で、build.batを実行します。

**使い方
「test.d」を編集していきます。
なんか色々ありますが、最低限必要なコードはこれだけです。

 import hell;
 
 void main()
 {
 	try
 	{
 		// Hellシステム初期化（キャプション&quot;Hell&quot; 640x480）
 		Hell_init(&quot;Hell&quot;, 640, 480);
 		// ゲームループ開始
 		while(true)
 		{
 			// 描画エリアの消去
 			Hell_begin();
 			// 画面更新
 			Hell_update();
 			// 33ms待つ
 			Hell_wait(33);
 		}
 	}
 	catch(Exception e)
 	{
 		// 例外をログに書き込み
 		Hell_write(e);
 	}
 	finally
 	{
 		// Hellシステム終了
 		Hell_quit();
 	}
 }
注意が必要なのは、「try～catch～finally」です。
ウィンドウが閉じられたときには、Hell_wait()が例外を返します。
その場合、catchして、ログの出力をし、Hell_quit()で終了します。

画像ファイルが存在しなかった場合など、「run.log」にエラーが書き込まれるので、
それを参照します。

**特殊なキーの動作
-F4キー：登録しているテクスチャを全て読み込みし直す
-F5キー：ボスが来た！　⇒ウィンドウ最小化
-F9キー：ウィンドウモード・フルスクリーン切替（たぶん使えます）
-F10キー：マウスカーソル表示切替
-F12キー：スクリーンショットをhell.bmpで保存（たぶん使えます）
-ESCキー：アプリケーションを終了します。


**「dHell2」リファレンス

***Hell_init(char[] caption, int width, int height, bool fullscreen=false)
dHellを初期化します。
-パラメータ
--caption    ウィンドウタイトル文字列
--width      画面縦サイズ
--height     画面横サイズ
--fullscreen フルスクリーンフラグ

***Hell_quit()
dHellの終了処理を行います。

***Hell_setCaption(...)
キャプション（タイトルバー）の文字列を変更します。
（※ただし日本語は表示できません）
C言語のprintf()のような書式で書くことが出来ます。

***Hell_write(...)
ログファイル「run.log」にメッセージを書き込みます。
C言語のprintf()のような書式で書くことが出来ます。
より詳しい記述方法は、std.format.doFormat
http://www.kmonos.net/alang/d/phobos/std_format.html
を参考に。
***Hell_write(Exception e)
ログファイル「run.log」に例外情報の書き込みを行います。

***Hell_loadTexture(char[] key, char[] filepath, int[3] mask=[-1, 0, 0])
BMPをテクスチャとして読みこみます。
-パラメータ
--key      画像のキー（Hell_drawTextureで使います）
--filepath 画像ファイルのパス
--mask     抜き色（mask[0]に「-1」で抜き色なし。「-2」で座標指定）

***Hell_drawTexture(char[] key, float cx, float cy, int ox=0, int oy=0, int ow=0, int oh=0, float dx=1.0f, float dy=1.0f, float rot=0, int r=0xFF, int g=0xFF, int b=0xFF, int a=0xFF)
BMPを描画します。
ox,oy,ow,ohにそれぞれ「0」を指定すると、BMP全体を描画します。
※抜き色を有効にする場合、Hell_setAlpha()に「HELL_ALPHA_NORMAL/HELL_ALPHA_ADD」を指定する必要があります。
-パラメータ
--key キー（Hell_loadTextureで読み込み済みのもの）
--x   X座標
--y   Y座標
--ox  切り取り開始X座標
--oy  切り取り開始Y座標
--ow  切り取る幅
--oh  切り取る高さ
--dx  拡大サイズ（X）
--dy  拡大サイズ（Y）
--rot 回転角度（0～360。左回り）
--r   マスク色(赤）
--g   マスク色(緑）
--b   マスク色(青）
--a   α値
***Hell_drawTextureEx(char[] key, float cx, float cy, int ox=0, int oy=0, int ow=0, int oh=0, float dx=1.0f, dy=1.0f, float rot=0, int r=0xFF, int g=0xFF, int b=0xFF, int a=0xFF)
Hell_drawTexture()は左上座標を指定ですが、これは中心座標を指定して描画する関数です。

***Hell_hasTexture(char[] key)
指定のキーのテクスチャが存在するかどうかチェックします
-パラメータ
--key 画像のキー
-戻り値
--キーが存在すれば「true」を返します

***Hell_capture(char[] key)
現在の画面の内容をキャプチャーします。例えば、前の描画内容を半透明で消しながら重ね合わせることでクロスフェードっぽいことができるようになります。
ただし、重たい処理なので毎フレームキャプチャーするのはオススメできません。

***Hell_setAlpha(char[] key, int alpha)
アルファ値を設定します。
-パラメータ
--alpha アルファ値（HELL_ALPHA_DISABLE/HELL_ALPHA_NORMAL/HELL_ALPHA_ADD）
---HELL_ALPHA_DISABLE :αブレンドしない
---HELL_ALPHA_NORMAL  :半透明
---HELL_ALPHA_ADD     :加算

***Hell_getMouseX
マウスのX座標を取得します。
-戻り値 --- マウス座標X

***Hell_getMouseY
マウスのY座標を取得します。
-戻り値 --- マウス座標Y

***Hell_isPressMouse
マウスを押し続けているかどうかを判定するフラグを取得します。
-戻り値 --- マウスを押し続けているかどうかのフラグ
●使い方
 if(Hell_isPressMouse() &amp; HELL_BUTTON_LEFT)
 {
 	printf(&quot;press left&quot;);
 }
 if(Hell_isPressMouse() &amp; HELL_BUTTON_MIDDLE)
 {
 	printf(&quot;press middle&quot;);
 }
 if(Hell_isPressMouse() &amp; HELL_BUTTON_RIGHT)
 {
 	printf(&quot;press right&quot;);
 }

***Hell_isPushMouse
マウスをそのフレームに押したかどうかを判定するフラグを取得します。
-戻り値 --- マウスをそのフレームに押したかどうかのフラグ
●使い方
 if(Hell_isPushMouse() &amp; HELL_BUTTON_LEFT)
 {
 	printf(&quot;push left&quot;);
 }
 if(Hell_isPushMouse() &amp; HELL_BUTTON_MIDDLE)
 {
 	printf(&quot;push middle&quot;);
 }
 if(Hell_isPushMouse() &amp; HELL_BUTTON_RIGHT)
 {
 	printf(&quot;push right&quot;);
 }

***Hell_isPressKey
キーを押し続けているかどうかを判定するフラグを取得します。
-戻り値 --- キーを押し続けているかどうかのフラグ
●使い方
 if(Hell_isPressMouse(HELL_DOWN))
 {
 	printf(&quot;press down&quot;);
 }
 if(Hell_isPressMouse(HELL_RIGHT))
 {
 	printf(&quot;press right&quot;);
 }
 if(Hell_isPressMouse(HELL_LEFT))
 {
 	printf(&quot;press left&quot;);
 }

***Hell_isPushKey
キーをそのフレームに押したかどうかを判定するフラグを取得します。
-戻り値 --- キーをそのフレームに押したかどうかのフラグ
●使い方
 if(Hell_isPushKey(HELL_RETURN))
 {
 	printf(&quot;push return&quot;);
 }
 if(Hell_isPushKey(SDLK_z))
 {
 	printf(&quot;push z&quot;);
 }
 if(Hell_isPushKey(HELL_UP))
 {
 	printf(&quot;push up&quot;);
 }

***Hell_loadWAV(char[] key, char[] path)
SE（WAVファイル）を読み込みます
-パラメータ
--key  キー（Hell_playWAVで使います）
--path サウンドファイルのパス

***Hell_playWAV(char[] key, int loops=0, int channel=-1)
SE（WAVファイル）を再生します
-パラメータ
--key   キー
--loops ループ回数。0で１回再生。（-1で無限ループ）
--channel チャンネル番号(-1であいているチャンネルを自動で使う)

***Hell_stopWAV()
SE（WAVファイル）の再生を全て停止します。
-パラメータ
--channel 停止チャンネル番号(-1で全て停止)

***Hell_disposeWAV(char[] key=null)
SE（WAVファイル）を破棄します。
-パラメータ
--key   キー（Hell_loadWAVで指定したもの）※nullで全てを破棄します

***bool Hell_isPressJKey(int id)
ジョイスティックの十字キーを押しているかどうかを調べます。
-戻り値---ジョイスティックの十字キーを押しているかどうか
●使い方
 if(Hell_isPressJKey(HELL_J_UP))
 {
 	printf(&quot;press up&quot;);
 }
 if(Hell_isPressJKey(HELL_J_DOWN))
 {
 	printf(&quot;press down&quot;);
 }
 if(Hell_isPressJKey(HELL_J_LEFT))
 {
 	printf(&quot;press left&quot;);
 }
 if(Hell_isPressJKey(HELL_J_RIGHT))
 {
 	printf(&quot;press right&quot;);
 }

***bool Hell_isPushJKey(int id)
ジョイスティックの十字キーを押したかどうかを調べます。
-戻り値---ジョイスティックの十字キーを押したかどうか
●使い方
 if(Hell_isPushJKey(HELL_J_UP))
 {
 	printf(&quot;push up&quot;);
 }
 if(Hell_isPushJKey(HELL_J_DOWN))
 {
 	printf(&quot;push down&quot;);
 }
 if(Hell_isPushJKey(HELL_J_LEFT))
 {
 	printf(&quot;push left&quot;);
 }
 if(Hell_isPushJKey(HELL_J_RIGHT))
 {
 	printf(&quot;push right&quot;);
 }

***bool Hell_isPressJButton(int id)
ジョイスティックのボタンを押しているかどうかを調べます。
-戻り値---ジョイスティックのボタンを押しているかどうか
●使い方
 if(Hell_isPressJButton(0))
 {
 	printf(&quot;press 1button&quot;);
 }
 if(Hell_isPressJButton(1))
 {
 	printf(&quot;press 2button&quot;);
 }
 if(Hell_isPressJButton(2))
 {
 	printf(&quot;press 3button&quot;);
 }
 if(Hell_isPressJButton(3))
 {
 	printf(&quot;press 4button&quot;);
 }

***bool Hell_isPushJKey(int id)
ジョイスティックのボタンを押したかどうかを調べます。
-戻り値---ジョイスティックのボタンを押したかどうか
●使い方
 if(Hell_isPushJButton(0))
 {
 	printf(&quot;push 1button&quot;);
 }
 if(Hell_isPushJButton(1))
 {
 	printf(&quot;push 2button&quot;);
 }
 if(Hell_isPushJButton(2))
 {
 	printf(&quot;push 3button&quot;);
 }
 if(Hell_isPushJButton(3))
 {
 	printf(&quot;push 4button&quot;);
 }

***Hell_isPressEnter()/Hell_isPushEnter()
Zキー、Returnキー、Spaceキー、Joystickの1ボタン、マウスの左クリック
のいずれかが押されていれば/そのフレームに押したら「true」を返す

***Hell_isPressCancel()/Hell_isPushCancel()
Xキー、Joystickの2ボタン、マウスの右クリック
のいずれかが押されていれば/そのフレームに押したら「true」を返す

***Hell_isPressMenu()/Hell_isPushMenu()
Cキー、Joystickの3ボタン、マウスの真ん中クリック
のいずれかが押されていれば/そのフレームに押したら「true」を返す

***Hell_isPressUp()/Hell_isPushUp()
上キーが押されていれば/そのフレームに押したら「true」を返す

***Hell_isPressLeft()/Hell_isPushLeft()
左キーが押されていれば/そのフレームに押したら「true」を返す

***Hell_isPressDown()/Hell_isPushDown()
下キーが押されていれば/そのフレームに押したら「true」を返す

***Hell_isPressRight()/Hell_isPushRight()
右キーが押されていれば/そのフレームに押したら「true」を返す

***Hell_playBgm(char[] path, int loops=-1, int ms=0)
BGMを再生します
-パラメータ
--path  ファイルパス
--loops ループ回数（-1で無限ループ）
--フェードイン時間（ms）

***Hell_stopBgm(int ms=0)
BGMを停止します
-パラメータ
--フェードアウト時間（ms）

***Hell_isPlayBgm()
BGMが再生中かどうか
-戻り値
--再生中であれば「true」

***Hell_drawRect(float x=0, float y=0, float dx=0, float dy=0, float width=0, float rot=0, int r=0x00, int g=0x00, int b=0x00, int a=0xFF)
矩形の描画
-パラメータ
--x,y 左上座標
--dx,dy 幅,高さ
--width 線分の太さ(0で塗りつぶし)
--r,g,b,a RGBA値

***Hell_drawRectEx(float cx=0, float cy=0, float dx=0, float dy=0, float width=0, float rot=0, int r=0x00, int g=0x00, int b=0x00, int a=0xFF)
矩形の描画（中心座標を指定）
-パラメータ
--cx,cy 中心の座標
--それ以外はHell_drawRectと同じ

***void Hell_drawLine(float x1, float y1, float x2, float y2, int width=1, int r=0x00, int g=0x00, int b=0x00, int a=0xFF)
線分の描画
-パラメータ
--x1,y1 開始座標
--x2,y2 終端座標
--width 線の太さ
--r,g,b,a RGBA値

***Hell_drawTriangle(float x, float y, float radius, float rot=0, int width=1, int r=0x00, int g=0x00, int b=0x00, int a=0xFF)
三角形を描画します。
-パラメータ
--x      X座標（中心）
--y      Y座標（中心）
--radius 半径
--rot    回転角度（0～360）
--width  線の太さ（0で塗りつぶし）
--r     R成分
--g     G成分
--b     B成分
--a     A成分

***Hell_drawCircle(float cx, float cy, float radius, int width=1, int r=0x00, int g=0x00, int b=0x00, int a=0xff)
円を描画します。
-パラメータ
--cx 中心座標X
--cy 中心座標Y
--radius 半径
--width  線の太さ（0で塗りつぶし）
--r     R成分
--g     G成分
--b     B成分
--a     A成分


***Hell_drawFont(char[] msg, float x, float y, float zoom=1.0f, int r=0xff, int g=0xff, int b=0xff, int a=0xff)
フォントの描画（asciiのみです）
-パラメータ
--msg   ascii文字列
--x,y   描画開始位置
--zoom  拡大サイズ（1.0fで32x48）
--r     R成分
--g     G成分
--b     B成分
--a     A成分
***Hell_drawFontEx(float x, float y, float zoom=1.0f, int r=0xff, int g=0xff, int b=0xff, int a=0xff, ...)
Hell_drawFont()をC言語のprintf()のような書式で書くことが出来ます。
より詳しい記述方法は、std.format.doFormat
http://www.kmonos.net/alang/d/phobos/std_format.html
を参考に。

***Hell_sin(float rad)
サインを求めます。パラメータはラジアンです。
***Hell_cos(float rad)
コサインを求めます。パラメータはラジアンです。
***Hell_atan2(float y, float x)
アークタンジェントを求めます。戻り値はラジアンです。
***Hell_sinEx(float deg)
サインを求めます。パラメータは度を指定します。
***Hell_cosEx(float deg)
サインを求めます。パラメータは度を指定します。
***Hell_atan2Ex(float y, float x)
アークタンジェントを求めます。戻り値は度になります。
***Hell_deg2rad(float deg)
度をラジアンに変換します。
***Hell_rad2deg(float rad)
ラジアンを度に変換します。

***Hell_randSeed(uint seed, uint index)
乱数を初期化します。
わざわざ呼ばなくてもプログラム開始時に乱数は初期化されます。
再現性のある乱数を生成したい場合にコールします。
-パラメータ
--seed  種
--index 次の乱数インデックスへの増分

***Hell_rand(uint range)
0～(range-1)の範囲で乱数を生成する

***Hell_randf(float range)
0～rangeの範囲で乱数を生成する（float版)

***Hell_randInt(int begin, int end)
begin &lt;= x &lt; endの範囲で乱数を生成します。
-パラメータ
--begin 開始値
--end   終了値

***Hell_choice(int[] array)
指定の配列からランダムで値を取り出す
-パラメータ
--配列
-戻り値
--配列の中のランダムな値

***Hell_shuffle(int[] array)
指定の配列の値をランダムに入れ替える
-パラメータ
--配列

***Hell_MessageBox(wchar[] message, wchar[] caption=&quot;&quot;, uint type=MB_OK)
Windowsダイアログを表示する
-パラメータ
--message メッセージ文字列
--caption キャプション文字列
--type    メッセージボックスの種類    </description>
    <dc:date>2011-01-21T23:31:09+09:00</dc:date>
  </item>
    <item rdf:about="http://www5.atwiki.jp/yaruhara/pages/112.html">
    <title>VisualDでdHellを使う方法</title>
    <link>http://www5.atwiki.jp/yaruhara/pages/112.html</link>
    <description>
      ログインできなくて、画像ファイルがアップできなかったので、ブログの方に記事を書いておきました。
-VisualDでdHellを使う方法
--http://gamehell.g.hatena.ne.jp/kenmo/20101213

おまけ
-VisualStudioからSVNを使う方法
--「AnkhSVN」を使う
--http://ankhsvn.open.collab.net/
---このページから「Download」をたどる
---途中でレジストを要求されるけど、右下の「Skip registration and download the software」で回避できる
---ダウンロードしたAnkhSvn-X.X.XXXXX.XX.msiを起動するとインストールできる    </description>
    <dc:date>2011-01-01T00:21:52+09:00</dc:date>
  </item>
    <item rdf:about="http://www5.atwiki.jp/yaruhara/pages/76.html">
    <title>D言語ゲームライブラリ「dHell」</title>
    <link>http://www5.atwiki.jp/yaruhara/pages/76.html</link>
    <description>
      *これは何？
D言語で簡単にゲームが作れるようにライブラリを作ってみました。
ただし、プリミティブな機能しかありません。が。
D言語のお試しとして、使ってみるのもいいかもしれません。

----

目次

----
#contents

*ダウンロード
http://www5f.biglobe.ne.jp/~kenmo/dest/d/dhell.zipからライブラリ一式をダウンロードします。

*関連陸
-[[VisualDでdHellを使う方法]]

*変更履歴
-2007.10.8 - 中心座標を指定して描画、描画オフセット座標の指定、キー入力のユーティリティ、SEのワンショット再生、数学関連などの機能を追加
-2007.10.7 - フォント読み込み処理を追加（※コンパイルスイッチに「-version=use_ttf」を指定する必要があります）
-2007.8.5  - 垂直の線分描画がおかしかったのを修正(指摘ありがとうございます＞meiteiさん)。SDL_Delay(1)にしてCPU使用率を減らしてみた。
-2007.7.18 - 点／線分描画、三角関数、乱数取得処理を追加
-2007.6.25 - DMD 2.000に対応。（※コンソール消すおまじないコードを消しただけ（´∀｀；
-2007.1.23 - DMD 1.00に対応。makefileを添付。
-2007.12.1 - おめがさんのFPS安定処理を取り込む
-2007.11.1 - とりあえず公開してみる

*機能
今のところこんな感じです。
-画像読込・描画（BMPのみ）
-BGM読込・再生（OGGのみ）
-効果音読込・再生（WAV/OGG）
-キーイベント（マウス・キーボード・ジョイスティック）のハンドリング
-フォントの描画（標準はasciiのみ。Hell_openFontでフォントファイルを指定）

まー、最低限の機能しかありませねー。

*ビルド方法
build.batをテキストファイルで開いて、
D言語コンパイラ・リンカのパスを設定します。
（パスを通してあるのであれば、必要ありません）

で、build.batを実行します。
**フォントの補足
フォントを読み込む場合、コンパイルスイッチに「-version=use_ttf」を指定する必要があります。
フォントを読み込まない場合(ascii文字のみで充分な場合）、「SDL_ttf.lib」と「SDL_ttf.dll」は不要となります。

*使い方
「test.d」を編集していきます。
なんか色々ありますが、最低限必要なコードはこれだけです。

 import hell;
 
 void main()
 {
 	try
 	{
 		// Hellシステム初期化（キャプション&quot;Hell&quot; 640x480）
 		Hell_init(&quot;Hell&quot;, 640, 480);
 		// ゲームループ開始
 		while(true)
 		{
 			// 画面更新
 			Hell_update();
 			// 33ms待つ
 			Hell_wait(33);
 		}
 	}
 	catch(Exception e)
 	{
 		// 例外をログに書き込み
 		Hell_write(e);
 	}
 	finally
 	{
 		// Hellシステム終了
 		Hell_quit();
 	}
 }

注意が必要なのは、「try～catch～finally」です。
ウィンドウが閉じられたときには、Hell_wait()が例外を返します。
その場合、catchして、ログの出力をし、Hell_quit()で終了します。

画像ファイルが存在しなかった場合など、「run.log」にエラーが書き込まれるので、
それを参照します。

*特殊なキーの動作
-F5キー：ボスが来た！　⇒ウィンドウ最小化
-F9キー：ウィンドウモード・フルスクリーン切替
-F10キー：マウスカーソル表示切替
-F12キー：スクリーンショットをscreenshot.bmpで保存
-ESCキー：アプリケーションを終了します。

*サンプルゲーム
-[[散歩ゲー２&gt;http://www5f.biglobe.ne.jp/~kenmo/dest/d/asc2.lzh]]---あの散歩ゲー２がパワーアップして帰ってきた！！

*「dHell」リファレンス

**Hell_init(char[] caption, int width, int height, bool fullscreen=false)
dHellを初期化します。
-パラメータ
--caption    ウィンドウタイトル文字列
--width      画面縦サイズ
--height     画面横サイズ
--fullscreen フルスクリーンフラグ

**Hell_quit()
dHellの終了処理を行います。

**Hell_write(...)
ログファイル「run.log」に書式文字を書き込みます。
**Hell_write(Exception e)
ログファイル「run.log」に例外情報の書き込みを行います。
**Hell_update()
画面を更新します。
この関数を呼ばないと描画内容は更新されません。
**Hell_wait(int ms)
プログラムの実行を停止します。このタイミングでキー入力が更新されます
-パラメータ
--停止時間(1/1000秒)
**Hell_setCaption(...)
キャプション設定（※日本語不可）
-パラメータ
--書式文字列
**Hell_setOffset(int x, int y)
描画オフセットを設定します。
-パラメータ
--x オフセット座標(X)
--y オフセット座標(Y)

**Hell_drawPoint(int x, int y, int r=0x00, int g=0x00, int b=0x00)
点の描画
-パラメータ
-- x,y   座標
-- r,g,b 色

**Hell_drawLine(int x1, int y1, int x2, int y2, int r=0x00, int g=0x00, int b=0x00)
線分描画
-パラメータ
-- x1,y1 開始座標
-- x2,y2 終了座標
-- r,g,b 色

**Hell_fillRect(int x=0, int y=0, int w=0, int h=0, int r=0x00, int g=0x00, int b=0x00)
矩形を描画します。
-パラメータ
-- x,y   左上座標
-- w,h   幅・高さ
-- r,g,b 描画色
**Hell_fillRectEx(int cx=0, int cy=0, int w=0, int h=0, int r=0x00, int g=0x00, int b=0x00)
中心座標を指定して矩形を描画します。
-パラメータ
-- cx,cy 中心座標
-- w,h   中心からの幅・中心からの高さ
-- r,g,b 描画色

**Hell_loadBMP(char[] key, char[] filepath, int r=-2, int g=0, int b=0)
BMPを読みこみます。
-パラメータ
--key      画像のキー（Hell_drawで使います）
--filepath 画像ファイルのパス
--r,g,b    カラーキー（r=-2のとき抜き色なし。r=-1のとき左上(0, 0)を抜き色にする

**Hell_draw(char[] key, int px, int py, int ox=0, int oy=0, int ow=0, int oh=0)
BMPを描画します。
ox,oy,ow,ohを省略すると、BMP全体を描画します。
-パラメータ
--key      画像のキー（Hell_loadBMPで指定したkey）
--px,py    左上座標
--ox,oy    切り取り開始座標（左上）※省略可
--ow,oh    切り取りする幅・高さ※省略可
**Hell_drawEx(char[] key, int cx, int cy, int ox=0, int oy=0, int ow=0, int oh=0)
中心座標を指定してBMPを描画します
-パラメータ
--key      画像のキー（Hell_loadBMPで指定したkey）
--cx,cy    中心座標
--ox,oy    切り取り開始座標（左上）※省略可
--ow,oh    切り取りする幅・高さ※省略可

**Hell_setAlpha(char[] key, int alpha)
画像にアルファ値を設定します
-パラメータ
--key   画像のキー（Hell_loadBMPで指定したkey）
--alpha アルファ値

**Hell_getMouseX
マウスのX座標を取得します。
-戻り値 --- マウス座標X

**Hell_getMouseY
マウスのY座標を取得します。
-戻り値 --- マウス座標Y

**Hell_isPressMouse
マウスを押し続けているかどうかを判定するフラグを取得します。
-戻り値 --- マウスを押し続けているかどうかのフラグ
●使い方
 if(Hell_isPressMouse() &amp; HELL_BUTTON_LEFT)
 {
 	printf(&quot;press left&quot;);
 }
 if(Hell_isPressMouse() &amp; HELL_BUTTON_MIDDLE)
 {
 	printf(&quot;press middle&quot;);
 }
 if(Hell_isPressMouse() &amp; HELL_BUTTON_RIGHT)
 {
 	printf(&quot;press right&quot;);
 }

**Hell_isPushMouse
マウスをそのフレームに押したかどうかを判定するフラグを取得します。
-戻り値 --- マウスをそのフレームに押したかどうかのフラグ
●使い方
 if(Hell_isPushMouse() &amp; HELL_BUTTON_LEFT)
 {
 	printf(&quot;push left&quot;);
 }
 if(Hell_isPushMouse() &amp; HELL_BUTTON_MIDDLE)
 {
 	printf(&quot;push middle&quot;);
 }
 if(Hell_isPushMouse() &amp; HELL_BUTTON_RIGHT)
 {
 	printf(&quot;push right&quot;);
 }

**Hell_isPressKey
キーを押し続けているかどうかを判定するフラグを取得します。
-戻り値 --- キーを押し続けているかどうかのフラグ
●使い方
 if(Hell_isPressMouse(HELL_DOWN))
 {
 	printf(&quot;press down&quot;);
 }
 if(Hell_isPressMouse(HELL_RIGHT))
 {
 	printf(&quot;press right&quot;);
 }
 if(Hell_isPressMouse(HELL_LEFT))
 {
 	printf(&quot;press left&quot;);
 }

**Hell_isPushKey
キーをそのフレームに押したかどうかを判定するフラグを取得します。
-戻り値 --- キーをそのフレームに押したかどうかのフラグ
●使い方
 if(Hell_isPushKey(HELL_RETURN))
 {
 	printf(&quot;push return&quot;);
 }
 if(Hell_isPushKey(SDLK_z))
 {
 	printf(&quot;push z&quot;);
 }
 if(Hell_isPushKey(HELL_UP))
 {
 	printf(&quot;push up&quot;);
 }

**Hell_loadWAV(char[] key, char[] path)
SE（WAVファイル）を読み込みます
-パラメータ
--key  キー（Hell_playWAVで使います）
--path サウンドファイルのパス

**Hell_playWAV(char[] key, int loops=0, int channel=-1)
SE（WAVファイル）を再生します
-パラメータ
--key     キー
--loops   ループ回数。0で１回再生。（-1で無限ループ）
--channel チャンネル（0～7番までを使うことができます。-1で自動割当）
**Hell_playWAVEx(char[] key, int channel)
SEをワンショットで鳴らします。
特定のチャンネルを割り当てることで、重複して再生されないようにします。
-パラメータ
--key     キー
--channel 使用するチャンネル

**Hell_stopWAV(int channel=-1)
SE（WAVファイル）を停止します。
-パラメータ
--channel 停止するチャンネル番号(-1で全て停止)

**Hell_isPressJKey(int id)
ジョイスティックの十字キーを押しているかどうかを調べます。
-戻り値---ジョイスティックの十字キーを押しているかどうか
●使い方
 if(Hell_isPressJKey(HELL_J_UP))
 {
 	printf(&quot;press up&quot;);
 }
 if(Hell_isPressJKey(HELL_J_DOWN))
 {
 	printf(&quot;press down&quot;);
 }
 if(Hell_isPressJKey(HELL_J_LEFT))
 {
 	printf(&quot;press left&quot;);
 }
 if(Hell_isPressJKey(HELL_J_RIGHT))
 {
 	printf(&quot;press right&quot;);
 }

**Hell_isPushJKey(int id)
ジョイスティックの十字キーを押したかどうかを調べます。
-戻り値---ジョイスティックの十字キーを押したかどうか
●使い方
 if(Hell_isPushJKey(HELL_J_UP))
 {
 	printf(&quot;push up&quot;);
 }
 if(Hell_isPushJKey(HELL_J_DOWN))
 {
 	printf(&quot;push down&quot;);
 }
 if(Hell_isPushJKey(HELL_J_LEFT))
 {
 	printf(&quot;push left&quot;);
 }
 if(Hell_isPushJKey(HELL_J_RIGHT))
 {
 	printf(&quot;push right&quot;);
 }

**Hell_isPressJButton(int id)
ジョイスティックのボタンを押しているかどうかを調べます。
-戻り値---ジョイスティックのボタンを押しているかどうか
●使い方
 if(Hell_isPressJButton(0))
 {
 	printf(&quot;press 1button&quot;);
 }
 if(Hell_isPressJButton(1))
 {
 	printf(&quot;press 2button&quot;);
 }
 if(Hell_isPressJButton(2))
 {
 	printf(&quot;press 3button&quot;);
 }
 if(Hell_isPressJButton(3))
 {
 	printf(&quot;press 4button&quot;);
 }

**Hell_isPushJKey(int id)
ジョイスティックのボタンを押したかどうかを調べます。
-戻り値---ジョイスティックのボタンを押したかどうか
●使い方
 if(Hell_isPushJButton(0))
 {
 	printf(&quot;push 1button&quot;);
 }
 if(Hell_isPushJButton(1))
 {
 	printf(&quot;push 2button&quot;);
 }
 if(Hell_isPushJButton(2))
 {
 	printf(&quot;push 3button&quot;);
 }
 if(Hell_isPushJButton(3))
 {
 	printf(&quot;push 4button&quot;);
 }
**入力ユーティリティ
***Hell_isPressEnter / Hell_isPushEnter
-キーボードの「Z」「Return」「Space」
-ジョイスティックの「0」ボタン
-マウスの左ボタン
***Hell_isPressCancel / Hell_isPushCancel
-キーボードの「X」
-ジョイスティックの「1」ボタン
-マウスの右ボタン
のいずれかが押されたかどうか
***Hell_isPressMenu / Hell_isPushMenu
-キーボードの「C」
-ジョイスティックの「2」ボタン
-マウスの真ん中ボタン
のいずれかが押されたかどうか

**Hell_getBgmVolume()
BGM音量の取得
-戻り値
--音量(0～128)
**Hell_setBgmVolume(int volume=128)
BGM音量を設定
 ※Windows2000の場合、BGM音量設定直後にHell_playBgmを呼ぶとフリーズする可能性があります
 回避するには、Hell_setBgmVolumeの後に、Hell_wait(100)を入れてからBGMの再生を行うようにします
-パラメータ
--音量(0～128)

**Hell_playBgm(char[] path, int loops=-1, int ms=0)
BGMを再生します
-パラメータ
--path  ファイルパス
--loops ループ回数（-1で無限ループ）
--フェードイン時間（ms）

**Hell_stopBgm(int ms=0)
BGMを停止します
-パラメータ
--フェードアウト時間（ms）

**Hell_drawFont(char[] msg, int x, int y, int alpha=0xff)
フォントの描画（標準はasciiのみ。Hell_openFontすると日本語もイケます）
-パラメータ
--msg 文字列
--x,y 描画開始位置

**Hell_drawFontEx(int x, int y, int alpha, ...)
フォーマットを指定して描画

**Hell_openFont(char[] key=&quot;MSGOTHIC18&quot;, int size=18, char[] path=&quot;msgothic.ttc&quot;)
指定したフォントを開きます。
フォントは、まずカレントディレクトリを探し、存在しなければシステムフォントのディレクトリを探しに行きます。
フォントを開くと標準フォント(たれフォント)は使えなくなります。
-パラメータ
--key キー
--size フォントのサイズ
--path フォントのパス

**Hell_setFont(char[] key)
使用するフォントを変更します
-パラメータ
--key フォントのキー Hell_openFontで指定したもの

**Hell_setFontColor(int r, int g, int b)
描画するフォントの色を変えます(標準フォントの場合は無効)
-パラメータ
-- r 赤成分
-- g 緑成分
-- b 青成分

**Hell_getFPS()
現在のFPSを取得します

**Hell_drawFPS(int x=-1, int y=-1)
FPSを描画します
-パラメータ
--x 描画座標(X)
--y 描画座標(Y)

**Hell_sin(float rad)
サインを求めます。パラメータはラジアンです。
**Hell_cos(float rad)
コサインを求めます。パラメータはラジアンです。
**Hell_atan2(float y, float x)
アークタンジェントを求めます。戻り値はラジアンです。
**Hell_sinEx(float rad)
サインを求めます。パラメータは度を指定します。
**Hell_cosEx(float rad)
サインを求めます。パラメータは度を指定します。
**Hell_atan2Ex(float y, float x)
アークタンジェントを求めます。戻り値は度になります。
**Hell_deg2rad(float deg)
度をラジアンに変換します。
**Hell_rad2deg(float rad)
ラジアンを度に変換します。
**Hell_abs(float a)
**Hell_abs(int a)
絶対値を求めます。
**Hell_log10(float a)
常用対数を計算します。
**Hell_distance(float dx, float dy)
距離を求めます。-&gt; sqrt(dx*dx + dy*dy)

**Hell_randseed(uint seed, uint index)
乱数を初期化します。
わざわざ呼ばなくてもプログラム開始時に乱数は初期化されます。
再現性のある乱数を生成したい場合にコールします。
-パラメータ
--seed  種
--index 次の乱数インデックスへの増分
**Hell_rand(int range)
0～rangeの範囲で乱数を生成します。
**Hell_randint(int begin, int end)
begin &lt;= x &lt; endの範囲で乱数を生成します。
-パラメータ
--begin 開始値
--end   終了値
**Hell_choice(int[] array)
配列からランダムで値を取り出します
**Hell_shuffle(int[] array)
配列の値をランダムに入れ替えます    </description>
    <dc:date>2010-12-13T12:33:57+09:00</dc:date>
  </item>
    <item rdf:about="http://www5.atwiki.jp/yaruhara/pages/111.html">
    <title>2010年忘年会オフ</title>
    <link>http://www5.atwiki.jp/yaruhara/pages/111.html</link>
    <description>
      *2010年忘年会オフ(2010/12/05)
無事終了しました。参加者のみなさんお疲れ様でした。

久々に告知してみようと思いページを作りました。
今年はどうだったでしょうか？
そんな思いを振り返りつつ忘年会やろうぜ。
ゲームヘルに関係ない方でも全然ＯＫです。
首を突っ込んでからが地獄の始まりだとか、始まらないとか。
日程を加筆しました。(12/8 D.K)
マップを修正しました。（12/9 isk8086）

・日程
2010/12/11
　2時～4時半まで　秋葉で買い物等
　4時半～5時　西日暮里に移動
　5時～11時くらい（各自の都合にて順次解散）　忘年会　

・集合
２回に分けますので、都合の良いほうに集合してください。
秋葉原中央改札口前　２時集合
JR西日暮里駅　５時集合
5時以降、忘年会は「フィレンツェ」で行いますのでそちらに直接合流してください。飛び入り参加可。

地図（ルートつきの GoogleMap です）
http://goo.gl/maps/kCck

・行く人の予定
D.K
8086 第一部は途中合流できれば合流。第二部は参加で。
丼
Tatsuya Koyama
おめが
かわお
みかげ
proc.
icewind
i-saint
薄力粉
ｲ五
ABA
Hayana
ぎむざ たぶん途中参加になると思います。
各自追記してください。    </description>
    <dc:date>2010-12-13T10:57:31+09:00</dc:date>
  </item>
    <item rdf:about="http://www5.atwiki.jp/yaruhara/pages/36.html">
    <title>blacker-lotus</title>
    <link>http://www5.atwiki.jp/yaruhara/pages/36.html</link>
    <description>
      *公開してるもの
[[http://blackerlotus.web.fc2.com/]]
-えぐぜりにゃ～insane　[[http://blackerlotus.web.fc2.com/exelinya_insane.lzh]]
あらゆる派生バージョンの気に入ったところのいいとこどり（と私が思っている）しかしてないゲーム。唯一頑張ったのは、点数によるライフ回復制と800×600の大画面にしたことぐらい。
-対戦型えぐぜりにゃ～　[[http://blackerlotus.web.fc2.com/exelinya_vs.lzh]]
上記のシステムを多少変更を加えてローカル対戦を可能にしたもの。
-Twin tower The Grand Master　[[http://blackerlotus.web.fc2.com/ttgm.lzh]]
画面縦長の積むということに特化した極端ゲー。気持ちいいぐらい４連とか５連とかができるゲームバランスだと思います。段位認定機能つき？    </description>
    <dc:date>2010-10-28T15:52:23+09:00</dc:date>
  </item>
  </rdf:RDF>

