学校で配布してもらったC++のライブラリで
自分のゲームを作っていてわからないところがあるので
質問させていただきました。
C++は独学ですので直したほうがいい点が大量にあると思います。
そこも教えていただけますと助かります。
添付したソースはゲーム画面のものです。
現在の段階では選択したマスと上下左右のみの反転となっています。
ゲームの内容は
周囲の音符を成長させ消していくパズルゲームです。
プレイヤーは音符を選択していきます。
すると、音の波紋が広がり、選択した所とその周囲の 音符が成長します。 ただし、成長している音符は壊れてしまいます。
連続して縦横3マスずつ(計9マス)成長している状態になると、 その9マスの音符が消えていきます。
・わからないのは頭上から降ってくる音符をどう扱えばいいのか?(配列でとるのかどうか)
・9マスそろったときどうすれば消えるのか?
という点などです・・・
お忙しいと思いますがどうか教えていただけないでしょうか?
自分は情報セキュリティを専攻しているのでプログラム関係はさっぱりわかりません。
わかりにくい質問ですいません。
オリジナルのパズルゲーム
Re:オリジナルのパズルゲーム
ざっと目を通しただけで処理は確認していませんが、
オブジェクト指向の概念を使っていないので、C++選択した理由がよくわかりません。
C++を使ったと言わないと、Cで書いたように見えます。
(変数の初期化位置を除いてCみたいです。)
MapData_00配列をなぜ使っているのか?というところが一番気になりました。
画面全体を一つの配列で扱うのではなく、自分の領域と、相手の領域を分けて考えれば、
同じ落下関数を使うことができるので落下処理の扱い方が楽になります。
それよりも配列を全てgrobalで扱っているようにみえます。
できるだけlocalに収めた方が安全にできると思います。
srand()を不必要に使っているかな。
srand()は最初だけ使えばよいです。
(2,3回使っているように見えたので)
>・わからないのは頭上から降ってくる音符をどう扱えばいいのか?(配列でとるのかどうか)
この問題は一般的な落ちものゲームの落下処理と考えればテトリスの作り方が参考になると思います。
>・9マスそろったときどうすれば消えるのか?
画面を配列で扱っているので、ある点を中心にして周りのマスが全部そろった時に、
消す処理をすればできます。
オブジェクト指向の概念を使っていないので、C++選択した理由がよくわかりません。
C++を使ったと言わないと、Cで書いたように見えます。
(変数の初期化位置を除いてCみたいです。)
MapData_00配列をなぜ使っているのか?というところが一番気になりました。
画面全体を一つの配列で扱うのではなく、自分の領域と、相手の領域を分けて考えれば、
同じ落下関数を使うことができるので落下処理の扱い方が楽になります。
それよりも配列を全てgrobalで扱っているようにみえます。
できるだけlocalに収めた方が安全にできると思います。
srand()を不必要に使っているかな。
srand()は最初だけ使えばよいです。
(2,3回使っているように見えたので)
>・わからないのは頭上から降ってくる音符をどう扱えばいいのか?(配列でとるのかどうか)
この問題は一般的な落ちものゲームの落下処理と考えればテトリスの作り方が参考になると思います。
>・9マスそろったときどうすれば消えるのか?
画面を配列で扱っているので、ある点を中心にして周りのマスが全部そろった時に、
消す処理をすればできます。
Re:オリジナルのパズルゲーム
直接の答えではありませんし、参考になるかも分かりませんが、私が趣味で作っている落ち物パズルゲーム用のクラスを載せてみます。デバッグもしてませんので、動作の保障はありません(苦笑)
pieceクラスとfieldクラスの絡み辺りは落ち物パズルならば、ほとんど共通の似たような動きになるはずなので、何かヒント位にはなるかもしれません。
pieceクラスとfieldクラスの絡み辺りは落ち物パズルならば、ほとんど共通の似たような動きになるはずなので、何かヒント位にはなるかもしれません。
Re:オリジナルのパズルゲーム
みなさんありがとうございます。
>>組木紙織s
え~とですね・・・C言語のほうがどんなプログラムでも作りやすいと聞いたので
選択しました。
本当に初心者ですので、オブジェクト指向などという言葉は聞いたことありますが
意味などはわかりません・・・
if文やfor文が使えるレベルです・・・。
>>バグs
参考にさせていただいたのですが難しいですねw
ご回答ありがとうございました。
>>組木紙織s
え~とですね・・・C言語のほうがどんなプログラムでも作りやすいと聞いたので
選択しました。
本当に初心者ですので、オブジェクト指向などという言葉は聞いたことありますが
意味などはわかりません・・・
if文やfor文が使えるレベルです・・・。
>>バグs
参考にさせていただいたのですが難しいですねw
ご回答ありがとうございました。