約 2,913,177 件
https://w.atwiki.jp/aniwotawiki/pages/1085.html
登録日:2011/06/17(金) 11 29 08 更新日:2024/09/28 Sat 07 38 44NEW! 所要時間:約 6 分で読めます ▽タグ一覧 0ターンキル BIG5 F・G・D おっさん どうしようもないオジサンの集まり アニメではネタ カラフルな項目 サラリーマン ジャッジ・マン チート ネタキャラ バーチャル ビッグ5 ペンギン・ナイトメア 乃亜編 五人組 人事 人造人間-サイコ・ショッカー 企業 会社員 原作では空気 大下幸之助 大岡筑前 大瀧修三 大田宗一郎 大門小五郎 小物 工場長 幹部 弁護士 捨て石 捨て駒 機械軍曹 海馬コーポレーション 深海の戦士 烏合の衆 買収 逆恨み 遊戯王 遊戯王DM 遊戯王ボスキャラ 遊戯王登場人物項目 重役 電脳キャラ 『BIG5』は海馬コーポレーションの中でも重要なポストに就いている重役グループ。 名前通りに5人存在するが、その全てが男性である事以外は詳細不明。暗がりに5人揃って出てくる都合上、各々の姿もよく見えない。 原作では社長がマインドクラッシュされたのを機にペガサスと手を組み海馬コーポレーションを乗っ取ろうと画策。 社長こと海馬瀬人を亡き者にし、武藤遊戯を倒す(*1)事で海馬コーポレーションをペガサスに譲渡するつもりだったが、ペガサスが遊戯に負けたため計画は白紙となった。 …原作は(マジで)これだけの扱い。決闘者の王国編以降は一切登場しなかったため、戻って来た社長にまとめてクビにされたか裏で始末されたのだろう。 しかしながら、アニメ版ではオリジナルエピソードにて二度登場。 1回目はデュエルモンスターズクエスト編において再登場。 ペガサス島から帰ってきた社長に乗っ取り計画を糾弾されクビを言い渡されそうになるが、BIG5は自分達が開発したデュエルモンスターズクエストというゲームで勝負を提案する。 「このゲームを社長がクリアできれば我ら一同は潔くクビを認める」という条件で社長は単身でゲームに挑むも、それは電脳世界の中で社長を葬り去ろうとするBIG5の罠であった。 しかしモクバが遊戯たちに助けを求めた事で、遊戯と城之内とモクバもデュエルモンスターズクエストに参戦。 ゲームのモニター役として参加していた孔雀舞とも合流し、何やかんやあって社長を救出されてしまいゲームクリアに… と思いきや、最後の手段としてBIG5の面々もゲームに参加。 開発者権限による俺ルールを駆使し、本来のラスボスだったF・G・Dを強制召喚。形振り構わず社長たちを亡き者にしようとする。 だが遊戯と海馬の協力プレイで隠しモンスターの究極竜騎士を召喚され、F・G・Dを完全撃破されたことで敗北する。 2回目は乃亜編。こっちの方が有名。 デュエルモンスターズクエスト編では彼らのその後について触れられていなかったが、敗北したことにより自分たちの意識が電脳世界に幽閉されたことが判明。 意識だけのまま電脳世界を彷徨い続けていた彼らだったが、海底要塞の主である乃亜に助けられた事で彼の部下となっていた。 本来の身体を自業自得とはいえ失ったが(DMクエストで死んだも同然だったので身体を処分されたのだろう)、お前達が悪いと言わんばかりに逆恨みしており、復讐も兼ねて遊戯たちの身体をデュエルで勝って奪おうとする。身体で払ってもらうぜ! 最初に遊戯達と顔合わせするシーンや乃亜と会話する際は本来の姿だが、デュエルを挑む時は基本的にモンスターの姿をとっている。電脳世界だからか人間の姿でもモンスターの姿でも自由になれるようだ。 (なお、モンスターでもあるデュエリストは設定等は違えど次作GXでも登場している(彼らに似たポジションのキャラとして覇王軍の幹部連等も登場する)。) 遊戯達を電脳世界に引きずり込み、それぞれがデュエルを行うがいずれも敗北し、身体を奪えたのもBIG4のみという体たらく。 これでは我々全員が現実世界に帰還できないと文句を垂れ始め、もはやデュエルなど関係ないとしてBIG4以外の4人は城之内、静香、御伽を直接襲い始めるが、 寸でのところでルール無用を良しとしない乃亜に荒野の大竜巻で止められ、回収された。 大の大人が小さな子供である乃亜に懇願して最後のチャンスを貰い、今度は総力戦を挑む。 遊戯と城之内のタッグを相手に、本田の身体に5人の意識が集ったBIG5による2対1(5)のデュエルを展開。 BIG5側は「ライフポイント8000」「5体のデッキマスターを交換可能」というアドバンテージを得ながらも敗北。 それでも納得がいかなかったBIG5はやはり遊戯達の身体をルール無用で狙おうとするが、またもや乃亜に回収される。 回収先で乃亜に「敗者に存在する価値などない」と見切りを付けられてもなお「もう一度だけチャンスを」と諦めの悪さを見せるが、バーチャル世界に本物などひとつもありはしない=遊戯たちの肉体もバーチャルなので実際にはデュエルに勝っても生身の肉体は手に入らないことを宣告された上で、乃亜への怨み節を嘆きながら電脳世界からも完全に存在を消去されてしまう最期を迎えたのであった…。 …ちなみに、乃亜編終盤で乃亜はモクバの体を乗っ取って現実世界に帰還しており、「実は生身の肉体を手に入れる事は可能だった」という二段オチがついている。 「デュエルに勝っても肉体は奪えない」と言う意味では嘘はついてないが。 最も、技術的に可能でも乃亜が彼らに肉体を提供してやるつもりがあったとは思えないので、どの道彼らが現実世界に帰還できる見込みは無かっただろう。 ■BIG5の愉快なおっさん達 この項目で記されているBIG5の詳細は、アニメオリジナル『乃亜編』の設定によるものである。 それぞれの名字に「大」という文字が入っているのが特徴で、名前の元ネタは実在の人物から架空のキャラクターまで様々。 CVはデュエルモンスターズクエスト編までと乃亜編とで異なる。 栄冠は最後の勝利者に与えられるものだ BIG1(ビッグワン) 大下(おおした) 幸之助(こうのすけ) デッキマスター:深海の戦士 CV 斉藤信行/園岡新太郎 「妖怪」とも呼ばれた企業買収のスペシャリスト。 銀英伝のラングに似ている。 諺に詳しく色々と披露してくる。しかしあまりにもベラベラと話したためか王様も「うるさいZE!」。 アボリジニの神話をモチーフとするデッキを使い、低レベルの効果モンスターを多用しアドバンテージを稼ぐというガチな戦い方をする。守備能力の低さはデッキマスター能力で補う徹底ぶり。 ぶっちゃけ実力は5人の中で最強候補筆頭であり、そのスタイルは現代でも十分通用するほど。途中で遊びさえしなければ神のカード無し、さらに自分たちに圧倒的有利なデッキマスターシステムのルールとはいえ闇遊戯を普通に倒せていた。 ただ戦術が堅実過ぎるため、アニメ的に見栄えはしない。 使用するモンスターもまた堅実で、召喚時に相手に「刻の封印」をブチかます「ヨーウィー」、リバース時にハンデスするリクルーターの「アシニグライ」、召喚・反転召喚・特殊召喚時にドローする「イピリア」 1000以上のダメージをトリガーに手札から特殊召喚され、フリーチェーンリリースで手札から条件付きで複数体ssする「精霊王ルクランバ」、墓地へ送られた時に相手モンスターを全て道連れにする「虹蛇のエインガナ」、等々とにかく妨害とアド稼ぎに特化している。 これらのモンスター効果とデッキマスター能力で守りを固め、計算された戦術で鉄壁の布陣を身構えるため、隙がない。 乃亜編の冒頭ではBIG5のリーダーっぽくセンターに陣取っていたが、 タッグデュエルの際は1ターン目にフィールド魔法「伝説の都 アトランティス」と、モンスターの「伝説のフィッシャーマン」を場に出しただけで出番が終了。リーダー役も大門に持って行かれた。 名前の元ネタは現在のパナソニックに当たる会社の創業者で「経営の神様」と呼ばれた松下幸之助と思われる。 何故、子供たちにペンギンの優しさを教えない! BIG2(ビッグツー) 大瀧(おおたき) 修三(しゅうぞう) デッキマスター:ペンギン・ナイトメア CV 鶴岡聡/大谷亮介 通称エロペンギン。ちなみに55歳。 人事担当だったらしく、対象人物のデータ収集を得意としている。「真崎杏子16歳」と名前の後に年齢を加えるのが特徴。 とにかくエロく、ピチピチの体が欲しくてたまらないため、真っ先に対戦相手に杏子を選択した。性欲に大変忠実なおっさんである。 エロいだけでなく、若者を見下した嫌味な言動も度々見られる。 杏子が過去にニューヨークでミュージカル「ブラック・マジシャン・ガール、賢者の宝石」に感動して以来、ダンサーを目指しているという夢を冷笑したり、 彼女のデッキマスター『ブラック・マジシャン・ガール』も「半人前の魔法使い」「ブラック・マジシャンがいなければ福神漬けの付いていないカレー同然」扱い (ただ、この言い方だと師匠がオマケ・引き立て役ということになってしまうのだが)。 タッグデュエルの際も遊戯が要注意人物だと知りながら、優位を確信した際に「所詮はガキンチョ」と内心勝ち誇っていた(すぐに裏をかかれることになったが)。 幼少時に両親が不仲で喧嘩ばかりしており、当時動物園で見たペンギン達が唯一の心の支えであったことからペンギンが大好き。 海馬ランドの一角にペンギンランドを建設するという提案をボツにされた(*2)ことで、海馬を恨むようになった。 まあ彼の境遇には同情すべき点は多々あるが、ペンギンオンリーのブースなんぞニッチすぎて海馬じゃなくても却下するのではなかろうか。 デッキもペンギンがメインかつ水属性で統一・・・とは言うものの、当時OCGでは『ペンギン』がデッキテーマとして成立しておらず、 作中で実際に使用した「ペンギン」系モンスターの数は数体程度で、使ったサポートも劣化『デーモンの斧』の『ペンギンソード(*3)』のみであった。 乃亜編で時折使用された魔法カード「リベンジサクリファイス」は彼が使っていたカードで、触手で雁字搦めにするイラストおよびエフェクトである事から触手フェチではないかと疑われている。 『ペンギン・ナイトメア』は後にOCG化しており、表側表示になった時に相手のカード1枚をバウンスと無効化されづらい強力な除去能力を持つ。 リバースモンスターではないため『停戦協定』『抹殺の使徒』に強く、守備力も高めというエロペンギンには勿体無い優秀な性能。 名前の元ネタは俳優・ナレーターの大滝秀治氏と思われる。 言ったでしょう、私は黒いものでも白にすると BIG3(ビッグスリー) 大岡(おおおか) 筑前(ちくぜん) デッキマスター:ジャッジ・マン CV 高橋広樹→竹本英史/八代進一 BIG5最弱候補筆頭。 元顧問弁護士。黒も白にする手腕の持ち主。ただしヘタレ。 凡骨とのデュエルも凡骨のギャンブル系のカードはすべて外れると言うイカサマに加え、チート丸出しな最強のデッキマスター能力を使ってくる。 それなのに凡骨に負ける。しかも最後に運ではなく駆け引きで負けているところを見ると、今までどうやって裁判で勝ってきたのか気になる。 一応裁判は全戦全勝らしいが、本人曰く勝てる裁判しかしないらしい。盤外戦術だけで勝負らしい勝負はしていなかったのだろうか…? BIG5総出のリベンジ戦の際は、一度負けたにもかかわらず城之内を甘く見ていたため、彼が足を引っ張るのを期待して遊戯とのタッグ結成を了承、 代わりにBIG5側はライフ8000からスタートするという条件を提示した。 気に入っているのか、両方のデュエルで『ヒステリック天使』を使用するが、アニメでの姿は実際のカードイラストよりも大分美化されている。 また、城之内とのデュエルでのみ、レベルと攻撃力の低い融合モンスターを『ハ・デスの誘導尋問』『魔界の司法取引』といった専用カードで補助する戦術を取っていた (前者は自分の場のレベル4以下の融合モンスターは戦闘時に攻撃力800アップ、後者はレベル4以下の融合モンスターは召喚ターンに攻撃可能(*4)な上、相手にダメージを与えた場合自分のライフを800回復する。両方アニメのみ)。 この戦略自体は確かに間違っていないのだが、肝心の戦術眼が節穴状態。具体的には、 明らかに必要ないタイミングでデッキマスター能力を使用 融合召喚に拘り過ぎて確定した勝ち筋をスルー(*5) 2体以上のモンスターで直接攻撃できる状況にありながら片方を射出モンスターのコストに使用。ダメージを与える回数を自ら減らす(*6)。 など。 名前の元ネタは江戸時代中期の大名で、時代劇でもお馴染みの大岡越前と思われる。 機械王は工場長であるワシにこそ相応しいのだ! BIG4(ビッグフォー) 大田(おおた) 宗一郎(そういちろう) デッキマスター:機械軍曹 CV 吉川寛司/杉野博臣 軍需工場の元工場長。人呼んで「工場の鬼軍曹」。 過去に社長の命令で自らの誇りであった工場を爆破させられたため、彼を恨んでいる。 御伽・本田・静香の3人を相手にしたが、本田と静香は初心者中の初心者。 デュエルでは一番弱い静香ばかり狙っていたが、本田が身代わりになってライフが0に。 静香は責任を感じて茫然自失となるが、御伽のサポートや城之内の激励によって立ち直り、逆転勝利を収めた。 が、大田も敗れたとは言え、BIG5の中で唯一デュエルで相手プレイヤーを倒し、身体を手に入れることに成功。 代わりに本田本人の意識は小型のサルロボットに移し替えられた。 その後は社長に木刀で襲い掛かったり、モクバを攫ったりと独断による暴走が何かと目立った。 2回目に復活した際のタッグデュエルでは本田の身体をBIG5全員で共有して挑むことになるが、 『機械王』の召喚成功に気を良くして強引に交代するも、遊戯の罠にまんまと嵌まり、完全に足手まといに。 デッキは機械族で統一されている。 当時は機械族モンスターの層がさほど厚くないことや兵器っぽいカードにへのこだわりもあってか通常モンスターが多め。 3対1のデュエルの際にはデッキマスターである自分自身『機械軍曹』と『機械王』が融合して『パーフェクト機械王』となった (後に『パーフェクト機械王』はOCG化されたが、融合モンスターではなく、通常召喚可能な最上級モンスターとなっている)。 後にドーマ編でも海馬vsアメルダのデュエルの1戦目において、アメルダの回想シーンに剛三郎と共に登場している。 名前の元ネタは現在のホンダの創業者である本田宗一郎と思われる。 本田の身体を奪う展開は元ネタも意識していたのだろうか。 どうだ?剛三郎の造った兵器に苦しめられる気分は BIG5(ビッグファイブ) 大門(だいもん) 小五郎(こごろう) デッキマスター:人造人間-サイコ・ショッカー CV 竹本英史/泉尚摯 社長の元側近。他のBIG5に比べて、ある程度彼の思惑を理解している。 デッキマスター能力+『王宮の勅命』で魔法&罠ロックを仕掛け、社長を追い詰める。 ただし社長とのデュエルでは、全身をコートで纏う事でデッキマスターの正体を隠しており、社長が罠カードが発動する時まで、デッキマスターの能力を明かさなかったりと、微妙にセコい事をしていた。 2回目のタッグデュエルでも遊戯と城之内をギリギリまで追い詰め、BIG5の中でもデュエルの実力は高い部類と見られる(というか彼と大下以外が微妙)が、 戦術云々より『お注射天使リリー』を使用し、サイコ・ショッカーの容姿と声で「検診のお時間だ!」と叫ぶインパクトの方が強い(これが正式な攻撃名らしい)。 過去に社長がモクバに辛く当たったことを持ち出すなど心理フェイズを駆使するも、社長の信念と兄弟の絆は揺らがなかった(が、後に乃亜によって……)。 小五郎だけに『時計型麻酔銃(*7)』などのカードを使用した。 また『困惑のマスク(*8)』とかいうブサイクなマスクを社長に被せるという嫌がらせも。 このデュエルで社長の『青眼の白龍』が宇宙まで飛翔し『サテライト・キャノン』を撃破するシーンは屈指の名シーンである。 だがこの御仁、実は自分の戦術と相性抜群の「ビッグバンガール」をデッキに投入しており、実際手札に引いていたにもかかわらず裏守備にしたままサテライト・キャノンの生贄にするという致命的プレミをやらかしている。 表側表示にしておけばバーンができたため海馬に勝てていたのに……。 なお、彼のデッキに投入されているモンスターは前述のお注射天使リリーやビッグバンガール以外にも薄幸の美少女や幻影の妖精もいる。 作中の言動自体は(お注射天使リリーの攻撃宣言や後述のシーン以外だと)比較的普通だが、彼も女の子好きな事が窺える。 全員揃っての遊戯&城之内とのチーム戦では最終的な主導権を得たが、ここでも詰めの甘さを発揮して敗北している。 というのは、最後の切り札たるF・G・Dを召喚するために、生贄としてデッキマスターを5体全て召喚したのだが、デッキマスター能力はフィールドに出ても使えるため、ジャッジ・マンの能力でモンスターを外してから一斉攻撃すれば勝利していた。 ジャッジ・マンのデッキマスター能力には500バーンが付くため、残りライフ300の城之内は確定でアウト、残りライフ2000の遊戯も伏せカードがなかったため攻撃でアウト、という話である。 切り札に拘ったのが裏目に出た形か。 余談だが、大田以外のBIG5はデュエルで負けた後に一度力ずくで遊戯たちの身体を奪い取ろうとしたが、 この時に大門は静香の身体を巡って大瀧と喧嘩しマジギレするという、相当アレな姿を見せている。 やはりコイツもエロオヤジだった。 名前の元ネタは上述の毛利小五郎のほか、大門五郎という説がある。 ◆デッキマスター能力◆ 深海の戦士 能力名…「リフレクターホール」 相手モンスターが自分のモンスターに攻撃を仕掛けてきたときに自分のモンスター2体を生け贄に(リリース)することで攻撃してきたモンスターの攻撃を無効にし、そのモンスターの攻撃力分のダメージを相手ライフに与える。 コストがあるとはいえ、強力な生きた『魔法の筒』なのだが直接攻撃に対しては発動できない弱点を持つ。 ペンギン・ナイトメア 自分フィールド上の水属性モンスターの攻撃力を200ポイントアップさせる。 そこいらのフィールド魔法よりも控えめな効果であり、デッキマスター能力としては地味な部類。 一応、強化カードとしては破壊される心配がない安定感がメリットとは言えるか。 ジャッジ・マン 能力名…「無期懲役」 ライフを1000払うことで相手フィールド上のモンスターをすべて除外し、その枚数×500ポイントのダメージを相手ライフに与える。 なんと回数制限がない上に相手ターンでも発動できるというぶっ壊れ能力。 しかも性質上封じる手段が皆無なので間違いなく最強のデッキマスター能力だろう。 機械軍曹 能力名…「支援砲撃」 手札の機械族モンスター1枚を捨てることにより500ポイントのダメージを相手ライフに与える。 手札の消費が激しいため、原作版『天よりの宝札』や『補充要員』等でコストとなるモンスターを集めていた。 人造人間-サイコ・ショッカー 相手プレイヤーの罠カードの発動と効果を無効にし、破壊する。 原作版サイコショッカーと同等の能力であり、社長と戦った際は『王宮の勅命』と合わせて罠・魔法の双方を封じる戦法を行った。 デッキマスター能力はわかりやすく言えば基本フリーチェーンなので、発動条件がないものや永続効果以外はいつでも発動できる。 BIG3と双璧を成すチート能力である。 【余談】 このデッキマスターシステムのデモプレイでは社長のホログラムと絶対防御将軍がデュエルをした。 社長のホログラムのデッキマスターは永遠の嫁こと『青眼の白龍』。 その能力は「このカードを融合素材にした融合モンスターは融合召喚したターンに先攻・後攻に関わらず攻撃ができる」 (初代DMでは融合モンスターは融合召喚したターンの攻撃は不可というルールであった)。 絶対防御将軍の能力は「1ターンに一度だけ相手モンスターの攻撃を無効にして攻撃してきたモンスターを破壊する」と言うもの。 デモプレイは社長のホログラムの先攻。 社長のホログラムは先攻ターンに『青眼の究極竜』を融合召喚して先攻1ターンキルを仕掛けたが、絶対防御将軍の能力により、これを破壊されて敗北。 デッキマスターに選択したモンスターは自分のターンならいつでも召喚できてデッキマスターを失えばライフの有無に関わらず敗北する。 ただし、融合などのデッキマスターが関連するモンスターを召喚する際にフィールドから離れても負けにならない。 ※あまり知られていないが0ターンキルはこのデモプレイが初めてである。 この時、彼らの作り出したモンスターである『F・G・D』は融合モンスターではなく儀式モンスターだった。 5ターン以内に光属性以外のモンスター5種類を『邪龍復活の儀式』と言う魔法カードを使用して儀式の生け贄にすることでのみ召喚することができると言うもの。 この時のカード名は『F・G・D-ファイブ・ゴッド・ドラゴン』になっている(*9)。 難しい召喚条件だがそれに見合う強力な効果を兼ね備えていた。 それは… 召喚時、相手フィールド上のカードをすべて破壊する えっ!? そう、召喚時、相手フィールド上のカードをすべて破壊するのである。 大切なので(ry 召喚に成功すれば『神獣王バルバロス』のように大ダメージを与えることができるのだ。 ただし、『F・G・D』自身は召喚したターンに攻撃出来ないが。 この効果はリンクモンスターとしてリメイクされた『F・G・D』、『L・G・D(リンク・ゴッド・ドラゴン)』の能力として再現された。 効果発動後も攻撃出来る様になった代わりに相手のエンドフェイズ毎に自分の墓地のカードを5枚除外しないと墓地へ送られるデメリットがついた。 また、『GX』の14話では人造人間-サイコ・ショッカーの精霊が登場したが、乃亜に消されたBIG5の成れの果てが亡霊となったものかどうかは不明。 遊戯王DM8でのBIG5 遊戯王屈指のクソゲーDM8ではカイバーマンヒーローショーで凹られる悪役として、海馬ランドで再就職している。 プロローグ編 劇中の彼らは決闘者の王国編後に全員海馬コーポレーションをクビにされたらしく、不況云々で仕事が見つからず路頭に迷っており、 5人揃ってモクバに泣きつくように海馬コーポレーションへの再就職を懇願していた。 …あてもない電脳世界で意識を彷徨うのと、現実世界で路頭に迷うのと、どちらがマシなのだろうか。 モクバは彼らに「お前ら自分達がした事わかってるのか?」と真っ当な意見を飛ばしつつも、「チャンスをやらないでもないぜぃ」と手を差し伸べる。 BIG5の面々は喜ぶが、モクバは「よし、さっそく着替えるんだぜぃ」と口にするのであった… 初めてのヒーローショー編 モクバが彼らへのチャンスとして提案した仕事内容…それはカイバーマンショーにおける悪役キャラとしての起用だった。 彼らはショー内では「ビッグワルダーファイブ」と呼ばれており、モクバに頼まれたであろうさらわれ役のゲスト(静香)をショーの範疇で襲おうとしたり、 デュエルもできる悪のダークデュエリストとしてショーを見に来た子供達をショーの範疇で震え上がらせる。 いざデュエルで負けると形振り構わず融合合体し、ファイブ・ゴッド・ドラゴンと化す諦めの悪さも健在である。着ぐるみの5人がどう合体してそうなるのかは永遠の謎 ビッグワルダーファイブの解説 ヒーローショーの悪役という事でBIG5の面々はカイバーマンショーでは乃亜編を彷彿とさせるモンスターの着ぐるみをそれぞれ着用してステージに登壇している。 BIG1(深海の戦士) 劇中でデュエルを行うシーンがなく、得意のことわざを披露するシーンもないため、空気。 BIG2(ペンギン・ナイトメア) ヒーローショーの最中は仕事のためか流石に自重しているが、 後述するサブイベント(「登場!エロペンギン編」を参照)ではいつも通りな彼が見られる。 その際はデュエルする事になるものの、ペンギンモンスターがやや多めな水属性デッキというだけなのでそこまで強くはない。 BIG3(ジャッジ・マン) 劇中でデュエルを行うシーンがなく、無能ぶりをさらけ出すシーンもない。全体的にあまり目立たず、空気。 BIG4(機械軍曹) 劇中でデュエルを行うシーンはない…が、「(ヒーローショーの仕事は)嫌じゃ!」と駄々をこねたり 待遇が改善されるかもとわかると「わ、わしはやるぞー」と真っ先に意気込んだりと、調子のいいおっさんとなっている。 なお、「機械軍曹」自体は本作のカードとしては未収録。 BIG5(人造人間-サイコ・ショッカー) ビッグワルダーファイブのリーダーポジション。そのためかショー内でのセリフが多めで、ヒーローショー内でのデュエルは彼が相手となる。 デュエルの腕前はそこそこ。通常モンスターと化しているが嫁カードの「お注射天使リリー」もデッキにしっかり入っている。 生け贄が揃うと「人造人間-サイコ・ショッカー」や「キラー・パペット」を出してくるので注意。 最強モンスター、ファイブ・ゴッド・ドラゴンに勝てるのはカイバーマンだけ! そこでモクバはショーを見に来た子供達にカイバーマンのコールをするよう呼びかける。 磯野が突如舞台の袖にはけた数分後、舞台奥から誰かが現れる……そう、彼こそが正義の味方 磯野カイバーマンだ! 颯爽と現れたカイバーマンはカオス・ソルジャー、青眼の究極竜を続けて召喚し、2匹は融合合体。本作に融合システムがないとツッコんではいけない BIG5の永遠のトラウマ究極竜騎士によりファイブ・ゴッド・ドラゴンは打ち倒され、悪役らしく爆発。 カイバーマンが「正義は必ず勝つ!」という決め台詞を言い放ち、ショーは幕を下ろす。 カイバーマンショー終了後、モクバは「また次も頼んだぜぃ」とBIG5を労う(?)が、 BIG5の面々はというと「これがBIG5と呼ばれた我々の仕事なのか…?」と疑問を呈し、 BIG4が「ワシはこんな仕事嫌じゃ!」と真っ先に文句を垂れ、1人また1人と全員どこかへ立ち去っていくのであった。 登場!エロペンギン編 本作では一定の条件を満たしていると時計塔広場にてサブイベントが発生(期間限定)。 イベント内容は杏子がステップ・ジョニーにナンパされたり、エロペンギンことBIG2の大瀧修三55歳に視姦観察されるというもの。 BIG2はペンギン・ナイトメアの着ぐるみを着た状態で登場し、 「見つけましたよ真崎杏子16歳!」と喜びを露わにした上で「貴方のピチピチな体を見に来ましたよ」と臆面もなく口にしている。通報不可避 「ペンギンランドの夢が叶わなくなった今、真崎杏子16歳を見てもいいじゃないですか」とも供述しており、完全に乃亜編そのまんまなエロオヤジ。 話の流れで主人公とデュエルを行い、敗北後は今時の若者を蔑みながら「貴方(杏子)もペンギンを見習って可愛い大人になりなさい!」と言いながら去っていくのであった。 裏切りのBIG5編 嫌だ嫌だと言っていたBIG5の面々だが、仕事が選べる立場ではないからかその後も彼らは全員カイバーマンショーの悪役を継続。 しかしこの頃はネオ・グールズが童美野町で悪行の限りを尽くしていた時期。 連中の大半はエスパー絽場達の活躍により追い払われていたものの、生き残りであるレアハンターがヒーローショーに乱入しカイバーマンへデュエルを挑む。 カイバーマンを軽々と倒したレアハンターの姿を見て、BIG5達は長い物には巻かれろ的な感じでレアハンター側へ寝返る。 直後にモクバから「お前ら裏切るのか!?」と言及されるが、BIG3とBIG4から「元々私たちを裏切ったのはそちらです」「怨まれる筋合いはないわい」と返されている。 レアハンターはショーを見に来ていた絽場の弟達を捕えるようBIG5の面々に命令するが、そこへ絽場が登場。 BIG5は絽場に倒され、レアハンターも主人公に倒された事で逃走。 残されたBIG5の面々は寝返った側が負けた事による気まずさからか、逃げたレアハンターを追うようにして姿を消すのであった。 磯野とそれからのBIG5編 エピローグでは暇を持て余していた磯野に呼び出されたのか再度集結。 この場面ではBIG5に向かって「段取りは分かったか!」等と命令口調で喋っており、磯野の方が立場は上のようだ。側近>元重役 BIG5の面々は「我々がヒーローショーをやる事に何の意味が…?」と最初は乗り気ではなかったが 磯野がネオ・グールズによるカード強奪事件で子供達が怯えている → そんな子供達を励ますにはどうすればいいか → そうだカイバーマンショーやろう…といった流れを説明し、 「お前たちの今後の事は俺からも頼んでやる」とも発言した事で、BIG5の面々は改善待遇を夢見て、悪役を演じ続ける事を決めるのだった… そしてこの日も永遠のトラウマである究極竜騎士を召喚され、必殺技を受けるのであった。 もし彼らがアニメDM路線で完全復活出来たなら、本作のような進路を辿ることになるのだろうか。 何にせよ救いが無かった乃亜編に比べれば、大分マシな扱いがなされた作品であったといえる。 なお、彼らの雇用云々の話に社長は全く関わっていないし、そもそも彼らとは出会ってすらいない。 採用された事についても知らないままかもだが、もし彼らと社長が顔を合わせていたら、一体どうなっていたのだろうか…? 追記・修正はF・G・Dを召喚してからお願いします。 △メニュー 項目変更 この項目が面白かったなら……\ポチッと/ -アニヲタWiki- ▷ コメント欄 [部分編集] 彼らの復讐って静香や御伽からしたら完全な言いがかりかつとばっちりだよな。 -- 名無しさん (2014-02-03 22 39 38) BIG1は時代を先取りしすぎたデュエリスト -- 名無しさん (2014-02-04 11 32 21) ↑あれ「クリボーが勝手に!」が無かったら王様に勝ってたよな… -- 名無しさん (2014-06-09 18 28 13) イピリアの効果でドロー、アニシグライでハンデス、ヨーウィーでドロースキップ、ビッグ1は地味なチートが多いね -- 名無しさん (2014-07-08 22 42 27) デッキマスター能力が強力なのは自分らが元々カードゲームとは無縁のオッサンだからハンデ代わりかな? -- 名無しさん (2014-07-12 23 38 03) サイコ・ショッカーはともかく他は別に強くないからなぁ… -- 名無しさん (2014-07-12 23 46 56) ↑ジャッジ・マンは普通に強い気が・・・ しかも、所謂フリチェだしw -- 名無しさん (2014-07-13 00 44 50) 今では対して強そうに見えない儀式FGD…… -- 名無しさん (2014-09-20 14 58 20) DMクエスト編で「負けたせいで電脳世界に閉じ込められた」っていうはっきりした描写が無かったから、乃亜編で知った時には「こんな悲惨な目に合ってたのかよ!」って思ったわ -- 名無しさん (2014-10-07 18 27 41) デュエルの強さは1=5>3>2=4ぐらいのイメージ -- 名無しさん (2015-01-23 23 39 17) 意識は電脳世界に閉じ込められたってのはわかったんだけど、じゃあ肉体の方はどこへ…? 社長何かしちゃったの…? -- 名無しさん (2015-01-24 00 05 45) よくよく考えると前社長を殺された(自殺だけど)上に次期社長の横暴で首にされそうになるしその次期社長が精神崩壊したときは会社の存続のためペガサスに頼ろうとしたら次期社長に首にされるしかなり可愛そうな奴ら。ろくに計画も無い軍需産業からの撤退なんていうBIG4から見たら首切り宣言も工場の閉鎖や下請けの打撃とかを考えると数万人が路頭に迷いかねない話しだし、どうもBIG5を応援したくなってしまう。デュエルが始まってからはかなりの悪役になってくれたんだけどね -- 名無しさん (2015-02-03 21 17 24) ↑×2 ①意識不明扱いでずっと入院中 ②海馬コーポレーションが引き取って秘密裏に処分 好きな方を選べ -- 名無しさん (2015-03-06 02 26 32) ↑2 いや回想によると瀬人の甘言に乗ってBIG5の方から海馬コーポーレンション乗っ取りに加わったらしいしやっぱ自業自得よ(首切りに関しては・・・) -- 名無しさん (2015-03-15 12 42 13) ふと、BIG5と乃亜、剛三郎が遊戯一行の(遊戯は除く)体を乗っ取り現実世界に帰還する話を浮かべたけど、乃亜はともかく体は学生、ピチピチの女の子(意味深)、中身はオッサンとなるとシュールだよなw -- 名無しさん (2015-03-28 22 06 36) ↑の続きそして遊戯が彼らを助け出して乗っ取りした奴はまた電脳行き、最悪抹消。または肉体を作って復活させてやるという構図で空想話が浮かんだw -- 名無しさん (2015-03-28 22 08 34) ペンギンのオッサンはセクハラ発言が目立ったけど、5人の中ではそれほど当時の海馬コーポレーションの闇に染まってないような感じがしたな -- 名無しさん (2015-03-28 22 32 08) サイコショッカーのデッキをジャッジマンが使えば最強じゃね? -- 名無しさん (2015-05-13 01 56 55) 見た目地味なオッサンたちが、二度も敵キャラとして立ちはだかるとは、「遊戯王らしい」というべきか…w -- 名無しさん (2015-07-31 12 32 55) 剛三郎はネクロスのチート性能に頼っただけで、意外とデュエル自体はビッグ5の方が強そう -- 名無しさん (2015-12-12 14 01 16) 如何見ても4のパーフェクト機械王が某古い鉄にしか見えないw -- 名無しさん (2015-12-12 14 47 39) 分の悪い賭けは嫌いじゃないから3vs1のデュエルをしたんですね、分かります -- 名無しさん (2015-12-12 16 01 59) BIG1もぶっちゃけチートもいいところなカードばっかだけど、他のボスの攻撃力数万とかみたいなわかりやすいぶっ壊れじゃないから好きだわ 一人だけ他のゲームをやってる感じ -- 名無しさん (2016-02-02 04 04 50) BIG1さん今の時代だったらシンクロやエクシーズを高速で並べるデッキ使いそうだなぁ。ジャンドとか好きそう -- 名無しさん (2016-04-29 13 32 07) 良くシステムを知らないけどBIG1のデッキってペンデュラムを組み込んだら厄介そう -- 名無しさん (2016-06-11 11 03 44) 他の奴らはデッキマスターにしたモンスターとの関連性が明示されてるけどビッグ1だけ何で深海の戦士を選んだんだろ 説明とかあったっけ -- 名無しさん (2016-07-24 04 17 44) ↑多くの企業を奪い、食らってきた(買収)手腕の象徴だと言ってたよ。意図は分からんが、獲物を海中に引きずり込むイメージかな。 -- 名無しさん (2016-07-24 05 15 39) ↑あぁそういえばだったっけ ビッグ5のデッキマスターのチョイスは中々渋いな -- 名無しさん (2016-07-24 13 57 41) エロペンギンはペンギンランドなんて極端なものじゃなくて水族館か動物園を作ろうって提案すれば海馬も検討してくれたろうに -- 名無しさん (2016-07-24 14 09 31) 最高攻撃力が2200でロックも特殊勝利も狙わない相手に王様が追い詰められる光景はアドの概念がわからない子供心にもやばいと思ったわ。 -- 名無しさん (2016-09-18 12 15 08) 「機械王を召喚するとは、でかしたぞ大岡!」「勘違いしないで下さい。私はそういうつもりでは・・・」「うるさい!」このBIG3とBIG4のやり取りがやけに印象に残ってる。 -- 名無しさん (2016-09-25 03 37 08) 大下のデッキ……改めて見てもハイスペック(ヨーウィーは論外)やなぁ。これに当時のあのデッキで勝てた遊戯たちはさすがだ -- 名無しさん (2017-01-21 16 10 18) アシミフライ(リバースハンデス、やられたら同名リクルートセット)、イピリア(召喚、特殊召喚対応のプチディスクガイ)とかガチすぎたよなw -- 名無しさん (2017-02-20 10 20 38) 良さ的には1≒5 4 3 2というイメージ。3はデッキマスター能力のおかげで最下位は回避できているがプレイングも度胸も最低。4は下2人よりはマシだから真ん中。でも大して変わらないかも。1と5は遊戯と海馬じゃなかったら負けていた -- ラス (2017-02-20 10 38 35) 大門は海馬の側近だったけど役職については明言されたっけ? 「軍事大国に数々の兵器を売り捌いてきた」とか言ってたからセールス担当? -- 名無しさん (2017-12-21 23 12 02) 工場長の恨みは一理ありそうだけど、ドーマ編を見た後だと、ただのエゴイストにしか見えないな。アメルダが恨むべきはこういう連中だよね -- 名無しさん (2018-07-28 02 02 28) ライフコスト1000のフリチェ除外サンボルという今でも狂ってるデッキマスター能力にチートまで使って負ける大岡って一体…。大下のデッキマスター能力がそこまで優秀なものじゃないから尚更際立つ。 -- 名無しさん (2019-03-16 13 14 51) まさかこの時期にイピリアがOCG化しようとは……。 -- 名無しさん (2019-04-17 21 09 56) アニメ見返してると大田に関しては同情しか覚えないな…兵器絶対ダメなのは分かるが会社を大企業に押し上げた重鎮のプライドをへし折った挙句閑職送りって社長がクズなだけじゃん… -- 名無しさん (2019-11-27 10 55 20) 工場長は剛三郎の分まで兵器への憎悪をぶつけられた感じ。社長もマイクラ以前はまともじゃなさそうだけど -- 名無しさん (2020-01-08 01 14 03) 世界に名だたる軍事企業を支配していたおもしろおじさん達 -- 名無しさん (2020-02-21 15 34 45) 大岡が弱いのは、イカサマとかチート能力に頼り切って、真っ向勝負できないからだろ。今までの裁判も実力じゃなくて、裏工作とかで勝ってきたと思う。あとビッグ5の連中、ゲームだと現実に戻れたが、会社の重役だったのに、再就職が出来ないとかモクバに泣きついているあたり、社会人としての能力も低かったんだろうな -- 名無しさん (2020-04-04 06 23 36) 正直従業員の引継ぎも無しにいきなり工場爆破されたら恨みたくなっても仕方ない気がする -- 名無しさん (2020-05-13 22 19 08) DMクエスト編では女体化した木馬(割と可愛い)がヒロインになっていたが、アレは一体誰の趣味なのやら…。 -- 名無しさん (2020-05-15 19 29 09) ↑3 能力自体は高いけど、悪どいことを繰り返してきた奴も多いし(大下とか)信用がなかったんじゃないかな……。恨んでる人も多そうだし。 -- 名無しさん (2020-05-17 07 36 49) ガチ度:大下(99) 大門(90) 大田(40) 大滝(10)=大岡(10) -- 名無しさん (2020-05-26 20 40 32) ネタ度:大滝(95) 大門(80) 大岡(60) 大下(20) 大田(10) -- 名無しさん (2020-05-26 20 44 37) ↑1,2 大下は最強、大岡は最弱、大滝はネタ、大田はカタルシス、大門はバランス型、ってイメージ -- 名無しさん (2020-05-26 20 55 55) まぁ生粋のデュエリストではないということだね -- 名無しさん (2020-05-30 13 24 30) こいつら自業自得なんだけど、電脳世界に閉じ込められたってのも、なんか気の毒にも思えたな。(元の肉体は、たぶん脳死したんだろう)キースだけでなく羽蛾・竜崎といい、遊戯王の敵サイドのキャラって、とことん酷い目にあっているな。 -- 名無しさん (2020-06-20 19 36 18) 古き良きアニオリキャラというか、原作では名前がちょろっと出てきただけのおっさんたちをこんな愉快な強敵に仕立てあげるっていうのは今じゃ難しいだろうなぁ。 -- 名無しさん (2020-08-03 21 23 42) 大田は忠誠を示すために工場爆破したのに閑職行きはちょっと可哀想だとは思う。 -- 名無しさん (2021-01-01 21 01 42) 確かビッグ5戦は珍しくブラックマジシャンがフィニッシャーになった決闘だっけ、アニメ版騎士の称号は「対象のモンスターを戦士族にする」効果だからブラックマジシャンズナイトを召喚したわけではないっていう -- 名無しさん (2021-10-02 01 03 35) プレミと言う名のご都合主義はシリーズじゃいつものことだがこいつらはあくまで一社員でデュエリストではないからな -- 名無しさん (2021-11-10 02 35 09) 何人かは海馬の立ち回りが悪い -- 名無しさん (2022-12-06 15 46 54) 弁護士の人はなんでそんなトンチキな戦術に行き着いたのか -- 名無しさん (2023-10-20 18 49 19) 深海の戦士、ジャッジ・マン、機械軍曹はデッキマスター効果をモチーフにしたリメイクとか出たら面白そう。需要あるか知らんけど。 -- 名無しさん (2024-01-25 00 18 03) 他人の身体を乗っ取る形で甦れると言った乃亜の言葉は嘘ではないと思うのだが。実際乃亜がモクバを乗っ取って現実に帰還してたし。 -- 名無しさん (2024-05-12 04 17 04) それ自体は可能としても乃亜がBIG5に肉体を提供するつもりがあったかと言うとNoだと思うよ -- 名無しさん (2024-05-12 13 03 49) ルクランバとかアシニグライとか完全に水木絵じゃん!まさか鬼太郎より先に出るなんて -- 名無しさん (2024-09-12 02 20 48) 名前 コメント
https://w.atwiki.jp/tracking_quizshow/pages/101.html
問題 問題画像 問題文 次の暗号を解読してください。使用可能文字は「漢字、数字、英文字、ひらがな」。175 47 14728 125 158728 5 45178 472 12754725 157 回答 解説 補足 Big/bq092と同じ問題です
https://w.atwiki.jp/wikiska/pages/197.html
Sister Big Stuff(Album) Sister Big Stuff(Song)?
https://w.atwiki.jp/vn2015/pages/129.html
made in MABI(Minecraft・Air・Break・Industry) ビッグ・ゴーレム 巨大なゴーレムを人の手で自在に操作する事で得られる戦果を期待して開発された初の人型機動兵器。 当時は機動兵器という概念自体がなく、ゴーレムの延長として扱われていた。 以降開発されるMABIの機動兵器シリーズノ商品名がビッグ・ゴーレムなのは、この時の理念に基づいているからである。 ビッグ・ゴーレム(後にMk1と呼ばれるようになる。)はゴーレムと同じように鉄ブロックで作られており、装甲は分厚く防御力、攻撃力は高かった。 しかし、射程は短く、重い為移動速が遅く、何よりも、生産コストが高かった。 当時のMABIの財力や技術では限界があり、正式採用されることは無かったが、この時の失敗を糧にして、より小型低コストのGOLEM-Mk2(通称:サイクロプス)が開発され、以降機動兵器が戦場の主流になっていく。 因みに、Mk2はMk1とは完全に別の機体で、後にMk1を小型化して開発されたのはGolem-T(タイニー)であり、共に第1世代機としての回路構造になっている。 分類 人型機動兵器ビッグゴーレム 形式 ky-big-golem 全高 18.5m 全長 8m 全幅 13m 本体重量 72.4t 装甲材質 鉄ブロック 出力 1000kw 兵装 接近格闘用アーム(TNT内蔵) レーザー(コマンドブロック式) 生産コスト 3000万リラ 〈操作説明等〉 能力評価 ★標準 ☆装備で拡張可能分 速さ(最高速度等) + 防御力(装甲等) ★★ 接近攻撃力(殴る、体当たり含む) ★★ 索敵(視界の良さ等) ★+ 遠距離攻撃力 ★ 命中力(主に射撃関連) + 操作性(簡単な方が高評価) + 生産性(コストパフォーマンス) ★ 特殊(その為の付加要素) - 機動力(操作による機体追従性) ★ 合計↓(+は星半分追加、-は星半分減少) 戦力 9★+
https://w.atwiki.jp/sampleisbest/pages/141.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 プロジェクト プロジェクト名 a2pr アプリケーションの種類 Windows アプリケーション 追加のオプション 空のプロジェクト 文字セット マルチバイト 参考 フォント設定ダイアログを作る a2pr.cpp // マルチバイト文字セット #include Windows.h #include WindowsX.h #include tchar.h #include stdio.h #include time.h #include "resource.h" #define pxtolm(px,dpi) ((px) * 254 / (dpi))// Pixel to LoMetric #define lmtopx(lm,dpi) ((lm) * (dpi) / 254)// LoMetric to Pixel #define WIDTH(rect) (rect.right - rect.left) #define HEIGHT(rect) (rect.bottom - rect.top) #define SECT_GEN _T("General") // 関数プロトタイプ宣言 int GetIniFileName(void); void WriteIniFileInt(LPCTSTR pszSect, LPCTSTR pszKey, int nVal); int OpenMemMapFile(HWND hWnd); void CloseMemMapFile(void); DWORD CheckFile(void); void DebugCodeTable(int nType); INT_PTR CALLBACK DialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); void OnOK(HWND hDlg); int GetDlgData(HWND hDlg); void OnDropFiles(HWND hDlg, WPARAM wParam); void OnInitDialog(HWND hDlg); void OnDestroy(HWND hDlg); int PrintProc(void); int PreparePrint(void); int PageProc(void); int LineProc(int nPage, int nLine); int PrintLine(LPCTSTR pszLine, int nLen, int nPage, int nLine); // 外部変数構造体 static struct { TCHAR szIniFile[MAX_PATH]; HWND hWndDir; HWND hWndFile; HGLOBAL hDevMode;// デバイスモード構造体ハンドル HGLOBAL hDevNames;// デバイス名構造体ハンドル HDC hdc;// プリンタDC HFONT hFont[4];// フォント 0 ANSI(半角英数) 1 SHIFTJIS(半角カナ・全角) 2 大 3 小 int nPrintStyle;// 帳票形式 int nTabStop;// タブストップ数 // 帳票形式 RECT rcMargin;// 物理ページ余白 int nMarginWidth;// 物理ページ中央余白 int nPageNum;// 論理ページ数 int nLineNum;// 行数 int nColNum;// 列数 // 対象ファイル TCHAR szPath[MAX_PATH]; TCHAR szFile[MAX_PATH]; HANDLE hFile; HANDLE hMap; LPBYTE pBaseAddr; DWORD dwFileSize; DWORD dwPos; // プリンタ能力 int nHorzRes;// 印刷可能領域の幅 (ピクセル単位) int nVertRes;// 印刷可能領域の高さ (ピクセル単位) int nPhysicalWidth;// 物理ページ全体の幅 (ピクセル単位) int nPhysicalHeight;// 物理ページ全体の高さ (ピクセル単位) int nPhysicalOffsetX;// 物理ページの左辺から印刷可能領域の左辺までの距離 (ピクセル単位) int nPhysicalOffsetY;// 物理ページの上辺から印刷可能領域の上辺までの距離 (ピクセル単位) int nDpiX;// 水平方向のピクセル数 (論理インチ当たり) int nDpiY;// 垂直方向のピクセル数 (論理インチ当たり) // 印刷座標 RECT rcPrint;// 印刷範囲=物理ページ RECT rcLogPage[2];// 論理ページ範囲 int nLogPageWidth;// 論理ページの幅 int nLogPageHeight;// 論理ページの高さ int nBodyTop;// 本文の上辺 int nBodyHeight;// 本文の高さ int nLineHeight;// 行の高さ int nPhyPageNo;// 物理ページ番号 int nLineNo;// 行番号 BOOL bLineCont;// 行継続フラグ TCHAR szTime[19+1];// タイムスタンプ } g; //============================================================================== #define CHPRINT 0x1 #define IsPrint(c) ((ChType+1)[c] CHPRINT) unsigned char ChType[256+1] = {0}; // 文字種情報の初期化 void InitChType(void) { int n; // IsPrint for (n = 0x20; n = 0x7e; n++) { ChType[n+1] |= CHPRINT; } for (n = 0xa1; n = 0xdf; n++) { ChType[n+1] |= CHPRINT; } } //============================================================================== int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { InitChType();// 文字種情報の初期化 if (GetIniFileName()) { MessageBox(NULL, _T("iniファイル名の取得に失敗しました"), NULL, MB_OK); return 0; } DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, DialogProc); return 0; } //------------------------------------------------------------------------------ int GetIniFileName(void) { TCHAR szPath[_MAX_PATH]; TCHAR szDrive[_MAX_DRIVE]; TCHAR szDir[_MAX_DIR]; TCHAR szFName[_MAX_FNAME]; TCHAR szExt[_MAX_EXT]; DWORD dw; errno_t er; dw = GetModuleFileName(NULL, szPath, _countof(szPath)); if (dw == 0) { return -1; } er = _tsplitpath_s(szPath, szDrive, szDir, szFName, szExt); if (er != 0) { return -1; } er = _tmakepath_s(g.szIniFile, szDrive, szDir, szFName, _T("ini")); if (er != 0) { return -1; } return 0; } //------------------------------------------------------------------------------ void WriteIniFileInt(LPCTSTR pszSect, LPCTSTR pszKey, int nVal) { TCHAR szBuf[16]; _stprintf_s(szBuf, _T("%d"), nVal); WritePrivateProfileString(pszSect, pszKey, szBuf, g.szIniFile); } //------------------------------------------------------------------------------ int OpenMemMapFile(HWND hWnd) { g.hFile = CreateFile(g.szPath, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); if (g.hFile == INVALID_HANDLE_VALUE) { MessageBox(hWnd, _T("CreateFileに失敗しました"), NULL, MB_OK); return -1; } g.hMap = CreateFileMapping(g.hFile, NULL, PAGE_READONLY, 0, 0, NULL); if (g.hMap == NULL) { MessageBox(hWnd, _T("CreateFileMappingに失敗しました"), NULL, MB_OK); return -1; } g.pBaseAddr = (LPBYTE)MapViewOfFile(g.hMap, FILE_MAP_READ, 0, 0, 0); if (g.pBaseAddr == NULL) { MessageBox(hWnd, _T("MapViewOfFileに失敗しました"), NULL, MB_OK); return -1; } g.dwFileSize = GetFileSize(g.hFile, NULL);// GetFileSizeEx if (g.dwFileSize == INVALID_FILE_SIZE) { g.dwFileSize = 0;// INVALID_FILE_SIZEを取り扱うのは好ましくない MessageBox(hWnd, _T("GetFileSizeに失敗しました"), NULL, MB_OK); return -1; } return 0; } //------------------------------------------------------------------------------ void CloseMemMapFile(void) { BOOL br; g.dwFileSize = 0; if (g.pBaseAddr) { br = UnmapViewOfFile(g.pBaseAddr); g.pBaseAddr = NULL; } if (g.hMap) { br = CloseHandle(g.hMap); g.hMap = NULL; } if (g.hFile) { br = CloseHandle(g.hFile); g.hFile = NULL; } } //------------------------------------------------------------------------------ DWORD CheckFile(void) { DWORD dwPos; LPBYTE pby; BYTE by; int nByte; for (dwPos = 0; dwPos g.dwFileSize; dwPos += nByte) { pby = g.pBaseAddr + dwPos; by = *pby; // マルチバイト文字判定 if (_ismbblead(by)) { nByte = 2; } else { nByte = 1; if (!IsPrint(by)) { switch (by) { case _T( \r ) nByte = 2; continue; case _T( \t ) continue; } break; } } } return dwPos; } //------------------------------------------------------------------------------ void DebugCodeTable(int nType) { LPCTSTR pszType[] = {_T("_ismbblead"), _T("_ismbbtrail"), _T("IsPrint")}; LPCTSTR pszLine = _T(" 0 1 2 3 4 5 6 7 8 9 A B C D E F\n"); TCHAR szLine[80+1]; TCHAR szBuf[2+1]; int nHigh; int nLow; int nChar = 0; int nr; _stprintf_s(szLine, _T("[%s]\n"), pszType[nType]); OutputDebugString(szLine); OutputDebugString(pszLine); for (nHigh = 0; nHigh 16; nHigh++) { _tcscpy_s(szLine, pszLine); _stprintf_s(szBuf, _T("%X_"), nHigh); memcpy_s(szLine, _countof(szLine), szBuf, 2); for (nLow = 0; nLow 16; nLow++) { switch (nType) { case 0 nr = _ismbblead(nChar); break; case 1 nr = _ismbbtrail(nChar); break; case 2 nr = IsPrint(nChar); break; } szLine[3 + nLow * 2] = nr ? _T( o ) _T( . ); nChar++; } OutputDebugString(szLine); } } //============================================================================== INT_PTR CALLBACK DialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { INT_PTR iRet = TRUE;// メッセージを処理した switch (uMsg) { case WM_COMMAND switch (LOWORD(wParam)) { case IDOK OnOK(hDlg); break; case IDCANCEL PostMessage(hDlg, WM_CLOSE, 0, 0); break; } break; case WM_DROPFILES OnDropFiles(hDlg, wParam); DragFinish((HDROP)wParam); break; case WM_INITDIALOG OnInitDialog(hDlg); iRet = TRUE;// SetFocusでフォーカスを設定した場合はFALSE break; case WM_CLOSE EndDialog(hDlg, IDOK); break; case WM_DESTROY OnDestroy(hDlg); break; default iRet = FALSE;// メッセージを処理しなかった } return iRet; } //------------------------------------------------------------------------------ void OnOK(HWND hDlg) { PRINTDLGEX pd; HRESULT hr; LPDEVMODE pdm; LPDEVNAMES pdn; short sOri; int nr; BOOL br; // ダイアログデータの取得 if (GetDlgData(hDlg)) { return; } // ファイルのオープン if (g.szPath[0] == _T( \0 )) { MessageBox(hDlg, _T("ファイルを指定してください"), NULL, MB_OK); return; } if (OpenMemMapFile(hDlg)) { goto Exit; } g.dwPos = 0; // 文字分類 DebugCodeTable(0); DebugCodeTable(1); DebugCodeTable(2); // ファイルの確認 if (CheckFile() != g.dwFileSize) { nr = MessageBox(hDlg, _T("印刷できないファイルのようです"), NULL, MB_OKCANCEL); if (nr == IDCANCEL) goto Exit; } // 印刷ダイアログ ZeroMemory( pd, sizeof pd); pd.lStructSize= sizeof pd; pd.hwndOwner= hDlg; pd.hDevMode= g.hDevMode; pd.hDevNames= g.hDevNames; pd.Flags= PD_NOPAGENUMS; pd.nStartPage= START_PAGE_GENERAL; hr = PrintDlgEx( pd); if (FAILED(hr)) { goto Exit; } g.hDevMode = pd.hDevMode; g.hDevNames = pd.hDevNames; if (pd.dwResultAction != PD_RESULT_PRINT) { goto Exit; } // 帳票形式 switch (g.nPrintStyle) { case 0 // 横置き 2面 sOri= DMORIENT_LANDSCAPE; g.nPageNum= 2; g.rcMargin.left= 100; g.rcMargin.top= 200; g.rcMargin.right= 100; g.rcMargin.bottom= 50; g.nMarginWidth= 100; g.nLineNum= 66; g.nColNum= 80; break; case 1 // 縦置き 1面 sOri= DMORIENT_PORTRAIT; g.nPageNum= 1; g.rcMargin.left= 200; g.rcMargin.top= 100; g.rcMargin.right= 150; g.rcMargin.bottom= 100; g.nMarginWidth= 0; g.nLineNum= 100; g.nColNum= 100; break; } // プリンタ準備 pdm = (LPDEVMODE)GlobalLock(g.hDevMode); pdn = (LPDEVNAMES)GlobalLock(g.hDevNames); pdm- dmOrientation = sOri; g.hdc = CreateDC(NULL, (LPCTSTR)pdn + pdn- wDeviceOffset, NULL, pdm); br = GlobalUnlock(g.hDevNames); br = GlobalUnlock(g.hDevMode); SetBkMode(g.hdc, TRANSPARENT); // 印刷処理 PrintProc(); Exit br = DeleteDC(g.hdc); g.hdc = NULL; CloseMemMapFile(); } //------------------------------------------------------------------------------ int GetDlgData(HWND hDlg) { int nPrintStyle; int nTabStop; int n; LRESULT lr; BOOL br; for (n = 0; n 2; n++) { lr = Button_GetCheck(GetDlgItem(hDlg, IDC_RADIO1 + n)); if (lr == BST_CHECKED) { nPrintStyle = n; break; } } nTabStop = GetDlgItemInt(hDlg, IDC_TABSTOP, br, FALSE); if (br == FALSE || nTabStop 1 || 8 nTabStop) { MessageBox(hDlg, _T("タブのサイズは1~8です"), NULL, MB_OK); return -1; } g.nPrintStyle = nPrintStyle; g.nTabStop = nTabStop; return 0; } //------------------------------------------------------------------------------ void OnDropFiles(HWND hDlg, WPARAM wParam) { HDROP hDrop = (HDROP)wParam; TCHAR szDrive[_MAX_DRIVE]; TCHAR szDir[_MAX_DIR]; TCHAR szFName[_MAX_FNAME]; TCHAR szExt[_MAX_EXT]; TCHAR szDir2[_MAX_PATH]; UINT ur; errno_t er; ur = DragQueryFile(hDrop, 0, g.szPath, _countof(g.szPath)); er = _tsplitpath_s(g.szPath, szDrive, szDir, szFName, szExt); _tmakepath_s(szDir2, szDrive, szDir, NULL, NULL); _tmakepath_s(g.szFile, NULL, NULL, szFName, szExt); SetWindowText(g.hWndDir, szDir2); SetWindowText(g.hWndFile, g.szFile); } //------------------------------------------------------------------------------ void OnInitDialog(HWND hDlg) { int nX; int nY; g.hWndDir= GetDlgItem(hDlg, IDC_DIR); g.hWndFile= GetDlgItem(hDlg, IDC_FILE); nX = GetPrivateProfileInt(SECT_GEN, _T("X"), 0, g.szIniFile); nY = GetPrivateProfileInt(SECT_GEN, _T("Y"), 0, g.szIniFile); SetWindowPos(hDlg, HWND_TOP, nX, nY, 0, 0, SWP_NOSIZE); g.nPrintStyle = GetPrivateProfileInt(SECT_GEN, _T("PrintStyle"), 0, g.szIniFile); g.nTabStop = GetPrivateProfileInt(SECT_GEN, _T("TabStop"), 8, g.szIniFile); Button_SetCheck(GetDlgItem(hDlg, IDC_RADIO1 + g.nPrintStyle), BST_CHECKED); SetDlgItemInt(hDlg, IDC_TABSTOP, g.nTabStop, FALSE); } //------------------------------------------------------------------------------ void OnDestroy(HWND hDlg) { RECT rc; HGLOBAL hr; hr = GlobalFree(g.hDevMode); hr = GlobalFree(g.hDevNames); if (IsIconic(hDlg) == FALSE) { GetWindowRect(hDlg, rc); WriteIniFileInt(SECT_GEN, _TEXT("X"), rc.left); WriteIniFileInt(SECT_GEN, _TEXT("Y"), rc.top); } WriteIniFileInt(SECT_GEN, _TEXT("PrintStyle"), g.nPrintStyle); WriteIniFileInt(SECT_GEN, _TEXT("TabStop"), g.nTabStop); } //============================================================================== // 印刷処理 int PrintProc(void) { LOGFONT lf; DOCINFO di; time_t tmNow; struct tm tm; int n; int nr; BOOL br; // 印刷準備 PreparePrint(); // フォント ZeroMemory( lf, sizeof lf); lf.lfCharSet= DEFAULT_CHARSET; lf.lfHeight= -g.nLineHeight; _tcscpy_s(lf.lfFaceName, _T("Courier New")); g.hFont[0] = CreateFontIndirect( lf); _tcscpy_s(lf.lfFaceName, _T("MS 明朝")); g.hFont[1] = CreateFontIndirect( lf); lf.lfHeight= lmtopx(40, g.nDpiY); _tcscpy_s(lf.lfFaceName, _T("MS Pゴシック")); g.hFont[2] = CreateFontIndirect( lf); lf.lfHeight= lmtopx(30, g.nDpiY); _tcscpy_s(lf.lfFaceName, _T("MS Pゴシック")); g.hFont[3] = CreateFontIndirect( lf); // 初期化 g.nPhyPageNo= 0; g.nLineNo= 0; g.bLineCont= FALSE; time( tmNow); localtime_s( tm, tmNow); _stprintf_s(g.szTime, _T("%04d/%02d/%02d %02d %02d %02d"), tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec); // 印刷開始 ZeroMemory( di, sizeof di); di.cbSize= sizeof di; di.lpszDocName= _T("a2pr");// 最大32文字か nr = StartDoc(g.hdc, di); // ページ処理 while (PageProc() == 0) { g.nPhyPageNo++; } // 印刷終了 nr = EndDoc(g.hdc); // 後処理 for (n = 0; n 4; n++) { br = DeleteObject(g.hFont[n]); } return 0; } //------------------------------------------------------------------------------ // 印刷準備・座標計算 int PreparePrint(void) { RECT rcMarginDev;// デバイス余白 RECT rcMargin;// 物理ページ余白 int nFootHeight;// 物理ページフッタの高さ int nTitleHeight;// 見出しの高さ // プリンタ能力の取得 g.nHorzRes= GetDeviceCaps(g.hdc, HORZRES); g.nVertRes= GetDeviceCaps(g.hdc, VERTRES); g.nPhysicalWidth= GetDeviceCaps(g.hdc, PHYSICALWIDTH); g.nPhysicalHeight= GetDeviceCaps(g.hdc, PHYSICALHEIGHT); g.nPhysicalOffsetX= GetDeviceCaps(g.hdc, PHYSICALOFFSETX); g.nPhysicalOffsetY= GetDeviceCaps(g.hdc, PHYSICALOFFSETY); g.nDpiX= GetDeviceCaps(g.hdc, LOGPIXELSX); g.nDpiY= GetDeviceCaps(g.hdc, LOGPIXELSY); // デバイス余白 rcMarginDev.left= g.nPhysicalOffsetX; rcMarginDev.top= g.nPhysicalOffsetY; rcMarginDev.right= g.nPhysicalWidth - g.nHorzRes - g.nPhysicalOffsetX; rcMarginDev.bottom= g.nPhysicalHeight - g.nVertRes - g.nPhysicalOffsetY; // 物理ページ余白 rcMargin.left= max(lmtopx(g.rcMargin.left,g.nDpiX), rcMarginDev.left); rcMargin.top= max(lmtopx(g.rcMargin.top,g.nDpiY), rcMarginDev.top); rcMargin.right= max(lmtopx(g.rcMargin.right,g.nDpiX), rcMarginDev.right); rcMargin.bottom= max(lmtopx(g.rcMargin.bottom,g.nDpiY), rcMarginDev.bottom); // 印刷範囲 g.rcPrint.left= rcMargin.left; g.rcPrint.top= rcMargin.top; g.rcPrint.right= g.nPhysicalWidth - rcMargin.right; g.rcPrint.bottom= g.nPhysicalHeight - rcMargin.bottom; OffsetRect( g.rcPrint, -g.nPhysicalOffsetX, -g.nPhysicalOffsetY); // 物理ページフッタ nFootHeight= lmtopx((g.nPageNum == 1) ? 0 50, g.nDpiY); // 論理ページ g.nLogPageWidth= (WIDTH(g.rcPrint) - lmtopx(g.nMarginWidth, g.nDpiX)) / g.nPageNum; g.nLogPageHeight= HEIGHT(g.rcPrint) - nFootHeight; CopyRect( g.rcLogPage[0], g.rcPrint); g.rcLogPage[0].bottom= g.rcPrint.bottom - nFootHeight; if (g.nPageNum == 2) { CopyRect( g.rcLogPage[1], g.rcLogPage[0]); g.rcLogPage[0].right= g.rcPrint.left + g.nLogPageWidth; g.rcLogPage[1].left= g.rcPrint.right - g.nLogPageWidth; } // 論理ページ見出し nTitleHeight= lmtopx(60, g.nDpiY); // 本文 g.nBodyTop= g.rcLogPage[0].top + nTitleHeight; g.nBodyHeight= g.nLogPageHeight - nTitleHeight; // 行 g.nLineHeight= g.nBodyHeight / (g.nLineNum + 1); return 0; } //------------------------------------------------------------------------------ // ページ処理 // 戻り値:0=継続 1=終了 int PageProc(void) { LOGBRUSH lb; HPEN hPen; HPEN hPen2; HGDIOBJ hPenOld; HGDIOBJ hFontOld; TCHAR szBuf[5+1];// "P.999" RECT rc; UINT uFormat = DT_SINGLELINE | DT_VCENTER; int nPage; int nLine; int nr; BOOL br; // ペン hPen = CreatePen(PS_INSIDEFRAME, lmtopx(3, g.nDpiY), RGB(0x00,0x00,0x00)); lb.lbStyle= BS_SOLID; lb.lbColor= RGB(0x00,0x00,0x00); hPen2 = ExtCreatePen(PS_GEOMETRIC | PS_SOLID | PS_ENDCAP_FLAT | PS_JOIN_BEVEL, lmtopx(3, g.nDpiY), lb, 0, NULL); // ページ開始 nr = StartPage(g.hdc); // 物理ページ番号 hFontOld = SelectObject(g.hdc, g.hFont[2]); if (g.nPageNum != 1) { _stprintf_s(szBuf, _T("P.%d"), g.nPhyPageNo + 1); CopyRect( rc, g.rcPrint); rc.top = g.rcLogPage[0].bottom; DrawText(g.hdc, szBuf, -1, rc, uFormat | DT_RIGHT); } for (nPage = 0; nPage g.nPageNum; nPage++) { // 枠 hPenOld = SelectObject(g.hdc, hPen); br = Rectangle(g.hdc, g.rcLogPage[nPage].left, g.rcLogPage[nPage].top, g.rcLogPage[nPage].right, g.rcLogPage[nPage].bottom); // 見出し線 SelectObject(g.hdc, hPen2); BeginPath(g.hdc); MoveToEx(g.hdc, g.rcLogPage[nPage].left, g.nBodyTop, NULL); LineTo(g.hdc, g.rcLogPage[nPage].right, g.nBodyTop); EndPath(g.hdc); StrokePath(g.hdc); // 見出し rc.left= g.rcLogPage[nPage].left + lmtopx(50, g.nDpiX); rc.top= g.rcLogPage[nPage].top; rc.right= g.rcLogPage[nPage].right - lmtopx(50, g.nDpiX); rc.bottom= g.nBodyTop; SelectObject(g.hdc, g.hFont[3]); DrawText(g.hdc, g.szTime, -1, rc, uFormat | DT_LEFT); SelectObject(g.hdc, g.hFont[2]); DrawText(g.hdc, g.szFile, -1, rc, uFormat | DT_CENTER); _stprintf_s(szBuf, _T("P.%d"), g.nPhyPageNo * g.nPageNum + 1 + nPage); DrawText(g.hdc, szBuf, -1, rc, uFormat | DT_RIGHT); for (nLine = 0; nLine g.nLineNum; nLine++) { // 行処理 nr = LineProc(nPage, nLine); if (nr) { goto Exit; } } } Exit SelectObject(g.hdc, hPenOld); SelectObject(g.hdc, hFontOld); EndPage(g.hdc); br = DeleteObject(hPen2); br = DeleteObject(hPen); return nr; } //------------------------------------------------------------------------------ // 行処理 // 戻り値:0=継続 1=終了 int LineProc(int nPage, int nLine) { TCHAR szLine[100+7];// 行バッファ TCHAR szBuf[100+2];// バッファ LPBYTE pby; BYTE by; BOOL bLineCont = FALSE;// 行継続フラグ int nCol; int nByte; int nr = 0; for (nCol = 0; ; ) { // EOF if (g.dwFileSize = g.dwPos) { if (nCol == 0) return 1; break; } pby = g.pBaseAddr + g.dwPos; by = *pby; // 改行 if (by == _T( \r )) { g.dwPos += 2; break; } // 1行の列数 if (g.nColNum = nCol) { bLineCont = TRUE; break; } // マルチバイト文字判定 nByte = _ismbblead(by) ? 2 1; // Tab if (by == _T( \t )) { do { szBuf[nCol++] = _T( ); } while ((nCol % g.nTabStop) nCol g.nColNum); } else { memcpy(szBuf + nCol, pby, nByte); nCol += nByte; } g.dwPos += nByte; } szBuf[nCol] = _T( \0 ); // 行継続 if (g.bLineCont) { _stprintf_s(szLine, _T(" %s"), szBuf); } else { _stprintf_s(szLine, _T("%4d %s"), ++g.nLineNo, szBuf); } g.bLineCont = bLineCont; // 行印刷 PrintLine(szLine, 5 + nCol, nPage, nLine); // EOF if (g.dwFileSize = g.dwPos) { nr = 1; } return nr; } //------------------------------------------------------------------------------ // 行印刷 // 全角文字が左寄りになるのでDrawText,nColWidthを検討 int PrintLine(LPCTSTR pszLine, int nLen, int nPage, int nLine) { LPCTSTR psz; int nFontCurr;// カレントフォント int nFont; int nCol; int nByte; int nX; int nY = g.nBodyTop + g.nLineHeight / 2 + (nLine * g.nBodyHeight / (g.nLineNum + 1)); nFontCurr = 0; SelectObject(g.hdc, g.hFont[nFontCurr]); for (nCol = 0; nCol nLen; nCol += nByte) { psz = pszLine + nCol; // マルチバイト文字判定 nByte = _ismbblead(psz[0]) ? 2 1;// 簡易 // フォント選択 nFont = __isascii(psz[0]) ? 0 1; if (nFont != nFontCurr) { SelectObject(g.hdc, g.hFont[nFont]); nFontCurr = nFont; } nX = g.rcLogPage[nPage].left + (1 + nCol) * g.nLogPageWidth / (g.nColNum + 7); TextOut(g.hdc, nX, nY, psz, nByte); } return 0; } resource.h #define IDD_DIALOG100 #define IDC_STATIC-1 #define IDC_DIR1000 #define IDC_FILE1001 #define IDC_TABSTOP1002 #define IDC_RADIO11011 #define IDC_RADIO21012 a2pr.rc // resource script #include windows.h #include "resource.h" IDD_DIALOG DIALOGEX 0, 0, 366, 200 STYLE WS_POPUPWINDOW | WS_MINIMIZEBOX EXSTYLE WS_EX_APPWINDOW | WS_EX_ACCEPTFILES CAPTION "a2pr" FONT 9, "MS Pゴシック" BEGIN GROUPBOX"印刷するファイル",IDC_STATIC,8,8,264,64 RTEXT"ディレクトリ:",IDC_STATIC,20,20,36,12 EDITTEXTIDC_DIR,60,20,204,12,ES_AUTOHSCROLL RTEXT"ファイル:",IDC_STATIC,20,36,36,12 EDITTEXTIDC_FILE,60,36,204,12,ES_AUTOHSCROLL CONTROL"横置き 2面",IDC_RADIO1,"button",BS_AUTORADIOBUTTON | WS_GROUP, 280,24,64,12 CONTROL"縦置き 1面",IDC_RADIO2,"button",BS_AUTORADIOBUTTON, 280,36,64,12 LTEXT"帳票形式:",IDC_STATIC,280,12,44,12,WS_GROUP RTEXT"タブのサイズ:",IDC_STATIC,280,96,48,12,0 EDITTEXTIDC_TABSTOP,332,96,24,12,ES_RIGHT PUSHBUTTON"印刷( P)",IDOK,244,176,52,16 PUSHBUTTON"終了( X)",IDCANCEL,304,176,52,16 END
https://w.atwiki.jp/tracking_quizshow/pages/100.html
問題 問題画像 問題文 次の□に四則演算記号(+,-,×,÷のどれか)を1つずつ入れて、答えがゼロになるようにしてください。607□5□3□3□2□2解答は、四則演算記号を以下のようにアルファベットに変換し、例にならって記述すること。解答例:ABDBC「+」→A 「-」→B 「×」→C 「÷」→D 回答 DCCDD 解説 607÷5×3×3÷2÷2 摂氏0[℃]を絶対温度273.15[K]で表したもの。 補足 Big/bq091と同じ問題です
https://w.atwiki.jp/wwenorider/pages/71.html
Crank It Up(Brand New Sin) - 現在使用中 Big
https://w.atwiki.jp/dreamxkiss/pages/592.html
Big Sky Blues(びっぐすかいぶるーす) ■作詞:相田穀 作曲:GATZ 編曲:T.NOZAWA ■アルバムズッコケ大脱走に収録
https://w.atwiki.jp/tracking_quizshow/pages/105.html
問題 問題画像 問題文 次の暗号を解読してください。587 261 421 261 515847 0 160 512 262847 160 512 160 262845 675 1 163 260845 162 672 162 2601005 2 0 514 420745 333 335 333 745 回答 解説 補足 Big/bq083と同じ問題です
https://w.atwiki.jp/sampleisbest/pages/72.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 コンソール アプリケーション プロジェクト名 WaveIO アプリケーションの種類 コンソール アプリケーション 追加のオプション 空のプロジェクト 文字セット Unicode WaveIO.h // windows.h typedef struct tagWaveIO { WORDwBitsPerSample; WORDwChannels; DWORDdwSamplesPerSec;// サンプリングレート DWORDdwSampleLength; short*psWaveformData; } WaveIO; // 関数プロトタイプ宣言 int WioRead(WaveIO *pwio, LPCTSTR pcFile); int WioWrite(const WaveIO *pwio, LPCTSTR pcFile); int WioPlay(const WaveIO *pwio, HWND hWnd); int WioStop(const WaveIO *pwio); WaveIO.c #pragma comment(lib, "winmm.lib") #include windows.h #include mmsystem.h #include "WaveIO.h" // グローバル変数 static HWAVEOUTg_hwo; static WAVEHDRg_wh; int WioRead(WaveIO *pwio, LPCTSTR pcFile) { WAVEFORMATEXwfx; MMCKINFOckParent; MMCKINFOckSub; MMRESULTmmr; HMMIOhmmio; longlRead; DWORDdwData; void*pvData; short*psData; u_char*pucData; inti; if (pwio- psWaveformData) { free(pwio- psWaveformData); pwio- psWaveformData = NULL; } // Open hmmio = mmioOpen((LPTSTR)pcFile, NULL, MMIO_READ); if (hmmio == NULL) { return -1; } // RIFF ckParent.fccType = mmioFOURCC( W , A , V , E ); mmr = mmioDescend(hmmio, ckParent, NULL, MMIO_FINDRIFF); if (mmr != MMSYSERR_NOERROR) { return -2; } // fmt ckSub.ckid = mmioFOURCC( f , m , t , ); mmr = mmioDescend(hmmio, ckSub, ckParent, MMIO_FINDCHUNK); if (mmr != MMSYSERR_NOERROR) { return -3; } lRead = mmioRead(hmmio, (HPSTR) wfx, 16); if (lRead != 16) { return -4; } mmioAscend(hmmio, ckSub, 0); // data ckSub.ckid = mmioFOURCC( d , a , t , a ); mmr = mmioDescend(hmmio, ckSub, ckParent, MMIO_FINDCHUNK); if (mmr != MMSYSERR_NOERROR) { return -5; } dwData= ckSub.cksize; pvData= malloc(dwData); if (pvData == NULL) { return -6; } lRead = mmioRead(hmmio, (HPSTR)pvData, dwData); if (lRead != (long)dwData) { return -7; } mmioAscend(hmmio, ckSub, 0); // RIFF mmioAscend(hmmio, ckParent, 0); // Close mmioClose(hmmio, 0); // 1サンプルあたりビット数を16に変換 pwio- wChannels= wfx.nChannels; pwio- dwSamplesPerSec= wfx.nSamplesPerSec; if (wfx.wBitsPerSample == 8) { psData = (short*)malloc(dwData * sizeof(short)); if (psData == NULL) { return -8; } pucData = (u_char*)pvData; for (i = 0; i (int)dwData; i++) { psData[i] = (pucData[i] - 128) * 256; } free(pvData); pwio- wBitsPerSample= 16; pwio- dwSampleLength= dwData * sizeof(short); pwio- psWaveformData= psData; } else { pwio- wBitsPerSample= wfx.wBitsPerSample; pwio- dwSampleLength= dwData; pwio- psWaveformData= (short*)pvData; } return 0; } int WioWrite(const WaveIO *pwio, LPCTSTR pcFile) { WAVEFORMATEXwfx; MMCKINFOckParent; MMCKINFOckSub; HMMIOhmmio; DWORDdwData; u_char*pucData; short*psData; inti; // Open hmmio = mmioOpen((LPTSTR)pcFile, NULL, MMIO_WRITE | MMIO_CREATE); if (hmmio == NULL) { return -1; } // RIFF ckParent.cksize= 0;// ダミー ckParent.fccType= mmioFOURCC( W , A , V , E ); mmioCreateChunk(hmmio, ckParent, MMIO_CREATERIFF); // fmt ckSub.ckid= mmioFOURCC( f , m , t , ); ckSub.cksize= sizeof(WAVEFORMATEX); mmioCreateChunk(hmmio, ckSub, 0); wfx.wFormatTag= WAVE_FORMAT_PCM; wfx.wBitsPerSample= pwio- wBitsPerSample; wfx.nChannels= pwio- wChannels; wfx.nSamplesPerSec= pwio- dwSamplesPerSec; wfx.nBlockAlign= wfx.wBitsPerSample / 8 * wfx.nChannels; wfx.nAvgBytesPerSec= wfx.nBlockAlign * wfx.nSamplesPerSec; wfx.cbSize= 0; mmioWrite(hmmio, (char *) wfx, sizeof(WAVEFORMATEX)); mmioAscend(hmmio, ckSub, 0); // fact ckSub.ckid= mmioFOURCC( f , a , c , t ); ckSub.cksize= sizeof(DWORD); mmioCreateChunk(hmmio, ckSub, 0); mmioWrite(hmmio, (char *) (pwio- dwSampleLength), sizeof(DWORD)); mmioAscend(hmmio, ckSub, 0); // data ckSub.ckid= mmioFOURCC( d , a , t , a ); ckSub.cksize= 0;// ダミー mmioCreateChunk(hmmio, ckSub, 0); if (pwio- wBitsPerSample == 8) { dwData = pwio- dwSampleLength / 2; pucData = malloc(dwData * sizeof(u_char)); if (pucData == NULL) { return -2; } psData = pwio- psWaveformData; for (i = 0; i (int)dwData; i++) { pucData[i] = (32768 + psData[i]) / 256; } mmioWrite(hmmio, (const char*)pucData, dwData); free(pucData); } else { mmioWrite(hmmio, (char *)(pwio- psWaveformData), pwio- dwSampleLength); } mmioAscend(hmmio, ckSub, 0); // RIFF mmioAscend(hmmio, ckParent, 0); // Close mmioFlush(hmmio, 0); mmioClose(hmmio, 0); return 0; } int WioPlay(const WaveIO *pwio, HWND hWnd) { WAVEFORMATEXwfx; MMRESULTmmr; wfx.wFormatTag= WAVE_FORMAT_PCM; wfx.wBitsPerSample= pwio- wBitsPerSample; wfx.nChannels= pwio- wChannels; wfx.nSamplesPerSec= pwio- dwSamplesPerSec; wfx.nBlockAlign= wfx.wBitsPerSample / 8 * wfx.nChannels; wfx.nAvgBytesPerSec= wfx.nBlockAlign * wfx.nSamplesPerSec; wfx.cbSize= 0; if (hWnd) { mmr = waveOutOpen( g_hwo, WAVE_MAPPER, wfx, (DWORD_PTR)hWnd, 0, CALLBACK_WINDOW); } else { mmr = waveOutOpen( g_hwo, WAVE_MAPPER, wfx, 0, 0, CALLBACK_NULL); } if (mmr != MMSYSERR_NOERROR) { return -1; } memset( g_wh, 0, sizeof(WAVEHDR)); g_wh.lpData= (LPSTR)(pwio- psWaveformData); g_wh.dwBufferLength= pwio- dwSampleLength; mmr = waveOutPrepareHeader(g_hwo, g_wh, sizeof(WAVEHDR)); if (mmr != MMSYSERR_NOERROR) { return -2; } mmr = waveOutWrite(g_hwo, g_wh, sizeof(WAVEHDR)); if (mmr != MMSYSERR_NOERROR) { return -3; } return 0; } int WioStop(const WaveIO *pwio) { MMRESULTmmr; mmr = waveOutReset(g_hwo); if (mmr != MMSYSERR_NOERROR) { return -1; } mmr = waveOutUnprepareHeader(g_hwo, g_wh, sizeof(WAVEHDR)); if (mmr != MMSYSERR_NOERROR) { return -2; } mmr = waveOutClose(g_hwo); if (mmr != MMSYSERR_NOERROR) { return -3; } return 0; } sample.c #include tchar.h #include Windows.h #include "WaveIO.h" int _tmain() { WaveIOwio; intiRet; wio.psWaveformData = NULL; iRet = WioRead( wio, _T("sample.wav")); if (iRet) { _ftprintf(stderr, _T("WioRead\n")); return 1; } iRet = WioPlay( wio, NULL); if (iRet) { _ftprintf(stderr, _T("WioPlay\n")); return 1; } // wait iRet = WioWrite( wio, _T("sample2.wav")); if (iRet) { _ftprintf(stderr, _T("WioWrite\n")); return 1; } free(wio.psWaveformData); return 0; }