• ベストアンサー

音楽ゲームのソースプログラムが見つかりません。

学校の授業で音楽ゲームをC言語で作ろうと考たのですが、音楽ゲームといってもピンとこないですよね・・・どのようなゲームというと・・・音楽がかかり、判定バーに向けて落ちてくる物体を判定バーと重なった時に指定されたキーボードで打って得点を稼ぐというゲームです。 私の学校はゲーム専門の学校ではないので1からプログラムを組むのは難しいと思い、インターネット上で公開されているサンプルソースを少しずつ変えて作ろうと考えたのですが・・ソースプログラムを探しても全然見つかりません! どなたかC言語で作られた音楽ゲームでソースプログラムが見られるサイトを教えていただきませんか?お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#88356
noname#88356
回答No.2

以前まさにそういうゲームを作ったことがあります。 ちょうどその時に使ったライブラリが1番の方が回答したDXライブラリで す。 現在はDXライブラリ3Dで3Dのビーマニのようなものを作成していますが、 基本は2Dも3Dも同じですのでとりあえずその仕組みを話します。 仕組みが分かれば人のソースを読むより自分で考えた方がはるかに速いです。 まず 鍵盤のx, y座標および発生フラグをあらわす変数を配列などで数十個ほど用意しておきます。 この際構造体にして配列で扱うとより楽かもしれません。 typedef struct {   int x, y;   //x,y座標   int isEnable; //発生フラグ } Object_t; Object_t ob[ 100 ]; 簡単な流れ: 1 背景の画像を描画 2 物体を周期的に各ラインごとにランダムに発生させる (発生させる時は発生フラグをTRUEにして、y座標を0に戻します) 3 発生フラグが『有効な物体のみ』描画し、y座標を下に下げる (これにより流れる物体が実現します) 4 一番下まで流れたら物体の発生フラグをFALSEに (コレにより一番下まで流れた物体は描画されなくなります) 後はキー入力による判定です。 キー入力では複数のキーを同時に判定する必要があります。 DXライブラリではGetHitKeyStateAllがあるのでそれを使うのが一番楽でしょう。 各ラインごとに設定してあるキーが押されたらその押された瞬間から物体が近くに存在すれば それがどの程度離れているかでGreat, Good, Bad, Too Badなどのランクを決めます。 また、この際にはDXライブラリではGetNowCountなどの時間関数を使ってタイミングを合わせる必要があるでしょう。 見栄えやエフェクトは後からいくらでも質を上げられるので、とりあえずこの点を 抑えておけば大丈夫です。 尚、音楽にあわせて物体が流れる・・というのがやりたければ、ランダムに 物体を発生させるのではなく、音楽にあわせたデータを作る必要があります。 指定のタイミングで指定のラインに発生!とかです。 データはテキストファイルで読み込ませるのが良いでしょう。仮に作るのであれば Data.txt--------------------------------------------------- 100 //全体の流れるスピード 100,2 //ゲーム開始から110ミリ秒後に2番のラインに物体発生 110,3,4 //110ミリ秒後に3,4番の位置に物体発生 300,4 //300ミリ秒後に4番の位置に発生 という感じでやるのが楽かなと思います。もちろん読み込み部分を自作するのは 面倒なので、まずはランダムな発生から挑戦されるのが良いかと思います。 以上ざっと説明しましたが、個人的には作れば分かるの一言に尽きると思います。 何はともあれ作り出すと見えてくるものが全然変わるのでとりあえず作り始めてはどうでしょうか?

moau114
質問者

お礼

ありがとうございます。 参考にさせていただきます!

その他の回答 (1)

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  一から全部プログラムを組むのは結構大変な作業です。下記のようなライブラリ(関数の集合)を使ったらどうでしょう。   http://homepage2.nifty.com/natupaji/DxLib/   下のほうにある、DXライブラリサンプルプログラムにはソースが出ています。「10.落ちものゲーム基本」あたりが参考になると思います。 では。

moau114
質問者

お礼

ご回答ありがとうございます 是非参考にさせていただきます。

関連するQ&A

  • c言語やjavaのソースを読みたいのですが

    c言語やjavaのソースを読みたいのですが ゲームやアプリのプログラムを公開しているサイトを御存知でしたら 教えてください。言語の開発環境は、VC++・vc#・Eclipse・visualBasic(2005)です。

  • 麻雀ゲームプログラムを組みたい

    麻雀ゲームのプログラムを組もうと思っているのですが、点数判定のアルゴリズムについて解説しているサイトなどはないでしょうか?私もいくつか探してみたのですが、なかなかこれだというものがありません。言語はjavaとC#を使っていますが、C++など他言語での解説でも問題なく、考え方や効率的な順番などが解説されているものを望んでいます。どなたか知っている方がいましたら、教えて下さい。

  • RPGのサンプルプログラム

    こんにちは。 私は現在ゲーム(特にRPG)を作りたくプログラミングの勉強をしており、参考にするためサンプルプログラムを探しています。 パズルやシューティングのサンプルでしたらいくつも見つけたのですが、RPGとなるとなかなか見つかりません・・・ どなたかよいRPGのサンプルプログラムをご存じないでしょうか? 最終的にはiphoneのRPGアプリを作りたいと考えているので、できれば言語はobjective-C、C言語、C++あたりが望ましいです。 よろしくお願いいたします。

  • C++のサンプルプログラム

    C++でプログラムを作れるようになりたいのですが、ゲームなど絵を画面で動かすようなプログラムのサンプルはホームページで公開されていないでしょうか。エラーの無いもので、良いのがありましたら教えてください。

  • プログラムの文法

    プログラム言語(スクリプト言語を含む)の文法について調べているのですが、「Visual Basic」や「C++」、「Java」、「JavaScript」、「VBScript」、「FORTRAN」などの有名なプログラム言語以外で、文法について掲載されているサイトはありますか? ・個人や自作のプログラム言語でもいいです。 ・そのプログラム言語のソースだけが公開されているものでも十分です(自分で解析します)。

  • プログラム初心者です。教えてください(>_<)

    プログラム初心者です。 どなたか教えていただきたいのですが、 C言語の「/ ?hello.c? /」というソースで ?の部分なんですが 星印のような記号があるのですが、 これはキーボードで打ち込む時は、 どのキーになるのでしょうか?

  • 複数のソースからなるプログラムの実行

    windowsで、Cを勉強中のプログラミング初心者です。 複雑なプログラムっていくつかの名前で、複数のソースから成っていますよね。そういうプログラムを動かしたいのですが、どうやってコンパイル、実行したら良いのですか? 以下のサイトのサンプルを、ソースコードから動かしたいと思っています。 http://www.oreilly.co.jp/books/9784873113395/download.html

  • オープンソース

    画像処理の一つでトリミングがあります。C言語でトリミングのプログラムを作成したいのですが、力不足のため作成できません。 どこか、トリミングのソースを公開しているサイトはありませんでしょうか。 ご回答のほどよろしくお願いします。

  • C言語のソース

    他人が書いたC言語のソースを見てC言語の勉強をしようと思っていますが、インターネットで探しても、なかなか見つかりません。どなたか、Cのソースを公開しているサイトを教えていただけないでしょうか。お願いします。

  • ゲームなどのプログラムを作るために

    こんにちは。 プログラミング初心者です。 簡単なゲームやツールなどの実行ファイル(exeファイル?)を 色々と作ってみたく、そのためC言語を勉強することを考えています。 本屋などでそれに適してそうな書籍を探してみると、 C言語の入門書などと書かれた同じような本がたくさんあり、 全くの素人なので、本の題名や中身をパラパラと見ただけでは、 どれが一番実践に敵しているのか全く分かりませんでした。 一冊や二冊本を買って勉強しただけで、プログラムを作り出すのは難しいですか? 知識などは最小限で良いです。とにかく簡単なプログラムを自力で色々と作れるようになりたいです。 もし、こんな自分におすすめの本などあれば教えて下さい。