検索結果 525 件

by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのリプレイの実装
返信数: 30
閲覧数: 14016

Re: C++でのリプレイの実装

>ISLe()さん

返信ありがとうございます。
とりあえず、vector<int> にしてみました。

Javaの入門したてで、コードの読解はKeyEventあたりで止まっています。
KeyEventのgetKeyCode()はC++だとどう表現すれば良いのでしょうか?

Dxライブラリ使用なので、keyPressed()やkeyReleased()の中のforをfor( int i=0 ; i<256 ; i++ );としてしまうのでしょうか?また、それ以外の方法はあるのでしょうか?
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 変数のカプセル化を守りながらのデータの受け渡しについて
返信数: 138
閲覧数: 39959

Re: 変数のカプセル化を守りながらのデータの受け渡しについて

enemy_orderのポインタを引数にとるようにして、enemy_orderを隠してしまえば良いのでは? しばらく龍神録プログラミングの館もコードも見てないのですが、 なんちゃら.h // インクルードガードは面倒なので書いてないですが、必ず書いてください // この下の構造体の内容は外部には公開しない。 // こういう構造体はあるけど、メンバ変数は外から見えないよ、ってことです struct enemy_t; struct enemy_order_t; void enemy_enter( struct enemy_order_t* pOrder, struct enemy_t* pEnem...
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのリプレイの実装
返信数: 30
閲覧数: 14016

Re: C++でのリプレイの実装

>>ISLe()さん 返信ありがとうございます。 ビット演算はなんとか自分で理解できました。 プログラムを眺めたり頭の中で考えると混乱することに今更ながら気が付き、手を動かして下位4ビットの動きを確認して見ましたら理解できました。 最初分からなかった所はKeyInputのkeyPressed()のmask<<=1の処理とkeystate|= mask と keyReleased()の keystate &= ~mask でした。 リンク先のプログラムについての質問なのですが、keyInput()のコンストラクタの引数にint型配列を渡していますが、C++ で書く場合はvectorやlistを利...
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 自分でプロジェクトをつくったとき
返信数: 8
閲覧数: 3197

Re: 自分でプロジェクトをつくったとき

http://homepage2.nifty.com/natupaji/DxLib/dxuse.html
お使いの環境がわかりませんが、本家の設定方法で試してみてはどうでしょう。
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのリプレイの実装
返信数: 30
閲覧数: 14016

Re: C++でのリプレイの実装

>ISLe()さん

返信ありがとうございます。
http://dixq.net/forum/viewtopic.php?f=3&t=12998#p104155
を参考にしてみます。Javaのコードの読解とC++での書き直しで時間がかかると思います。
オフトピック
ビット演算があまり理解出来ていないので、コード中のビット演算の解説がほしいです。
図々しいお願いですが、解説してくださると幸いです。
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 自分でプロジェクトをつくったとき
返信数: 8
閲覧数: 3197

Re: 自分でプロジェクトをつくったとき

画像はちゃんと 画像/キャラクタ00.png にありますか?
画像が無ければ表示が出来ません。
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのリプレイの実装
返信数: 30
閲覧数: 14016

Re: C++でのリプレイの実装

>ISLe()さん 返信ありがとうございます。 コントローラーモジュールからユーザー操作のステータスを取得するインターフェースを定義します。 そのインターフェースを継承してリプレイモジュールを作成します。 元のコントローラーモジュールとアプリケーションのあいだにリプレイモジュールを噛まします。 ユーザー操作のステータスについてなのですが、No1で示したKey.cpp/hのような設計にせず、もっと抽象的(?)にしたほうがよいのでしょうか? たとえば、 GetKeyState( KEY_INPUT_Z );// ここでのZキーはショットだとします のように、特定のキーが押されたという判定ではなく、...
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのリプレイの実装
返信数: 30
閲覧数: 14016

Re: C++でのリプレイの実装

コードを一から書き直した方がバグの原因を潰すのに一番だと考えました。
何がおかしいかよくわかりませんが、こんなところで悩むよりは新規に書いた方が楽でしょうから、書き直します。

コードに対するツッコミも、メインであるバグの方も返信が無いのでこれ以上放置しても時間の無駄と考え解決にします。
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのリプレイの実装
返信数: 30
閲覧数: 14016

Re: C++でのリプレイの実装

また、コードに対するツッコミを書いてくださっても構いません。
ここがわかりづらい、ここはなんでこうしないの?などなど、何でもどうぞ。
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのリプレイの実装
返信数: 30
閲覧数: 14016

C++でのリプレイの実装

お久しぶりです。3Dです。今回は自分が練習としてリプレイ機能を作成しました。しかし、思ったような挙動にならないので質問させていただきます。 下に貼ってありますReplay.cppの、CReplayPly::Exec()内のReadData()が問題の場所です。 再生の部分がうまくいきません。コメントに書いてありますが、何故か2回関数を呼ばないと自分の考える挙動になりません。 Exec()の一番下のDrawFormatString()を呼び出さないと半分しか読みません。C++初心者でひどいコードではありますが、原因を教えていただきたいです。よろしくお願いします。 以下、ソースコードです。 mai...
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】Eclipseのオートインデント
返信数: 3
閲覧数: 2256

Re: 【雑談】Eclipseのオートインデント

>ISLe()さん

返信ありがとうございます。
Eclipseは4.4を使用しています。
また、自分専用のフォーマッターを作成し、自分の思い通りになるようにできました。
ありがとうございました。
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】Eclipseのオートインデント
返信数: 3
閲覧数: 2256

Re: 【雑談】Eclipseのオートインデント

オートインデントに頼らず自分で頑張れということですかね。
別のところでも聞いてみたいので解決にします。ありがとうございました。
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 館8章において
返信数: 41
閲覧数: 10600

Re: 館8章において

ソースコード内にいきなり8と書かれていたら「なんだこの8は?」となりますよね。 4*2とあると「なるほど、横に4つの画像があって上から2番目の行をループするんだな」とわかりやすいからだと思います。 #define IMG_YOKO_MUM 4 // 横の画像数 enum eDir // キャラクタの向き { eFRONT, eRIGHT, eLEFT, }; int nowDir = eFRONT; // 現在の向き // 略 ch.img += IMG_YOKO_NUM * nowDir; // ch.img = 4*2を読みやすく(?)してみた それでもわかりづらいので、自分はこういう感じ...
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】Eclipseのオートインデント
返信数: 3
閲覧数: 2256

【雑談】Eclipseのオートインデント

