色々
適当に色々書きます。

Stage2を作っています

sozai
記事: 57
登録日時: 12年前
住所: 日本-関東
連絡を取る:

Stage2を作っています

投稿記事 by sozai » 12年前

現在、Stage2製作中です。
当たり判定の件は多くの方々のおかげで解決しました。有難うございました。
これがその結果です。
(ソースコード付です。作り始めたころは行き当たりばったりだったので、ファイル名にバラつきがあります。申し訳ありません。)
添付ファイル

[拡張子 zip は無効化されているため、表示できません]


アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前

Re: Stage2を作っています

投稿記事 by softya(ソフト屋) » 12年前

Stage2の前にリファクタリングをおすすめします。
Time()でメモリリークしていたり、初期化と処理が完全に分離来ていない危険なコードです。
あとで、他も見たいと思いますがリファクタリングしてもらわないと超絶に読みづらいコードが現状です。

sozai
記事: 57
登録日時: 12年前
住所: 日本-関東
連絡を取る:

Re: Stage2を作っています

投稿記事 by sozai » 12年前

>softya様
クラスを使ってコードを書き換えるべきでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前

Re: Stage2を作っています

投稿記事 by softya(ソフト屋) » 12年前

クラスの前に、C言語の構造化プログラミングのモジュール化も出来ていませんので、まずモジュール化をちゃんと出来るようになったほうが良いと思います。
ある程度カプセル化もできるので、それも行ってください。
あとcppにデータ構造だけしか無いファイルとかも、今回の場合は別の本来あるべき場所のcppに含められると思います。
それと紹介したゲームプログラミングの館のゲームプログラミング設計 をよく読んでみてください。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前

Re: Stage2を作っています

投稿記事 by softya(ソフト屋) » 12年前

大変指摘は多いですが、直すことで良いプログラムに変わります。
クラスを扱う準備のために、このぐらいは最低気をつけないと言う点を書きました。

気をつけたほうが良いと思うこと。
・グローバル変数が多いです。ZEROを目指して減らしてください。
関数に引数が殆ど無いので、これがグローバル変数が増える原因では?
・関数に引数を追加するだけで不要になる関数が色々あるのでは?
・グローバルである必要のないグローバル変数が有ります。
・インデントが綺麗に揃っていません。
・意味の分からない省略語があります。Back_L();など。
・関数名が統一性がないです。 → 動詞+名詞など基本形を定めましょう。
・DxLib_Init()を2回しています。
・ファイルに格納されている関数がファイル名とズレています。
ファイルの整理と関数の整理を行いましょう。
・The_Funcなど、あれこれ的な名前は関数名として相応しくありません。 → 機能が推測できないため。
・struct.cppでenumが無駄に定義されています。ヘッダを使いましょう。
それとデータだけの定義のファイルは無駄なので出来ればやらないでください。
どこかに属するのであれば、そのヘッダとcppに書くべきです。
・x_Stage2=600など即値が多くてメンテナンス性が悪いと思います。
ざっとこんな感じです

なお、このまま続けるなら質問掲示板に移っていただくようにお願いします。 ※移る時は、ここを読んでいない人のために話を要約して解説して投稿してください。