グローバル変数に頼りたくなる今日この頃。
別に頼ってもいいんじゃないか。
どうなの。
だってすげー便利。
だってグローバルをやめようとすると、
ものすごく無駄に、いや無駄じゃないのか、だがしかし無駄か、
とにかくなんかこう上手くいえないけど増えすぎてこれはもう意味が良くわからない。
知識も能力も足りてないからスマートなやり方がわからない。
そしてソレをどこで学ぶべきなのかがわからない。
そふとうぇあでざいんとか買えばいいのか。
そういえば日経ソフトウェアのオマケのC言語が一週間弱くらいで
わかる本みたいなの読めばいいのか。
もう先月号の話だ。遅かった。
教則本みたいなのは過去にちょこちょこ買ってて
それらのどこかに書いてあるのかもしれない。
改めて確認したらゲーム製作の本ばっかりで、
C++の基本みたいな本が一冊しかなかった。
それでか(?)
自機の位置とか得点とか効果音のフラグとかいろんなとこで
使うんだからもうグローバルでいいじゃん。
とか思ってたのだけどそういう構成がまちがってるのかもしれない。
グローバルいくない!と、
いろんな関数に自機の位置渡し放題で作ってたけど
これを考え直すのはとても大変なのでわないか。
効果音用のフラグをグローバったらすごい簡単に実装?出来た。
各地で指定のフラグに1いれるだけじゃん!便利!
みたいな?
これをぐろーばらなかったらどんどん各関数に引数が増えてく。
引数?戻り値?とにかく増えそう。
そもそも複数のクラスで共有する変数っていうのが間違いなのか??
いやいやいや共有するでしょ。しないの?するよねぇ。
って考えてるとやはり根本的な知識が足りない。
知らないことが何なのか知らないので、
どういう感じなにをぐぐっていいのかわからん。
うーむ・・・・。
うーむ教授かわいい。超かわいい。
今期で一番かわいい。
二番目はましろたんか。
たんぽぽちゃんも気になる。
という感じで久しぶりに挑戦してた。
とりあえず自弾発射音と敵が死んだ音はつけてみた。
が、ぐろーばってる問題のせいで
このままではダメチームと、
このままでもいいんじゃねチームが派閥争いをしている。
このままでもいいんじゃねチーム優勢。
あと画面遷移でも悩み始めたけどこれはまだはやいか。
とりあえずぐろーばるなこれをもう少し考える。考えない。わからない。
ゲームオーバーに画面というか、シーンを移動させちゃうと
今の作り方では全部リセットされてしまう問題がありそう。
必要なモノ、少なくともこんてぬーした場合は現在進んでる
ステージ数くらいは保持しておきたい。
ハイスコアも保持しておきたいのかもしれない。
・・・グローバル変数として・・・えへ。
もうぐろーばるさんを敵視するのはやめようか。
なかよくしたい。婿入りでも良い。
グローバル一族として猛威を振るいたい。
そして治療薬が普及した際には一緒に駆逐されたい。
好きな駆逐艦は時雨です。かわいい。五月雨はもっとかわいい。
あとパズドラ面白い。年末からはまった。
紅面ドロップしなくて千代女さんが進化できない。
もう何を書き残したいのかわからなくなってきたから
とりあえず必要そうな音まとめる。
効果音的な
・ショット音。
・敵をやっつけた音。
・自分がダメージを負った音。
・敵にダメージが当たったときの音。
・なんかダメージ与えられてない音。
・なにかアイテム取った音。
・ボスが死んだ音・・・・。
・スタートボタン押したときの音 //他のと兼用?
・セレクトボタン押したときの音 //他のと兼用?
・こんてぬーするかどうか悩む時のカウント音???
・ロゴが出たときの音
//・敵が弾うった音
短い音楽?フレーズ?
・ゲームがスタートしたときの
・死んだときの・・・。
長い奴
・ゲーム中BGM
・げーむオーバー中の。
・ゲームクリアの時の。//他と兼用かも。
・スタート画面の?いらない?
・ボスのときの音??
書き終ってから自分の過去の投稿が目に入った。
音も書き出してた。びっくりした。
でも去年のことだからしかたないね。
忘れるね。忘年会のせいだね。
ぐろーばりぜーしょん。
Re: ぐろーばりぜーしょん。
コメントありがとうございます。
思います!が上手く質問にできず。
なんかこう、見えそうな 見えなさそうな
すごくふわっとしつつわかりそうなわからないような。
自機の座標を直接参照するのではなく。
マウスの座標に置き換えられるような、自由度?があったほうが良い。
目的地の座標が必要なわけで、目標が何であるかは問わないってことなのかな。
自機の座標をどっかに保存して、それを参照する形。
それがたとえばマウス座標であればマウス座標をそこに保存してやればいいだけで他クラスはいじらなくても良い。
つまりどこかのクラスに値を保存してやって、参照はそのクラスに対して行えばよい???
せっかヒントく教えていただいているのに
根本的にC++のプログラムの方法がわかってない気がしてきてます。
考えてどうにか理解できるのか、そもそもの知識量が足りてなくて理解は出来ないのか。
どこまでわかってて、どこまでわかってないのか。
現在の状態として自機クラスの中で自機弾クラスを宣言して、そのまま引数で直接座標渡してたりでヒントを
いかせる構成じゃない気がしてます。
同様に敵クラスの中で敵弾クラス宣言してて結局今は機能させてなかったりの状態だったり。
そもそも組みなおさないとダメなのでわ。と。
こんな感じで入れ子になってしまっててもうー。と。
あまり考えずに動いてる部分に付け足してるからなのかゴテゴテ。
//これを自分が今までで考えてる形で修正するとなると
//敵弾についてはまだちゃんと出来てないのでいろいろ怪しい。
当たり判定、位置含めその辺が不穏な気がしてきましたが、とりあえず置いといて。
これってここだけみたら
こうやったほうがスマートかなぁ。
ここがマウス座標になるだけでifで分ければいいのか?
って問題のすり替えが起こってます。自分の中で。
そういうこっちゃない。たぶん。
自分の知識の中で回答を求めようとしてるのが悪い気がしてます。
そしてなによりここで質問にもなっていない持論?をだらだら書いてしまってて
これならちゃんと質問掲示板に質問という形に直して回答をいただいたほうが良いとも思います。
が、もうなんだかわからなくなってきてます。正直。
思いつくまま書いていたら思いのほか長文になってしまいました。
これもまた申し訳ないです。
あとハードディスクから カチッって音が頻繁になるようになってきたので怖い。
でも電源おとしてしばらく待って再開するとカチッって音はならなくなるのでなんだ。熱かな?
思います!が上手く質問にできず。
なんかこう、見えそうな 見えなさそうな
すごくふわっとしつつわかりそうなわからないような。
自機の座標を直接参照するのではなく。
マウスの座標に置き換えられるような、自由度?があったほうが良い。
目的地の座標が必要なわけで、目標が何であるかは問わないってことなのかな。
自機の座標をどっかに保存して、それを参照する形。
それがたとえばマウス座標であればマウス座標をそこに保存してやればいいだけで他クラスはいじらなくても良い。
つまりどこかのクラスに値を保存してやって、参照はそのクラスに対して行えばよい???
せっかヒントく教えていただいているのに
根本的にC++のプログラムの方法がわかってない気がしてきてます。
考えてどうにか理解できるのか、そもそもの知識量が足りてなくて理解は出来ないのか。
どこまでわかってて、どこまでわかってないのか。
現在の状態として自機クラスの中で自機弾クラスを宣言して、そのまま引数で直接座標渡してたりでヒントを
いかせる構成じゃない気がしてます。
同様に敵クラスの中で敵弾クラス宣言してて結局今は機能させてなかったりの状態だったり。
そもそも組みなおさないとダメなのでわ。と。
初期設定(){
//実体化?クラスの宣言
自機クラス 自機;
敵クラス 敵;
当たり判定クラス 判定;
}
アップデート(){
自機->移動と弾処理();
//自機処理の中で弾処理も入れ子で動いてる。
敵->敵登録(ステージカウント);
敵->敵移動(自機->X座標取得(),自機->Y座標取得());
//この中で敵の弾も動いてる。
判定->当たり判定チェック(敵,自機);//クラスごと突っ込んでるのも問題か。
//※この中で当たり判定処理、死んだ場合の処理などいろいろ。
ステージのカウント++
}
書き出し(){
敵->敵描画();//敵、敵の弾もこの中で入れ子で動く。
自機->自機描画();//自機描画 弾もこの中で入れ子で動く
}
あまり考えずに動いてる部分に付け足してるからなのかゴテゴテ。
//これを自分が今までで考えてる形で修正するとなると
//敵弾についてはまだちゃんと出来てないのでいろいろ怪しい。
初期設定(){
//実体化?クラスの宣言
自機クラス 自機;
自機弾クラス 自弾;
敵クラス 敵;
敵弾クラス 敵弾;
当たり判定クラス 判定;
}
アップデート(){
自機->移動();
自弾->弾処理(自機->X座標取得(),自機->Y座標取得());
敵->敵登録(ステージカウント);
敵->敵移動(自機->X座標取得(),自機->Y座標取得());
敵弾->敵弾移動(自機->X座標取得(),自機->Y座標取得());
判定->当たり判定チェック(自機,自機弾,敵,敵弾);
//やっぱりクラスごとつっこみたい。
//この中で当たり判定処理、死んだ場合の処理などいろいろ。
ステージのカウント++
}
描画(){
敵->敵描画();
敵->敵弾描画();
自機->自機描画();
自弾->自弾描画();
}
これってここだけみたら
アップデート(){
int X座標,Y座標;
自機->移動();
X座標=自機->X座標取得()
Y座標=自機->Y座標取得()
自弾->弾処理(X座標,Y座標);
敵->敵登録(ステージカウント);
敵->敵移動(X座標,Y座標);
敵弾->敵弾移動(X座標,Y座標;);
判定->当たり判定チェック(自機,自機弾,敵,敵弾);
ステージのカウント++
}
ここがマウス座標になるだけでifで分ければいいのか?
って問題のすり替えが起こってます。自分の中で。
そういうこっちゃない。たぶん。
自分の知識の中で回答を求めようとしてるのが悪い気がしてます。
そしてなによりここで質問にもなっていない持論?をだらだら書いてしまってて
これならちゃんと質問掲示板に質問という形に直して回答をいただいたほうが良いとも思います。
が、もうなんだかわからなくなってきてます。正直。
思いつくまま書いていたら思いのほか長文になってしまいました。
これもまた申し訳ないです。
あとハードディスクから カチッって音が頻繁になるようになってきたので怖い。
でも電源おとしてしばらく待って再開するとカチッって音はならなくなるのでなんだ。熱かな?