- ベストアンサー
C言語ゲーム製作途中(勉強中)
プレイヤーが画面を四方八方に移動まで。コードを一通り見ていただきたいです 現在、定番で見やすいプログラムを意識しています。又、今後質問が宜しく願います 以下よりダウンロードです(実行ファイル、ソースコード(234行)等) http://gamdev.org/up/img/10376.lzh 環境 OS:VISTS、統合開発環境:VC++2005 EE、言語:C ライブラリ:DXライブラリ、画像エディタ:ペイント、 自動作曲:Random various music v1.5、MP3変換ソフト:iTunes 聞きたい優先順位(下に行くほど無視してもよいです) (1) 関数名(頭は大文字)、変数名(全て小文字、アンダーバー使用)、グローバル変数名(g_をつけたほうがいいのか…)、 などの区別化 関数分け(他の方法)、マクロ定義名(名称つけ方がよくない等) (2) 関数ごとのヘッダコメント。用途と引数くらいは書いたほうがいいのか (3) ウインドウのアクティブ、非アクティブで一時停止と再生の処理の仕方 動作はうまくいっているようですがやり方は正しいのか DXライブラリを使っていますが、コメントで大体理解できると思います 他に気になった点、こうしたほうがいい等、色々な意見を願います <(_ _)>
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- C言語ゲーム製作中 ソース公開
プレイヤーが画面を四方八方に移動までです。コードを一通り見ていただきたいです 現在、定番で見やすいプログラムを意識しています。又、今後質問が宜しく願います 以下よりダウンロードです(実行ファイル、ソースコード(268ステップ)等) http://gamdev.org/up/img/10406.lzh 環境 OS:VISTS、統合開発環境:VC++2005 EE、言語:C ライブラリ:DXライブラリ、 ----------------------------------------------------------------- 前回の質問時の修正としてコメント、マジックナンバー、メイン3分割等を行った。 ファイルは分割せずに1ファイルにまとめています。 ----------------------------------------------------------------- 聞きたい優先順位(下に行くほど無視してもよいです) 1: 以下の164行目と166行目のマジックナンバーを#define or typedef enum or それ以外の方法はあるのか… 赤、緑、青 SetTransColor( 255 , 255 , 255 ) ; // 透過色を変更 *strclr = GetColor( 255 , 255 , 255 ) ; // 白色の値を取得 2: WinMain関数で多くのローカル変数を宣言しているが他の関数でやったほうがいいか struct player ply や int KeyStat[KET_MAX] を他のローカルで宣言するとstaticに しなければいけないとか考えてしまいます。メインで宣言したほうが都合が良さそうと思っていますが… 他に気になった点、こうしたほうがいい等、色々な意見を願います <(_ _)>
- ベストアンサー
- C・C++・C#
- C言語ゲーム製作(3)
お世話になっています。 一般、定番的で見やすいプログラムを意識しています。(コメント等) 気になる所があれば意見を宜しくお願いします。 引数を減らすために関数化、マップの表示、キー入力、後は全般的に修正しました。 まだまだ力不足です。できれば具体的な意見を宜しく願いたいです。 ----------------------------------------------------------------- 以下よりダウンロードです(実行ファイル、ソースコード等) ****://gamdev.org/up/img/10414.lzh ----------------------------------------------------------------- 環境はOS:VISTA、統合開発環境:VC++2005 EE、言語:C、ライブラリ:DXライブラリ 過去の質問リスト C言語ゲーム製作途中(勉強中) (1) http://okwave.jp/qa3460149.html C言語ゲーム製作中 ソース公開 (2) http://okwave.jp/qa3470422.html ----------------------------------------------------------------- 聞きたい優先順位 1:関数の分け方と引数のやりとりが怪しいかも…OKならばファイル分割作業に入る予定です 2:KeyBoard関数で2つ以上ボタンが押されていたら クリアする処理は必要か(指摘があったため組み込み) 他に気になった点、こうしたほうがいい等、色々な意見を願います <(_ _)>
- ベストアンサー
- C・C++・C#
- 現在C言語を勉強しています、以前はHSPでゲームをいくつか作りました。
現在C言語を勉強しています、以前はHSPでゲームをいくつか作りました。 最近DXライブラリの存在を知ったのですがC言語の知識だけ使えるという事で興味がわきリファレンスページを見て簡単な物を作りましたが気になる事ができました。 今までは「printf」で文字を表示していたのですがDXライブラリだと「DrawString」で文字が表示できます。 今C言語で学んでいる事で「ライブラリ関数」で「rand」がありますがDXライブラリでも同じような「GetRand」があります。 条件やループなどは結構使用していますがそれ以外はC言語のサイトで学ぶのは無意味でしょうか?、DXライブラリを使用するのに「この部分を学べば(知っていれば)大丈夫」というのはあるのでしょうか?。
- ベストアンサー
- C・C++・C#
- C言語ゲーム製作4 ソース公開 勉強中 ファイル分割
お世話になっています。 前回より迷路のカドを移動しやすく修正、ファイル分割を重点的に対応しました。プレイヤーが十字方向に動くまでです。 (敵の処理は途中なので気にしないでください) ダウンロード(ソース10、ヘッダ10、その他)1.0M http://gamdev.org/up/img/10466.lzh 疑問点が以下の2点です ・関数定義のstaticの使い方 ・ヘッダーの取り込みの仕方がわからないコードの上で (#include "..\\include\\player.h")と記述している メニューから設定するか、環境変数設定のようなのですが… まだまだ力不足です。他にも多々突っ込みどころがあると思います できれば具体的な意見を宜しく願いします<(_ _)>
- ベストアンサー
- C・C++・C#
- C言語に関することについて教えてください
学校の問題集にでてきた問題がわかりません、どうか教えてください 1 プログラムの役割、必要性について説明せよ 2 プログラムにおける変数と定数の役割を説明せよ。また、ローカル変数の有効な範囲について説明せよ。 3 C言語で使う変数が他について、宣言子と、printf関数、scanf関数それぞれにおいて対応する書式指定子を対応表にせよ。また、変数名を決める際に守るべき文法上の規則と、プログラマとして配慮すべき事項を説明せよ。 4 配列について、その役割と定義方法を説明せよ。 5 コンピュータにおける文字処理に必須なアスキーコードについて説明せよ。 6 C言語における文字列について、文字列定数、文字列変数を説明せよ。 7 C言語における繰り返し処理の文法(for,while,do~while)を、プログラムコード列を示して説明せよ。 8 C言語における条件判断の文法(if,else,else if)を、プログラム列を示して説明せよ。 9 繰り返し、条件判断において利用する論理式(等値演算子、関係演算子、論理演算子等で記迷する式)について、その記迷の方法を論理和、論理積も含めて説明せよ。 10 変数のアドレスについて説明せよ。また、ポインタについて、アドレスとの関連性を踏まえて、その役割と定義方法を説明し、具体的な使い方のプログラムコード例を示せ。 11 ポインタと配列の関係について、ポインタによる配列操作を列に説明せよ。 12 関数について、その役割と定義方法について説明せよ(戻りがた、関数名、引数リスト)。また、自作関数をそれらを利用するmain関数のプログラムコード例を示せ。 13 scanf関数の戻り値について、その内容を説明して、どのような際に利用すると便利か、プログラムコード例を示して説明せよ。 14 引数にポインタを利用する関数のプログラムコード例を示して、ポインタの必要性、重要性を説明せよ。 15 構造体について、その役割と定義方法を説明し、具体的な使い方のプログラムコード例を示せ。 16 ファイルポインタについて説明し、ファイル入出力の方法についてプログラムコード例を示して説明せよ。
- 締切済み
- その他(インターネット接続・通信)
- C/C++言語で変数名から変数のアドレスを取得する
C/C++言語で変数名から変数のアドレスを取得する方法があれば、ご教示願います。 例えばですが、関数GetProcAddress()は、関数の文字列からエクスポート済みの関数のアドレスを戻り値で返しています。 GetProcAddress()と同じようにアドレスを取得したい変数名の文字列を渡して、変数のアドレスを取得したいです。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- C++勉強中なんですが
クラス等を使ってソースを書く練習中なのですが、思ったように結果が出ません。 #include<iostream> #include<string> using namespace std; class Cats { private://クラス「Cats」の中でのみ使う文字列の入れ物変数「name」を作る string name; public://クラス「Cats」の外からでも引数で呼び出せば使える Cats(string x)//クラスCatsの関数Cats(コンストラクタ)を使いますよって宣言 { name=x;//8行目で作った文字列の入れ物に変数xを入れる } void naku()//voidの意味が正確には分からないけど、何も返さないって意味らしいので、何も返さないnakuって関数を作る { cout<<"にゃっふぅーん、ボク、"<<name<<"ってゆーの。よろしくネ!"<<endl;//関数nakuが呼び出されると文字列を表示する } }; int main()//全体のプログラム { string x;//まず文字列の入れ物になる変数xを作る cout<<"今日新たな家族になるにゃんこが産まれました。"<<endl; cout<<"名前を決めてあげましょう!"<<endl; Cats aisatsu(x);//クラスCatsのメンバーaisatsuを作る(中身は文字列の変数x) cin>> x;//変数xにキーボードで書いた文字列を入れる aisatsu.naku();//メンバー関数のaisatsuがグローバル関数(クラスの外からでも呼べるはずw)nakuを呼び出す } cin>>x;で入力した文字がnameに代入されてないのか、表示されません・・・。 もし分かる方いたら是非教えていただきたいです。 あと、コメントアウトしてる部分なんですが、ここもおかしい認識があればご指摘いただきたいです。
- ベストアンサー
- C・C++・C#
- ライブラリ作成時のグローバル変数の対応(C言語)
C言語を用いてライブラリを作成しています。 ライブラリは機能ごとにファイルを分けています。 今、ライブラリの中でのみ使用するグローバル変数やグローバル関数が必要になりました。 このグローバル変数や関数は複数ファイルで参照するため、static宣言はできません。 しかし、このグローバル変数や関数は公開する必要はありません(ライブラリの中でのみ使用します)。 このようなことをC言語で実現するためにはどうしたらよいのでしょうか? 開発環境は Windows7 VisualC++2010 です。 VisualC++2010を使うなら C++で書けばいいのではないかといわれそうですが、 C言語でプログラミングしたいのです。 以下のようなサイトがあったのですが、これを使うしかないでしょうか? http://0xcc.net/blog/archives/000108.html
- ベストアンサー
- C・C++・C#
- ゲームを作るためのスクリプト言語の勉強について。
ゲームを作るために、プログラミングについて勉強を始めたいと思っている者です。 またDXライブラリやUnityなど比較的高難易度なツールを使っているわけではなく、RPGツクールやMMF2など初心者向けのツールを使っています。 RPGツクールやMMF2の初歩的な扱いには大分慣れてきたと思うので、変数を使ってより複雑なゲームを作りたいと考えているのですが、いまひとつ変数について理解できず、アルゴリズムもよくわかりません。 色々なサイトを調べたところ、いきなりC言語などのプログラミング言語から入るよりも、Rubyなどのスクリプト言語から勉強したほうがとっつきやすいし比較的簡単だという話だったので、スクリプト言語を勉強したいと思っているのですが、何かおすすめの言語とかはありますか? 今現在は、lua、Rubyのどちらにするかで悩んでいます。おすすめの参考書などありましたら教えてください。 またスクリプト言語の勉強はRPGツクールやMMF2といったツールの変数やアルゴリズムを理解するのに役立つのでしょうか? もし大して役に立たないということであれば、何か効果的な勉強法などありましたら教えていただけると嬉しいです。 ご回答、よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
お礼
指摘を受けての今後の改善点。多くの意見を感謝です! ・自分のコメントのつけかた。不必要が多すぎ、コードないでの コメントの必要性を認識する。プログラムを書く上での思考レベルの修正。やはり必要最低限か… ・グローバル変数名のつけ方g_以外で検討してみる ・メンテナンスで将来保障できる柔軟なプログラムになるか ・定数名で名が体を現していない。わかりにくい。プログラム設計書とリンクする形でもOK ・画面サイズとプレイヤーの位置のリンク ・構造体の意識は大きく改善すること。コメントについては昔のが残っていました。すみません マジックナンバーというのは数字(定数)と理解しました ・プロトタイプは一つのファイルという前提があったのであえて入れていました。 ・関数説明は本体で ・ローカル変数は関数先頭で ・ここがイベントループであるという程度のコメントで十分伝わるという方向で対応 ・メインを関数3分割で ・>キーをグローバル変数で共有すると、デバイスに依存したコードがあちこちに散らばることになる。 >一旦、内部メッセージに置き換えたほうが変更/拡張しやすいブログラムになる。 どういうことか…もう一度コードを見直します。改善の方向で確認 ・プレイヤー処理で>マジックナンバーが入っている。なんのために定数定義したのか? ・>☆全体的に メンテを考えマジックナンバー(数字の定数)は全て定数定義にしたほうがいいのですね。了解です エラー処理を対応の方向で ・C言語がある程度できたらC++に移行したいです ・>これは先の話で良いですが、読み込むデータ数をハードコーディングするのはおかしいです。 >本来、提示されたデータから読み取るべき。恐らく、データ数があわないデータを >与えられると暴走するのでは? ・これはどういうことだろう。もう少し見直します。 ここまでコードの悪いところを全て教えてくれたと思います。…自分でもある程度意識はしていたが… 指摘内容がすばらしく個人的には、ありがとうポイント2000以上はあげてもいいくらいです。 もう、なんというか、ありがとうございました!