トップ «前の日記(2013/02/18) 最新 次の日記(2013/02/20)» 編集

SikabaneWorksが関係するコンテンツ(主に*band系ローグライク)の開発近況・補足から全く個人的な雑記まで。

[WEB:屍の見える丘公園]| [RSS]

Angband | Badiashimshe | C# | CRAUZEL | D'angband/小説草稿 | D'angband/開発 | DarkSouls | Demon'sSouls | DungeonCrawl | ElvenUteruses | Haskell | Hengband | J9シリーズ | LEGO | LineDrawing | MISC | MTG | Mac | Math | Moria | R-18 | Roguelike | Rough | RoughSketch | Ruby | SDL | UNIX | VMware | WarHammer | Zangband | アタシラヂョウヲウ | イラスト | ガジェット | ゲーム | ゲーム紹介 | ゲーム製作技術 | ゲーム論 | スケッチ | ツクール | テクノロジー | ニコニコ動画 | ファルコム | ファンタジー | ヴィーヤウトゥムノ | 別記事追加予定 | 変愚蛮怒 | 変愚蛮怒/スポイラー | 変愚蛮怒/元ネタ探訪 | 変愚蛮怒/攻略 | 変愚蛮怒/開発 | 宗教 | 情報 | 政治 | 文字コード | 日ペ昔話 | 東方ワンドロ | 東方外法漢女 | 歴史 | 漫画製作 | 版権絵 | 画像処理 | 翻訳 | 自然言語 | 艦隊これくしょん | 落書き | 言語解析 | 読書 | 超人ロック | 軍事 | 追記予定 | 通信 | 阿片窟 | 馬鹿馬鹿蛮怒/開発 | 魔法少女まどか☆マギカ | 魚類版深夜の真剣お絵描き60分一本勝負


2013/02/19

[変愚蛮怒/スポイラー]place_trap()/choose_random_trap()関数によるトラップ選択処理(変愚蛮怒 Ver2.1.2 rev3303)

void place_trap(int y, int x)
int choose_random_trap(void)

place_trap()関数は指定のマスにランダムなトラップを配置する関数であり、cave_gen()系列の処理で頻繁に呼ばれる。座標のフロア範囲外を抑制し、指定のマスの罠IDをchoose_random_trap()が返した値で埋めた上で、地形を標準の床に偽装する。

choose_random_trap()関数は標準的に選択可能なトラップを一様乱数で1種類返すのみで、これもそんなに複雑な処理ではない。トラップの種類は以下の通りである。

"TRAP_TRAPDOOR"トラップ・ドア
"TRAP_PIT"落とし穴
"TRAP_SPIKED_PIT"落とし穴
"TRAP_POISON_PIT"落とし穴
"TRAP_TY_CURSE"邪悪なルーン
"TRAP_TELEPORT"奇妙なルーン
"TRAP_FIRE"焦げた場所
"TRAP_ACID"焦げた場所
"TRAP_SLOW"ダーツ・トラップ
"TRAP_LOSE_STR"ダーツ・トラップ
"TRAP_LOSE_DEX"ダーツ・トラップ
"TRAP_LOSE_CON"ダーツ・トラップ
"TRAP_BLIND"ガス・トラップ
"TRAP_CONFUSE"ガス・トラップ
"TRAP_POISON"ガス・トラップ
"TRAP_SLEEP"ガス・トラップ
"TRAP_TRAPS"コンパクトルーン
"TRAP_ALARM"警報装置

ただしトラップ・ドアのみは、

  • 既にダンジョンの最深層にいる
  • クエスト中のフロアである
  • 闘技場内である

場合のみ振りなおして別のトラップが選択される。

[版権絵]混沌の戦士

ChaosWarrior