お久しぶりです。3Dです。 最近、Javaでオブジェクト指向を勉強しようと思い、色々準備したのはよいのですが、困ったことがあります。 Eclipseのオートインデントを自分好みにしようとし、色々いじりました。そしたら /** * とくに理由のないサンプルです */ package sample; public class CTest { public static boolean bFlag; public static void main( String[] args ) { bFlag = true; System.out.printf( "Hello,World\n" ); if( bF...
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウのサイズの設定方法
返信数: 25
閲覧数: 12467

Re: ウィンドウのサイズの設定方法

ソースコード中でのインクルード文は
#include <Window.h>
ではなく
#include <windows.h>
だと思います。
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: クラスによる敵の制御について
返信数: 6
閲覧数: 2796

Re: クラスによる敵の制御について

何でもできると思いますよ。

館のCSVファイルは出てくる座標と体力、落とすアイテム、移動パターンのID(番号)などがコンマ区切りになっているだけです。
Luaを使用するのは、移動パターンそのものを書く場合が多いと思います。
たとえば、テキストファイルでも自分で決めたファイルフォーマットの通りに読み取ればできます。
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: クラスによる敵の制御について
返信数: 6
閲覧数: 2796

Re: クラスによる敵の制御について

C++で設計する前に、まずはc言語でオブジェクト指向のような設計をした方がいいと思います。 C言語初心者なら、まずはC言語のマスターから始めた方が良いのではないかと思います。 C言語(あらかた)マスター→Cでオブジェクト指向設計→C++勉強→C++で設計 と自分ならやります。 質問の答えになってないと思いますので、回答しますと、 龍神録プログラミングの館の一番下にDixqさんがC++で書いた龍神録がありますので、それをご覧になればどのような設計か分かると思います。 確か、自分の記憶が確かなら、読み込みクラス(ScrReader.cpp/h?)でcsvを読み込み、ScrPrm_t(?)を引数にと...
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力のタイミング(?)について
返信数: 3
閲覧数: 1696

Re: キー入力のタイミング(?)について

オフトピック
本件とは関係ないのでofftopicで……
if文の中の比較演算子が代入演算子になっています。
あとは、これは人によりますが、if文の後はブロックを書いた方が思わぬミスを防げますので良いと思います。
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神禄プログラミングの館4章において
返信数: 6
閲覧数: 2172

Re: 龍神禄プログラミングの館4章において

二つ目の質問についてですが、img_ch[0]の配列の中の[ch.img]番目の画像ということなのでしょうか?? そういうことです。 ということは、img_ch[0]の配列の中の要素を状況に応じて違うものを読み込むという解釈でよろしいのでしょうか?? (みけCATさんへの返信ですが) 読み込むのではなく描画です。考え方はあっています。 また、img_ch[0][ch.img]は具体的に何番目の画像というように捉えることができるのでしょうか?? printfDx()やらDrawFormatString()で表示すればわかります。 コードで分からない箇所がある時は、まず他人に質問するより、自分で...
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神禄プログラミングの館4章において
返信数: 6
閲覧数: 2172

Re: 龍神禄プログラミングの館4章において

コードを記載する時はコードタグを使用し、適切なインデントをして頂けると読みやすくて助かります。フォーラムルール http://dixq.net/board/board.html をお読みください。 #include "../include/GV.h" extern int img_ch[2][12]; void load(){ LoadDivGraph( "../dat/img/char/0.png" , 12 , 4 , 3 , 73 , 73 , img_ch[0] ) ; } のimg_ch[0]が多重配列なのに[]が一つしかないのかよくわかりません。 #include "../incl...
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 平均点の計算、評価、並べ替え
返信数: 7
閲覧数: 3644

Re: 平均点の計算、評価、並べ替え

書けたところまででよいので書いたコードを貼ってください。 また、条件分けは if( /* 入力された点数 */ ) { /* 条件に当てはまる文字を表示する */ } else if( /*上の条件に当てはまらない点数*/ ) { /* 条件に当てはまる文字を表示する */ } else { /* 上のどの条件にも当てはまらない点数 */ /* 条件に当てはまる文字を表示する */ } で可能かと思います。また、if文の個数は適宜変更してください。 printfはコメントの表示で、scanfは点数の入力に使います。 詳しい仕様は知らないですが、一つだけ入力し、その点数が条件に当てはまる文字を表...
by Rittai_3D
9年前
フォーラム: C言語何でも質問掲示板
トピック: 平均点の計算、評価、並べ替え
返信数: 7
閲覧数: 3644

Re: 平均点の計算、評価、並べ替え

これは課題でしょうか?それとも、どこかで見つけた問題を解いているのでしょうか?
課題の丸投げは禁止されています。自分でどこまでプログラムを書いたか、どこがわからないのかを詳しく書いてください。
また、コードを貼る場合はcodeタグを使用してください。

フォーラムルールhttp://dixq.net/board/board.htmlをお読みください。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 何故、書き込んだ数値が出て来ないのでしょう?
返信数: 11
閲覧数: 4248

Re: 何故、書き込んだ数値が出て来ないのでしょう?

上のプログラムで一つしか書き出していないからでは無いでしょうか? fwrite参考 http://www9.plala.or.jp/sgwr-t/lib/fwrite.html fread参考 http://www9.plala.or.jp/sgwr-t/lib/fread.html をみると fread: ファイルfpからsizeバイトのデータをn個読み込み、bufに格納します。ファイル位置指示子を読み込んだデータバイト分進めます。エラーが発生した場合にはファイル位置指示子の値は不定です。 fwrite: bufからファイルfpへsizeバイトのデータをn個書き込みます。ファイル位置指示子を...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: Gを押して、ゲームモードを起動
返信数: 9
閲覧数: 3506

Re: Gを押して、ゲームモードを起動

すいません。言葉足らずでした。

修正すべき場所は34-35行目の

コード:

        if(Key[KEY_INPUT_G]==1)
            mode==0;
の部分です。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: Gを押して、ゲームモードを起動
返信数: 9
閲覧数: 3506

Re: Gを押して、ゲームモードを起動

mode == 0 と mode = 0 は別物です。
前者が比較演算子、後者が代入演算子です。
http://www5c.biglobe.ne.jp/~ecb/c/01_06.html
ここが参考になります。
オフトピック
本題と逸れますが、SetDrawScreen( DX_SCREEN_BACK );と設定してないのでScreenFlip()は要らないのでは?ScreenFlip()を消すかSetDrawScreen( DX_SCREEN_BACK );をDxLib_Init()の後に追加して下さい。
あと、所々インデントが狂っています。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: LoadGraphに関する質問
返信数: 1
閲覧数: 1457

Re: LoadGraphに関する質問

コードはコードタグで括っていただけると読みやすくて助かります。 フォーラムルール をお読みください。 新・C言語~ゲームプログラミングの館に記載してあったサンプルプログラムを改変しましたところ、上手く動作しなくなりました、原因が全く解らなかったので、どなたかご教授をお願いいたします。 ・ソース #include "DxLib.h" int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ ChangeWindowMode( TRUE ); // ウィンドウモードに設定 DxLib_Init(); // DXライブラリ初期化処理 int Handle,...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリでのファイル読み込みについて
返信数: 1
閲覧数: 1407

Re: DXライブラリでのファイル読み込みについて

if文の括弧が少ないと思います。

コード:

 if(filehandle = FileRead_open("data/enemy_1.csv") == 0)
から

コード:

  if( ( filehandle = FileRead_open("data/enemy_1.csv")  )== 0)
としてみてください。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: エラーが解決できません。どう直せばよいでしょうか?
返信数: 4
閲覧数: 2460

Re: エラーが解決できません。どう直せばよいでしょうか?

コードを貼り付けるときはコードタグで括って、かつ適切なインデントをして頂けると読みやすくて助かります。 #include "DxLib.h" int Key[256];//キーが押されているフレーム数を格納 //キーの入力状態を更新 int gpUpdateKey(){ char tmpKey[256];//現在のキーの入力状態を格納 GetHitKeyStateAll(tmpKey);//全てのキーの入力状態を得る for(int i=0; i<256; i++){ if(tmpKey[i] !=0){//i番のキーコードに対応するキーが押されていたら Key[i]++;//加算 }else...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録C++版の3D背景について
返信数: 5
閲覧数: 4659

Re: 龍神録C++版の3D背景について

h2so5さん、返信ありがとうございます。 ああ、なるほど。そういうことでしたか。一体全体なんの数値なんだろうと思っていました。 「この座標が基準となって」の部分なのですが、よく意味がわからなかったので解説していただけないでしょうか? 8枚並ぶのでそのうちひとつの座標、ということです。 なるほど!一つの座標が分かれば、その座標を基準に一定の間隔で表示できますからね。解説ありがとうございます。 ということは、 m_Index[0]とm_Index[5]は0番目に、 m_Index[1]は1番目に、 m_Index[2]とm_Index[3]は2番目に、 m_Index[4]は3番目に結ぶというこ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録C++版の3D背景について
返信数: 5
閲覧数: 4659

Re: 龍神録C++版の3D背景について

返信ありがとうございます。 >softyaさん コードの中身は理解していないので解析方法だけ。 まず、疑問に思っているコードの値や、コードそのものを抜いたりして動作を確認してみてください。 1. gvPosの値を変えてみましょう。 2. 行列の計算やベクトルの足し算をやめてみましょう。 以下略。 3D背景に関係あるであろう部分を抜き出して、別のプロジェクトに移動させ、色々いじって解析してみたいと思います。 こういう解析もやってみると意外と楽しかったりしますね。理解できればの話ですが(笑) 色々数値を変えて納得がいくまでいじり倒したいとおもいます。 >mqoを使わずに、ここの講座にある3D背景の...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録C++版の3D背景について
返信数: 5
閲覧数: 4659

龍神録C++版の3D背景について

こんにちは。3Dです。今回はタイトルにある通り、龍神録C++版の3D背景について質問です。 東方のような3D背景を作ってみたく、3Dに手を出したのはいいのですが、何をどうしたらよいかも分からず、 龍神録プログラミングの館の3D背景を参考にしたり、龍神録C++版を参考にしたりして、勉強をしておりましたが、 分からない部分が出てきたので質問しに来ました。 // 以下、龍神録C++版のコード Srf.h #ifndef DEF_SRF_H #define DEF_SRF_H #include "DxLib.h" typedef enum{ eSRF_WIND, eSRF_FLOR, eSRF_DOO...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイルの時の関数の使い方を教えてください
返信数: 5
閲覧数: 2361

Re: 分割コンパイルの時の関数の使い方を教えてください

main.cpp #include "DxLib.h" #include "OP.h" bool op=true; int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定 while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){ if( op == true ){ op_mo...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の前方宣言
返信数: 11
閲覧数: 6258

Re: 構造体の前方宣言

返信ありがとうございます。 >softyaさん 私の提案は逆だったのです。 Enemy_Move001はEnemy_Move(Enemy_t* pEnemy,vet_t vec);を呼び出す形です。 移動ベクトルは移動距離ですので、今+=5.0とかしている値を渡します。 ただ、これだと Enemy→Enemy_Move001→Enemy と出て入る形が気持ち悪いので(感覚的に分かりづらい)ので、  EnemyMng→Enemy_Move001→Enemy 動くなど EnemyMng→Enemy 描画など とした方が良いかもしれません。 この場合、Enemyポインタ配列はEnemyMngが管理し...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の前方宣言
返信数: 11
閲覧数: 6258

Re: 構造体の前方宣言

みなさん、返信ありがとうございます。 >みけCATさん ・Enemy_tの定義を別のヘッダファイルに書き、それぞれのソースでインクルードする ・新しいヘッダを使わず、enemy.cppに#ifdefなどでEnemy_MovePat.cppから直接インクルードできる仕組みを作る という方法が考えられます。 ヘッダファイルに構造体を書きたくないのでしたら、後者の方法がいいのではないでしょうか? #ifdefを使うのですか。全く思いつきませでした。 プリプロセッサの使い道がインクルードガードくらいしかない物だと思っていました。 プリプロセッサをとりあえず使ってやってみます。 >softyaさん en...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の前方宣言
返信数: 11
閲覧数: 6258

Re: 構造体の前方宣言

返信ありがとうございます。 「とりあえず」、最初のEnemy_MovePat.h (Enemy_MovePat.cppの間違い?)の4行目(#include "Enemy.h"の次の行)に、 Enemy.cppの7~15行目の構造体宣言をコピペすればコンパイルは通ると思います。 ただし、これはメンテナンス性を下げ、いい方法ではありません。 申し訳ありません。ご指摘ありがとうございます。間違えておりました。修正いたします。 ヘッダファイルに構造体を書いて公開してしまう方法以外で方法はないでしょうか? Enemy.cppしか知らないはずの構造体のメンバ情報にEnemy_MovePat.cppがアク...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の前方宣言
返信数: 11
閲覧数: 6258

構造体の前方宣言

こんにちは、3Dです。今回は構造体の前方宣言について質問します。 敵移動プログラムを書いている時に、訳が分からなくなりました。 Enemy.cpp #include "Enemy.h" #include "DxLib.h" #include "Enemy_MovePat.h" #define ENEMY_MAX 30 typedef struct Enemy_t { int nMovePat; int nCnt; int nAliveFlag; // 生存フラグ double dAng, dSpd; double x, y; // 座標 } Enemy_t; static int gCnt; ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 3dで移動ベクトルとかがよくわかりません
返信数: 3
閲覧数: 1872

Re: 3dで移動ベクトルとかがよくわかりません

Dxライブラリ以前にベクトルを勉強しないとおそらく意味がわからないでしょう。
自分は高校2年生ですが、ベクトルは2学期(=3~4か月前)に数学Bという教科で勉強しました。
おそらくベクトルの基本ができていないと3Dでプレイヤーを動かすことはできないでしょう。

と、いうことでまずはベクトルの基本を勉強してください。
( 参考 ベクトルって何ですか中学生に分かるように説明してください http://detail.chiebukuro.yahoo.co.jp/qa ... 1136250001 )
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ■ 新年の挨拶トピック~2014~ ■ 今年の抱負 ■ [雑談]
返信数: 17
閲覧数: 9987

Re: ■ 新年の挨拶トピック~2014~ ■ 今年の抱負 ■ [雑談]

あけましておめでとうございます。

今年でもう高校3年ですので、受験に向けて勉強頑張ります。
でも、C++の勉強もしたいし、遊びたい...

...なので今年の目標はいろいろな勉強(プログラミングやら物理やら)を頑張る、です。

物理苦手なので...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのエラー
返信数: 2
閲覧数: 2414

Re: C++でのエラー

とりあえず

コード:

#define MDLEN 50;
のセミコロンを外して

コード:

#define MDLEN 50
として見てください
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作ゲームが謎の処理落ち
返信数: 2
閲覧数: 1584

Re: 自作ゲームが謎の処理落ち

>>みけCAT様

返信ありがとうございます。
みけCAT さんが書きました:よくあるパターンとしては、ScreenFlip関数を使用しているのに描画先を裏画面に設定していないというものがあります。
確認してみてください。
はい、その通りでした。SetDrawScreen( DX_SCREEN_BACK )を呼び出すはずが、SetDrawMode()になっていました。

お恥ずかしい...

というわけで解決しました。ありがとうございます。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作ゲームが謎の処理落ち
返信数: 2
閲覧数: 1584

自作ゲームが謎の処理落ち

こんにちは。3Dです。今回はタイトル通りです。自作ゲームの処理落ちが激しいです。 最近、プログラムから離れていましたが、今日久しぶりにゲーム開発を開始しました。 エラーは出ませんでしたが、fpsを確認してみましたところ、fpsが45.0程度しか出ていませんでした。 どこかで無駄な処理をしているのかと考え、描写部と更新部を同時にコメントアウトして実行してみましたところ、 描写も更新も行っていないにも関わらずfpsが45.0程度しか出ていません。 また、プログラムも、自機とボード程度しか実装しておりません。(目に見えるものはその程度ですが、fps処理やキー入力処理 も実装しております。) 自分が怪...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリでBGMが流れません
返信数: 5
閲覧数: 3852

Re: DXライブラリでBGMが流れません

if( flag == 1 ) { if( CheckSoundMem( sound1 ) == 0 ) { PlaySoundMem( sound1, DX_PLAYTYPE_BACK ) ; } } として見てください。解説は不要だと思いますので、省略します。 恐らく、みけCATさんのおっしゃる通り、毎フレーム再生されるためだと思います。 これでダメなら ・変数名のスペルミスで、関係ないハンドルを指定していませんか? ・音声ファイルは壊れていませんか?  ・Log.txtにエラーは出ていませんか?  ・VLCメディアプレイヤーやAudacityなど、他のソフトでは正常に再生できますか? ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 99の表をそのままCSVファイルに保存したい
返信数: 7
閲覧数: 5109

Re: 99の表をそのままCSVファイルに保存したい

fprintfを使えばいいと思います。

参考→http://www9.plala.or.jp/sgwr-t/c/sec17.html

あとは、バッチファイルでも出来たと思いますが、fprintfを使った方がいいと思います。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ブルースクリーンになりうるゲーム
返信数: 9
閲覧数: 4633

Re: ブルースクリーンになりうるゲーム

イベントビューアで調べてみてはいかがでしょうか?

再現性が無いなら、PCが落ちたという人にイベントビューアのコピペを送ってもらうようにするしかないと思います。

変数の初期化忘れや配列の要素外にアクセスしているのかもしれません。
あとはメモリリークですかね。

関係のないこと書いていたらもうしわけないです。
オフトピック
因みに、何のゲームでしょうか?
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作ライブラリのエラー
返信数: 3
閲覧数: 2538

Re: 自作ライブラリのエラー

返信ありがとうございます。 解決しました!! DXライブラリが 「マルチスレッド(/MT)」「マルチスレッドデバッグ(/MTd)」でリンクする ようになっているので自作ライブラリもそれに合わせて 「マルチスレッド(/MT)」「マルチスレッドデバッグ(/MTd)」用の自作ライブラリ でなければなりません。 naohiro19のおっしゃった通りにマルチスレッドデバッグにしたところ、無事できました!! また、 #include "../Lib/main.h" #pragma comment( lib, "./Lib/Lib_test01.lib" ) ↑これを、↓こうしてみてはどうですか? #pra...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作ライブラリのエラー
返信数: 3
閲覧数: 2538

自作ライブラリのエラー

こんにちは。3Dです。 今回は、自作ライブラリのエラーについて質問があります。 デバッグ用のライブラリを作ろうと思いまして、以下のようなコードを書きました。 ( 呼び出し ) main.cpp #include "DxLib.h" #include "../Lib/main.h" #pragma comment( lib, "./Lib/Lib_test01.lib" ) int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { ChangeWindowMode( TRUE ), DxLib_Init(); MsgBox( "test" ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ChangeWindowModeについて
返信数: 7
閲覧数: 3828

Re: ChangeWindowModeについて

ログは出ていますか?

もし、よろしければログを貼り付けて下さると原因がわかるかも知れません。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録の館で
返信数: 25
閲覧数: 7733

Re: 龍神録の館で

自分のお勧めは

VisualC++2008ExpressEdition

です。軽いというだけの理由です。

あとはBCCも軽いですが導入に手間取るかと思います。
オフトピック
一応
VisualC++2010ExpressEdition
も持ってますが、これは上のより重いです。
なので自分はVC++2008を使ってます。
軽さで言えばBCCも軽いです。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 新しいファイルのつくり方
返信数: 9
閲覧数: 3363

Re: 新しいファイルのつくり方

パッと見ですか、 char quiz_cm1[150]; //テキスト一行目 char quiz_cm2[150]; //テキスト二行目 char quiz_cm3[150]; //テキスト三行目 char quiz_cm4[150]; //テキスト四行目 for( int quiz_file=0 ; quiz_file!=NULL ; quiz_file++) { FILE *quiz_file; quiz_file=fopwn("%d.txt",&quiz_file,r+); } まず、上のquiz_cm〜は #define CMT_MAX_LINE 4 #define CMT_MAX_L...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: スマートな読み込みプログラムの書き方
返信数: 17
閲覧数: 8929

Re: スマートな読み込みプログラムの書き方

みなさん、返信ありがとうございます。 風邪を引いたみたいで昨日は返信が出来ませんでした。 >>beatle様 ファイルの内容に何らかの文法があるようですね。 文法があるということは、原理的にはそれを字句解析、構文解析をするということになります。 したがって、読込部分が複雑になるのは必然ですから、それほどシンプルなプログラムには成らないでしょう。 (今のプログラムも構文解析してると思えばそれなりにすっきりしたコードだと思いますよ) ありがとうございます。自分としては、もっとすっきり書けるのではないだろうか、と考えていました。 読み込みと字句解析というかなんというか、同時にするのは如何なものかと考...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: スマートな読み込みプログラムの書き方
返信数: 17
閲覧数: 8929

Re: スマートな読み込みプログラムの書き方

返信ありがとうございます。 >>jay様 コードをスマートにしたいだけなら 1、読み込む対象のデータを構造体に纏める 2、構造体のデータをバイナリファイルとしてそのまま書きだす 3、データはバイナリファイルとして読み込む   中身は構造体として読み込まれるので、あとは構造体を格納して使うだけ というやり方があります ありがとうございます。 >読み込む対象のデータを構造体に纏める とは、 typedef struct { int nLoop;//ループ位置。この件には関係無いのでスルーして下さい。 char* pcName[2]; //曲名2つ char* pcCmt[7]; //コメント7行 ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: スマートな読み込みプログラムの書き方
返信数: 17
閲覧数: 8929

スマートな読み込みプログラムの書き方

こんばんわ。3Dです。今回はファイルの読み込みについて質問があります。 以前たてたトピック で void Music_Draw::Load_Script() { char FileName[] = "dat/bgm/musiccmt.txt"; // ファイルの名前 int i,num=0,n=0,line=0; // n曲目の判断やfor文関係 int input[128]; // 一文字読み込むのに必要 char inputc[128]; // 上に同じ FILE* fp = fopen( FileName , "r" ); // ファイルを開く if( fp == NULL ){ // ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリでマウスを使ったプログラムについて
返信数: 6
閲覧数: 3545

Re: DXライブラリでマウスを使ったプログラムについて

http://homepage2.nifty.com/natupaji/DxL ... .html#R5N8
Dxライブラリでマウス関係は使ったことないですが、上のリファレンスのサンプルコードを参考にすればいいと思います。
もしくは、マウスの入力フラグを使えばいいと思います。

#追記
サンプルコードではなくて例というところでした。サンプルコードには書いていませんね。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: サイズの違う画像分割?
返信数: 3
閲覧数: 2029

Re: サイズの違う画像分割?

やりたいことは「画像の特定の矩形を抜き出して表示したい」ですよね?間違えていたらすいません。
上のことで間違いがなければ
DrawRectGraph()DerivationGraph()があります。

使い方はリンク先をご覧ください。
(リンク先はDXライブラリ 関数リファレンスページです。怪しいサイトではございません)
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリでウィンドウが表示しない
返信数: 6
閲覧数: 2928

Re: DXライブラリでウィンドウが表示しない

すいません、余分なところまで消してしまったみたいです…

うう、お恥ずかしい…

何がともあれ、解決してよかったです。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 20章(龍神録)で、
返信数: 6
閲覧数: 2289

Re: 20章(龍神録)で、

背景画像はちゃんとありますか?
背景画像は透明ではありませんか?
パスは間違っていませんか?
ログは見ましたか?

情報が少なすぎて回答がまともに出来ません。
フォーラムルールをお読みください。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリでウィンドウが表示しない
返信数: 6
閲覧数: 2928

Re: DXライブラリでウィンドウが表示しない

SetDrawScreenは毎回呼び出すのではなくて、一度だけ呼び出すだけでいいのでは? スマホからなので誤字や脱字がありましたらすいません。 //Main.cpp #include "DxLib.h" #include "GV.h" #include "CheckKey.h" extern void CheckKeyAll(); int ProcessLoop() { if( ProcessMessage() != 0 ) { //自分はこう書きます return -1; } if( ClearDrawScreen() != 0 ) { //もしかして、これと間違えた? return -1;...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 文字幅について
返信数: 6
閲覧数: 3230

Re: 文字幅について

みけCAT様のサンプルを動かしてみて自分の考えていた動作をしていたのでそれを元に色々改造してみたいと思います。

dxライブラリにはまだまだ知らない関数がいっぱいあるのですね。驚きました。

というわけで、自分の疑問は解消したのでこれにて解決とさせていただきます。

回答して下さった皆様、本当にありがとうございました。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 文字幅について
返信数: 6
閲覧数: 3230

Re: 文字幅について

>>usao様 返信ありがとうございます。 判定の実装が{つらい/面倒/そこまでしたくない/わからん}→「人間があらかじめ判定しておく」という妥協は……ダメ? "aaaあああiiいいい9"  ↓ 手動でこう書いちゃう { "aaa", "あああ", "ii", "いいい", "9" } (+最初の文字列が半角か全角かを示すboolか何か) 出来れば妥協はしたくないのですが、どうしてもというならば諦めて妥協します。 こっからは独り言です。 みけCAT様のサンプルを動かしていて、自分の考えていた動作をしていたで、改造して可変個引数にverも作ろうとしましたが、「ン・・・」の表示が出るだけになりまし...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 文字幅について
返信数: 6
閲覧数: 3230

Re: 文字幅について

返信ありがとうございます。

>みけCAT様

サンプルコードありがとうございます。

早速コンパイルして動きを見させて頂きます。

>softya様


やはりそのような都合のいい関数やAPIはないですか…

一文字ずつ判定は思いつきましたが、実装が出来ずに諦めてしまいました。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 文字幅について
返信数: 6
閲覧数: 3230

文字幅について

お久しぶりです。3Dです。今回は文字幅についての質問です。 現在、C++が以前より使えるようになったので、また性懲りもなく東方ProjectのMusicRoom の再現をしています。その事で質問があります。 それは、全角文字と半角文字の入り交じった文を表示する時、DrawExtendFormatStringToHandleを使用して表示すると拡大率が固定なので、たとえば、半角なら拡大率を0.86f、漢字やひらがな、カタカナの場合は拡大率を1.0fにしたい時にどうすれば良いのかわかしません。自分で関数を作ってみたものの、これだと一文字目が半角だと拡大率が0.86f固定に、逆に一文字目が全角なら拡...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録15章でつまづきました・・
返信数: 14
閲覧数: 5812

Re: 龍神録15章でつまづきました・・

コードを貼る場合、コードタグを使用して下さい。 フォーラムルール をお読みください。 ログはこんな感じです。 0:システムの情報を出力します 15: DXライブラリ Ver3.04d 31: 論理プロセッサの数 : 2 62: OS Windows7 ( Build 7600 ) 178: CPU動作速度:大体2.69GHz 190: MMX命令を使用します 201: SSE命令が使用可能です 213: SSE2命令が使用可能です 223: CPUベンダ:GenuineIntel 282: CPU名:Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz 304:...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録15章でつまづきました・・
返信数: 14
閲覧数: 5812

Re: 龍神録15章でつまづきました・・

開発環境は何でしょうか?

パスは間違えてないのでしょうか?

ログに何か出ていますか?
オフトピック
個人的に
F91 さんが書きました:ちなみにやった作業はdat内のcsvに15章と新たにファイルを作ってDLしたエクセルファイルを入れただけです。
プログラム等は、原型を弄ったりしてないです。。
が気になります。恐らく、パスが間違えていると思います。取り敢えず、ログとその部分のコードを
貼って下さい。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 初心者的な質問ですが…
返信数: 5
閲覧数: 2544

Re: 初心者的な質問ですが…

はじめまして。3Dと申します。 やはりDXライブラリでプログラムを組む場合、C言語だけではちょっと力足らずでしょうか?やはりC++の知識がないときついものでしょうか?初心者的な質問ですみませんが教えていただけると幸いですm(__)m 心配ありません。C言語の知識で十分です。自分もC言語とDxライブラリでゲームプログラミングを始めましたが、特に問題はありませんでした。 余談ですが、C++の機能は使いました。 C++の機能を使うと for( int i=0 ; i<5 ; i++ ) {...} のような書き方が出来ますが、C言語だと int i; for( i=0 ; i<5 ; i++ ) {...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 宣言が正しく終了していないについて
返信数: 2
閲覧数: 4818

Re: 宣言が正しく終了していないについて

コードタグで括って下さい
ライアー さんが書きました:

コード:

int OUT(int a,int i){
	if(JT[a].flag!=0){
		x1=enemy[i].x-JT[a].x;
		x2=enemy[i].y-JT[a].y;
		x3=enemy[i].hk+JT[a].hk;
		if((x1*x1+x2*x2)<(x3*x3)){
			return 1;
		}
	}
	return 0;
}
コード全体とエラーメッセージも載せていただがないと何のエラーが出たのかわかりません。

とりあえず、このコードだけで判断すると、x1,x2,x3が宣言されていないためだと思います。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】美しいコードとは?
返信数: 16
閲覧数: 12542

Re: 【雑談】美しいコードとは?

返信ありがとうございます。 >>softya様 1.変数名、関数名、構造体名、クラス名、ファイル名に十分考慮して名前をつける。これだけでかなり変なことはしなくなります。 ※ 関数名に反するコードを書かなくなるので。 2.長くなりそうな関数はすぐさま分ける。 3.マジックナンバーはconstやenumで名前をつける。分かりやすい数値の1とか0まで名前をつけるやり過ぎに注意。 4.スコープを考慮する。 ありがとうございます。分かりやすい変数名、関数名などをつけたいと思います。 ところで、ハンガリアン記法は使用したほうがいいでしょうか?龍神録のC++版をダウンロードさせていただきましたが、変数名がm...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】美しいコードとは?
返信数: 16
閲覧数: 12542

Re: 【雑談】美しいコードとは?

皆様、返信ありがとうございます。ここ数日忙しくて返信が遅れてしまいました。すいません。 >>FUNK様 柔軟とは、関数の目的に対してより完璧に実装されていると言うことです。 例えば、目的が【文字列を出力する】というものに対し、 「マルチバイト文字は使えない」、「変数の値は使えない」といった仕様であれば、 目的を完璧に実装しているとは言えません。 その場合は新しい関数を作成するか、この関数を修正するかというコスト(作業量)が発生します。 その点、標準関数の「printf」は目的に対して柔軟に対応できていると言えます。 つまりここで言う「美」とは「機能美」の事を言っているといえます。 柔軟とは柔軟...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】美しいコードとは?
返信数: 16
閲覧数: 12542

Re: 【雑談】美しいコードとは?

>>softya様 返信ありがとうございます。 オブジェクト指向の時に勉強した使いまわしが出来るコードに似ているなと思いました。オブジェクト指向こそが本当の美しいコードなのでは?と考えましたが、オブジェクト指向は可読性が高いとは言えるのでしょうか?個人的に読みづらくなると思います。 に関して言えば、可読性が低くなるのならクラス化が適切に行われていない可能性が高いです。 つまり、オブジェクト指向を取り違えているかもです。 オブジェクト指向の理解が曖昧なので上手く分けられてないかもしれません。実際、SEクラスとPlayerクラスが上手く分けられてないと思います。(ショット音とかです あと、一番必要...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウプロシージャでブレークポイントが発生してしまいます
返信数: 5
閲覧数: 8531

Re: ウィンドウプロシージャでブレークポイントが発生してしまいます

はじめまして。3Dと申します。自分はDxlibを使っているので詳細はわかりませんが、10行目のbreak;を消して見てればいいと思います。

return で値を返したあとにbreakは必要無いと思います。

ただ、自分はウィンドウプロシージャどころかWin32APIもあまり使わないので見当違いならばすいません。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】美しいコードとは?
返信数: 16
閲覧数: 12542

Re: 【雑談】美しいコードとは?

自分の知りたい事がわかったので解決とさせて頂きます。

今後、コーディングする時には
  • シンプル
  • 可読性が高い
  • デバッグ、メンテナンスが容易にできる
  • 関数(メソッド)一つ一つを短く
を意識して書きたいと思います。
オフトピック
まともに書けるようになるには何年、いや、何十年かかることやら…
早くまともに書けるようになりたいです。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】美しいコードとは?
返信数: 16
閲覧数: 12542

Re: 【雑談】美しいコードとは?

皆様、返信ありがとうございます。 >>FUNK様 私が思う「美しいコード」ですが、 それはどんな仕様変更でもコードをより少ない改修で対応できる様に柔軟であることです。 また、より少ない演算数で動くものも美しいと思います。 ただ、この二つは結構相反してるところがあったりとしますので、 私は未だに自分は美しいコードを書けるまでには至っていないと思ってます。 ご意見ありがとうございます。もう少し伺いたいのですが、柔軟なコードとはどのようなコードでしょうか?自分は意識してコードを書いたことがないので、例を挙げて頂けると嬉しいです。 >>softya様 私にとっても美しいプログラムは永遠の課題です。 ・...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】美しいコードとは?
返信数: 16
閲覧数: 12542

【雑談】美しいコードとは?

お久しぶりです。3Dです。C++の勉強を始めてもう2ヶ月近くなりましたが、演算子のオーバーロード、仮想関数、継承辺りが危ないですが、順調に進んでいます。 さて、本題に入ります。題名の通り、「美しいコード」とは何かが知りたいです。 とあるプログラミング実況解説動画で、「あまり美しい書き方では無い」と言っていた事を不意に思い出しまして、上の通りです。 綺麗なコードと美しいコードはどこが違うのか、美しいコードの書き方、自分が考える美しいコードとは、等を教えていただきたいです。 言語はC言語、C++、Java、C#...なんでもOKです。 その方の実況解説は以下の通りです。 【プログラミング】テトリス...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: scnafでエラーになります
返信数: 5
閲覧数: 30168

Re: scnafでエラーになります

オフトピック
define文を書きましたか?define文を書けばscanfからscanf_sにする必要は無いと思います。エラーが消えたなら良いのですけど。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: scnafでエラーになります
返信数: 5
閲覧数: 30168

Re: scnafでエラーになります

始めまして。 3D_3Dと申します。長くて入力が面倒なら3Dとお呼び下さい。 codeタグの使い方が間違っていますよ。フォーラムルールをお読み下さい。 こちら です。 /*test024*/ #include <stdio.h> int main() { int seisu; printf("整数値を入力して下さい----"); scanf("%d",&seisu); printf("あなたの入力した数値は%dですね\n", seisu); return 0; } エラーメッセージを和約しますと 「エラー1エラーC4996 : ' scanf関数' :この関数または変数は安全でない可能性があ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 初心者です。
返信数: 3
閲覧数: 2957

Re: 初心者です。

情報が少なすぎます。GameProgとはなにか、OSは何を使用しているか、何をするプログラムか、などがわからなければ、手が出せません。 テンプレをお使いください。 [1] 質問文  [1.1] 自分が今行いたい事は何か  [1.2] どのように取り組んだか(プログラムコードがある場合記載)  [1.3] どのようなエラーやトラブルで困っているか(エラーメッセージが解る場合は記載)  [1.4] 今何がわからないのか、知りたいのか [2] 環境    [2.1] OS : Windows, Linux等々  [2.2] コンパイラ名 : VC++ 2008EE, Borand C++, gcc等...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

ポインタを完全に理解した訳ではありませんが、6〜7割程度は理解できました。

ですので、解決とさせて頂きます。ありがとうございました。

ポインタはじっくり勉強して完全に理解して行きたいと思います。早く理解しようと急ぎすぎました。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

返信が遅れてしまいまして申し訳ありません

>>softya様

返信ありがとうございます。

>そうです。その通りです。
>ポインタってそういう物なんですがイメージ掴めませんかね?

なんとなくイメージできましたが、まだ何か引っかかるというかなんというか...

>>ISLe様

返信ありがとうございます

>ブレイクスルーできたのでしょうかね

あと少しなんですが、その少しが大変です。

>情報の不足はありますが、回答としては正解です。
>ポインタ型の変数は、アドレスをやりとりするものだということを頭に刻み付けてください。

分かりました。あれで大体はあっていたのですね。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>softya様 返信ありがとうございます >箱のなかの紙を見て、そこに書かれている番号の箱を使うと言うことです。 >箱を1つ経由する事が間接参照となります。 なるほど、そういう意味でしたか。わかりやすい返信ありがとうございます。 >※ 答えが合っているかはわざと回答していません。 >【補足】自信を持って、これこれこういう理由でxxです。とお答えください。 ポインタ型の箱pの中の紙に書かれている数が1なので、箱1の数、即ち5となります。 >>ISLe様 返信ありがとうございます。 >変数pに代入してはいませんよ。 >仮引数の内容は、実引数で与えられた値のコピーです。 >それはポインタ型であろ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>かずま様 返信ありがとうございます。 文章が書けなくても図は描けるようになりましたか? 次のプログラムで、*q = x - y; を実行した後のすべての変数 (main の a, b, c, d と sum_diff の x, y, p, r) の関係を 図に書いてみてください。 申し訳ないのですが、投稿しようとした時に作成した画像データが消えてしまいました。もうしばらく待っていただけないでしょうか? >>どぶろく様 返信ありがとうございます。 >かずま様、いいことを言ってくれました。 >まさに、かずま様の書いたことを理解できればいいのです。 >次の段階として配列とポインタが同じように使え...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

個人的な事で返信が遅れてしまいました。皆様、回答ありがとうございます。 >>softya様 返信ありがとうございます。 >質問。 >・上記の作業後に箱pを間接参照した場合には、なんて書かれた紙を取り出すことに成るでしょうか? 箱aの5でしょうか?間接参照がよくわからないです。 >>ISLe様 返信ありがとうございます。 >文章力が無いのならなおさら、文章自体を省略せずに書くべきだと思います。 >誰も、簡潔に著せ、とは書いてないですよね。 そうでしたね。失礼しました。 void input_pad_or_key(int *p, int k){ *p = *p>k ? *p : k; } 上記の場...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>softya様 返信ありがとうございます。 >それも違いますね。キーの値でもないですし、キーコードでもないです。ましてやアドレスでもありません。 >pad.key[configpad.left]に入っている値そのものを分かっていない感じです。 >それと(1)と(2)はある一点を除いては同じ動作をするので、アドレスなんて言葉は出てこないです。 値を返すかpのポインタに代入するか、ですか? >かずまさんの説明を理解しているなら書けるはずなんですよ。 自分の文章力が乏しいため上手くかけません。頭の中ではこういうことか!とわかったつもりでも、いい言葉が思いつかないというか、何というか… >なんだろ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>softya様 返信ありがとうございます。 >「パッドの番号」って事はコード自体が理解できていない気がして来ましたが保留しておきますか? 本筋と違うんですが大きく間違っています。 >つまり、ポインタの前にこのコードの機能自体を把握できていないって事ですけど。 何か勘違いしていたようです。もう一度書きます。 (1)パッドかキーボードの入力されているパッドのアドレスかキーコード を返す ?#追記 返す ではなく、 *pに代入 です。 (2)パッドかキーボードの入力されているキーの値?を返す? でしょうか? >>かずま様 返信ありがとうございます。 >ポインタを使ったほうの関数は、最初の変数の場...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>softya様 返信ありがとうございます。 >(1)の*pと(2)のpって何が違うんでしょうか? (1)はパッドの番号のポインタ?よくわかりません。 (2)はパッドの番号を表す、でしょうか? >>かずま様 返信ありがとうございます。 >ポインタを使う方の関数の呼び出し >input_pad_or_key(&pad.key[configpad.left], CheckStateKey(KEY_INPUT_LEFT)); >ポインタを使わない方の関数の呼び出し >pad.key[configpad.left]=input_pad_or_key(pad.key[configpad.left],C...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>softya様

返信ありがとうございます。

>(1) *p = *p>k ? *p : k;
>(2) return p>k ? p :k;
>(1)と(2)のそれぞれの動作を説明してみてください。

(1)がわかりません。*pに*pかkの大きい方を代入する?ですか?
(2)はpとkで大きい方を返す

でしょうかね。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>Tatu様

返信ありがとうございます。

>pを書き換えたいからポインタを使用しているのではないでしょうか?

書き換えるのにポインタを使う必要が分からないです。
Tatu さんが書きました:

コード:

int input_pad_or_key(int p,int k){
	return p>k ? p :k;
}
pad=input_pad_or_key(pad,key);
でもいいのでは?ということです。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

考えがコロコロ変わってしまいますが、たいちう様の >「パターンとして覚える」というのは理解の放棄(延期)でしかないと思います。 で、やはりパターンではなく、ポインタを理解しようと考えました。 自分は、ソースコード中にポインタが出たときに「なぜここでポインタを使うのか?」で詰まってしまいます。 例えば、 龍神録プログラミングの館のここ の //引数1と引数2のうち大きい方を引数1に代入する void input_pad_or_key(int *p, int k){ *p = *p>k ? *p : k; } で何故ポインタを引数に?で今は詰まります。( 最初の頃はそういうもの で誤魔化してました...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>へにっくす様 返信ありがとうございます。 #私の後のISLeさんへのレスが無いみたいなので。 ISLeさんが基本パターンを挙げられているので、頭に入れておいた方がよいですよ。 すいません、ISLe様のレスを見落としていました。頭に入れておきます。 >>ISLe様 返信ありがとうございます。また、返信が遅れてしまい申し訳ありません。 パターンで覚えるというのは、ポインタを要求されたときに答える形になるので、どんなときに使うかを考える必要はありません。 なので、パターンで覚えることができても、自ら積極的にポインタを使うことにはほとんど貢献しません。 なるほど。ただ、自分の様な初心者が無闇にポイ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

すいません、夏風邪を引いたようで返信が出来ませんでした。 >>たいちう様 返信ありがとうございます。 >既に注意されているのかもしれませんが、全文引用は控えて下さい。 >必要な部分のみの引用にして下さい。スレが無駄に長くなり読みにくくなります。 すいません、以後気をつけます。 この位なら大丈夫ですよね?一応確認しておきたくて。 >>softya様 返信ありがとうございます。 >また、みんなが色々言うと混乱するかもしれませんが、これを試してみませんか? >「Visualization C Interpreterのダウンロード : Vector ソフトを探す!」 すいません、現在親のPCを借りてプ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>たいちう様 返信ありがとうございます。 元々のスレの趣旨は、こうですよね。 > と理解が曖昧です。このトピックでポインタを克服したいと思います。 何故ポインタを克服したいのかは書いていませんが、 上達したい、壁を超えたい、というのが目的ですよね? 前スレのテーマもオブジェクト指向でしたし。 私も「パターンとして覚える」というのは理解の放棄(延期)でしかないと思います。 また暫くしたら、似たようなスレを立てることになりそうじゃないですか? 3D_3Dさんは高校生のようですので、「ポインタ」を「微積分」に置き換えて考えてみましょう。 (私が高校生だったのも大昔だし、例えが変かもしれません) パ...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>へにっくす様

返信ありがとうございます。
へにっくす さんが書きました:
3D_3D さんが書きました:それでは、その都度聞くのはダメでしょうか?
それがパターンを覚えるってことだと思いますけど。
だから、結果優先でやるということは、思い通りの結果を得るまで試行錯誤することになる、と言いました。

なのでこのトピックの主旨から外れると思いますので、ここはいったん解決にした方がいいかもしれません。
【追記】私が言うことではない気がしたので、上の文言は取り消します。。
なんだかんだで試行錯誤することが一番の近道みたいですね。早速明日からやってみたいと思います
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>softya様

返信ありがとうございます。
softya(ソフト屋) さんが書きました:疑問に疑問で返しますが、どうなんでしょうか?
パターン暗記法の効能がよく分かっていない私です。
ポインタを理解しないでプログラムが書けるから初心者の鬼門などと言われるポインタを意識しなくていい、などでしょうか?
オフトピック
実際、鬼門と呼ばれているかは知りませんが。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>softya様

返信ありがとうございます。
softya(ソフト屋) さんが書きました:ポインタに関してならアプリでもゲームでも大抵は関係ないです。
ただ、どのパターンを覚えると良いかはパターンで覚えたことがないので私には難しいです。
この状況にはどうしたらよいですか?って事なら答えられるんですが。
それでは、その都度聞くのはダメでしょうか?
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>softya様

返信ありがとうございます。
softya(ソフト屋) さんが書きました:パターン法ですが話が進まないみたいので、3D_3Dさんがこういうことをやりたい!とパターンを提示したほうが良いかもしれませんね。
関数に構造体ポインタを渡して関数先で構造体を書き換えたいとか、関数から構造体のポインタを持ち帰りたいとか、関数に配列を渡したいとかね。
シューティングなどのゲームだけでなく、他のことにも使えるように「どのような時にポインタを使うか」を教えていただきたいです。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

いままでポインタを勉強していて、自分には理解できないと思いました。ですので、ポインタを理解するのではなく、パターンで覚えたいと思います。

自分がポインタを理解できるように解説して下さった皆様には本当に悪いと思います。しかし、ポインタを理解するよりもパターンで覚えた方が早いと考えました。

ですので、方針を変えまして、これからはパターンで覚えたいと思います。

身勝手なことを申し上げてしまい、申し訳ありません。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

>>へにっくす様 返信ありがとうございます。 わかりました。実体でなくポインタを示すのですね。 えっと、、上記を言いかえると、 ポインタを宣言するということは、実体でなくポインタを示す となっちゃいますけど?(^^; ポインタを宣言するということは、実体でなく 場所 を示す 、ですよ。 ポインタ型の変数を宣言すると、場所を示す値を格納する領域が確保されますが、その値が具体的な場所を示しているとは限りません。 これがよりしっくりくる。フォローありがとうございます。 ポインタを宣言する 、ではなく ポインタ型の変数を宣言すると 、ですね。 よくポインタ型の変数はNULLで初期化してるけど、これなん...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

インターネットに繋がりにくいところに居るので返信ができませんでした。 >>Lawliet様 返信ありがとうございます。 >3D_3Dさん なんだか回答の対応ばかりで受け身になってしまったような気がします。 なのでソフト屋さんも言いっているように方針を決めて状況を整理したほうがいいと思います。 今後どの勉強方法で行くのかは、3D_3Dさんに決めていただきたいと思います。 なので、とりあえず3D_3Dさんの意見を待ちたいです。 【補足】 私はCASL2アセンブラで根本から理解するという道も検討しておりました。 遠回りなんですけどね。 自分としては、もうすこし勉強して、どうしても理解できないようなら...
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを理解する
返信数: 100
閲覧数: 41985

Re: ポインタを理解する

すいません。様々な理由がありまして、返信できませんでした。

>>へにっくす様

返信ありがとうございます。
へにっくす さんが書きました:
3D_3D さんが書きました:なるほど。実体があることが保証されてないからエラーが出たのですか。ということは「構造体の実体があることが保証されていないうちに初期化処理をしようとしてエラー落ちしてしまう」ということでしょうか?
そういうことです。
ポインタを宣言するということは、場所(アドレス)を示すだけで、実体を示しているわけではないことにご注意くださいね。
わかりました。実体でなくポインタを示すのですね。
by Rittai_3D
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングで画像が表示されません
返信数: 5
閲覧数: 2283

Re: 龍神録プログラミングで画像が表示されません

画像のパスが間違ってはいませんか?
画像が存在しますか?

詳細検索ページへ移動する