検索結果 518 件

by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の圧縮について
返信数: 12
閲覧数: 1721

Re: 配列の圧縮について

言語が指定されていないので、C++で大雑把に書いてみました。 エラーチェックはしていないです。 #include <iostream> #include <vector> using namespace std; // 二次元配列のつもり using arr2 = vector< vector< int > >; // 出力 inline void printArr2( const arr2& a ) { for( auto& it1 : a ) { for( auto& it2 : it1 ) { cout << it2; } cout << endl; } } // 圧縮処理 inline...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 関数
返信数: 3
閲覧数: 536

Re: c言語 関数

何が知りたいのでしょうか。
表示ができない、というのでしたら
せっかく作った関数を呼び出してない、表示する為の処理も書いてないので表示されません。
printf() などを利用して表示するようにしてください。

あと、keisan関数の実体はどこでしょうか。宣言だけして実体を書かないなら無意味に思えます。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ステージ間ワープを作りましたが、自信がないので見てください。
返信数: 40
閲覧数: 8998

Re: ステージ間ワープを作りましたが、自信がないので見てください。

今はISLeさんやusaoさんのアドバイスをもとにコードをガンガン書きなおしているので、いったんファイル読み込みのほうは後回しにしている状態です。 それが終わり次第デバッグを行い、結果報告の際に、出来上がったコードをzipファイル形式で貼ろうと思います。 No18 の int Ground::Load(const char *dataname){     char buf[256];  // データ一時保管用配列     char comma;                     //カンマ用変数     int data = 0;       std::ifstream ifs(dat...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ステージ間ワープを作りましたが、自信がないので見てください。
返信数: 40
閲覧数: 8998

Re: ステージ間ワープを作りましたが、自信がないので見てください。

実際に数値を出力しておかしな所があるか確認しましたか? 「思います」との発言から実際にデバッグしていないものと判断しましたが、もしそうならフォーラムルールにある丸投げに当たるのではないでしょうか。 ほんとうに丸投げにはしたくないのですが、会話の流れでつい甘えが出るのか、ついアホなことを言ってしまいます。 3Dさん、ごめんなさい。 なのでこの質問がいわゆる『丸投げ』になるようでしたら、悩み自体には全く返答しなくても構いません。 返答がなかったら丸投げになってるんだなと判断して、自分でちゃんと考えます。 何でこんなこと言うかというと、今回の悩み自体が難しすぎて、どう質問したらいいのかぶっちゃけよ...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドプロンプトに図形を描きたい
返信数: 6
閲覧数: 3179

Re: コマンドプロンプトに図形を描きたい

可能です。

コード:

#include <stdio.h>

int main( void )
{
    printf( "○\n" );
    printf( "△\n" );
    
    return 0;
}
http://melpon.org/wandbox/permlink/B0B1hpjCnpq1EMBu
https://ideone.com/w8fOXw

ideone と wandbox ですが、表示ができました。
もしかしたら、環境によって正しく表示できない可能性があります。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: VC++ウィンドウサイズ
返信数: 4
閲覧数: 759

Re: VC++ウィンドウサイズ

DxLibを使用なのでしょうか?それともWin32APIなのでしょうか?
DxLibでならint SetGraphMode( int SizeX , int SizeY , int ColorBitNum ) ;でできます。

Win32APIならCreateWindow()またはCreateWindowEx()の引数に渡すことでできます。

文字の表示はDrawFormatString()でできます。
このコードでは文字色を黒、背景色が黒なので表示していないように見えないだけだと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: <解決しました>「ハンドルされない例外が 発生しました 」だそうです
返信数: 7
閲覧数: 890

Re: <解決しました>「ハンドルされない例外が 発生しました 」だそうです

タイトルに「解決しました」ではなく、解決ボタンを押してくださいね。
解決ボタンは送信ボタンの隣にあります。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: <解決しました>「ハンドルされない例外が 発生しました 」だそうです
返信数: 7
閲覧数: 890

Re: 「ハンドルされない例外が 発生しました 」だそうです

先ほどと同様でスマホからなので勘ですが、範囲外アクセスしてませんか?
あのサンプルコードはエラーチェックはしていません。
windomode関数の引数が範囲外でないかのチェックをしてみて下さい。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: <解決しました>関数のポインタの配列がうまくいかない
返信数: 7
閲覧数: 4145

Re: 関数のポインタの配列がうまくいかない

チャットでサンプルコードを書いた3Dです。

現在スマホからなので確認でませんが、そのコードを実行したらエラーが出たのですか?
それとも、どこかいじりましたか?
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数を利用した書き方がわかりません
返信数: 7
閲覧数: 830

Re: 乱数を利用した書き方がわかりません

コードを貼る場合はコードタグを使用し、適切なインデントをしてくださると見やすくて助かります。
あなたが書いたコードを貼ってください。課題の丸投げは禁止されています。

また、二つのことを一緒にするのではなく、一つの処理と一つの処理のように分割して考えた方が簡単だと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ステージ間ワープを作りましたが、自信がないので見てください。
返信数: 40
閲覧数: 8998

Re: ステージ間ワープを作りましたが、自信がないので見てください。

どのような問題があるのでしょうか? もう少し具体的にお願いします。 すいません説明不足でした。 そうですね、読み込み自体はできているのですが、 下の画像のような感じでステージのオブジェクトが下にずれるんですよね。 青いのが本来の位置で、上に重なった赤いのがずれたやつです。 たぶんレイヤーごとにファイルを読む際に、 //一枚目のレイヤー 00000 00000/*←この辺から二枚目のレイヤーとして読み込んでる?*/ 00000 //二枚目のレイヤー 00000 00100 00000 こんな感じでずれちゃってるんじゃないかなと思います 実際に数値を出力しておかしな所があるか確認しましたか? 「...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ステージ間ワープを作りましたが、自信がないので見てください。
返信数: 40
閲覧数: 8998

Re: ステージ間ワープを作りましたが、自信がないので見てください。

当り判定を外部に丸投げしてしまい、結果だけをもらう形にした方がコードがすっきりすると思います。 つまりステージの更新、Update内部で、プレイヤーが当たってるかどうかの情報を更新し、 その判定をゲッターでプレイヤーが受け取るだけ。ということでしょうか? そうです。 また、当っているかどうかの判定は当り判定クラスを通して行います。 /*あたり判定。3Dさんのインタフェースでやり取りするやつ*/ bool Stage_Mng::GroundHit(int type) const{ return mStageScene->GroundHit(type, m_player->GetHit()); ...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ステージ間ワープを作りましたが、自信がないので見てください。
返信数: 40
閲覧数: 8998

Re: ステージ間ワープを作りましたが、自信がないので見てください。

class Player で当り判定を行うのではなくて、当ったかどうかの結果が分かればよいのではないでしょうか。 わたしのコードは、Player::hit() 内では判定を行わずに、あたったかどうかの結果だけもらって、処理しています。 当り判定を外部に丸投げしてしまい、結果だけをもらう形にした方がコードがすっきりすると思います。 ほかに思ったことも書いておきます。 基底クラスには仮想デストラクタを書きましょう。 http://www.yunabe.jp/docs/cpp_virtual_destructor.html C++ ならば #define ではなくて const で定義しましょう。 ...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: クライアント領域のサイズが期待通りにならない
返信数: 2
閲覧数: 1075

Re: クライアント領域のサイズが期待通りにならない

AdjustWindowRectEx() を使ってみてはいかがでしょう。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ステージ間ワープを作りましたが、自信がないので見てください。
返信数: 40
閲覧数: 8998

Re: ステージ間ワープを作りましたが、自信がないので見てください。

イマダニ さんが書きました:途中で二度も送信してしまいました!すいません!
大体こんな感じでいいんでしょうか?
Stage.cppがどうなっているか分かりません。
また、Stage_Mgrですべての当り判定をするのではなく、ステージクラスごとに当り判定を持たせる方がよいのではないでしょうか。(ステージごとにクラスを作っている場合)
ステージクラスをステージ分用意しているのか、一つのステージクラスを用意してインスタンスを使いまわしているかで変わると思いますので、わたしは何とも言えません。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ステージ間ワープを作りましたが、自信がないので見てください。
返信数: 40
閲覧数: 8998

Re: ステージ間ワープを作りましたが、自信がないので見てください。

http://melpon.org/wandbox/permlink/NLtG2eMDfGNd3YES 汚いですがコンパイルが通る形まで持って行きました。(wandboxでコンパイルが通ることを確認済みです) コードを一応spoilタグでくくっておきます。 #include <iostream> #include <memory> using namespace std; class Interface { public : virtual ~Interface() {} virtual bool IsHit() const = 0; }; typedef shared_ptr< Inter...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ステージ間ワープを作りましたが、自信がないので見てください。
返信数: 40
閲覧数: 8998

Re: ステージ間ワープを作りましたが、自信がないので見てください。

class Stage内にclass Playerのインスタンスを作ってインターフェースクラスを 使ってやり取りするのはどうでしょう。 class Interface { public : // いろいろ省略 virtual bool IsHit() const = 0; } class Player { Interface* m_pInter; Rect m_Rect; public: void hoge() { if( m_pInter->IsHit() ) // 当たった時の処理 } Rect getRect() const { return m_Rect; } }; class Sta...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: グラフィックハンドルの数が限界数に達するということ
返信数: 15
閲覧数: 1925

Re: グラフィックハンドルの数が限界数に達するということ

/* * ウィンドウ上の(10,20)の位置に、画像の * (3 * ONE_GRAPH_X_SIZE, 0)から( ONE_GRAPH_X_SIZE , ONE_GRAPH_Y_SIZE ) * の矩形を抜き出して描画する */ の部分についてですが、LoadDivGraph()は違いますね。 たとえば、 static const int GRAPH_X_NUM = 2; static const int GRAPH_Y_NUM = 2; static const int GRAPH_NUM = GRAPH_X_NUM * GRAPH_Y_NUM; static const int GRA...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: クラス内でのString型オブジェクトの宣言
返信数: 7
閲覧数: 1757

Re: クラス内でのString型オブジェクトの宣言

#include <string>
していますか?
エラーメッセージがわからないので勘です。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: グラフィックハンドルの数が限界数に達するということ
返信数: 15
閲覧数: 1925

Re: グラフィックハンドルの数が限界数に達するということ

LiadDivGraph()のリファレンス
分割した分だけ作成されたグラフィックハンドルはHandleBufで指定した int型変数配列のポインタに順に格納されていきます。
とありますので、きちんと要素分ループして解放処理を書いてやる必要があります。

また、「LoadDivGraph DeleteGraph」と検索すれば解決法が出てきます。
他人に聞く前にきちんと調べましょう。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: グラフィックハンドルの数が限界数に達するということ
返信数: 15
閲覧数: 1925

Re: グラフィックハンドルの数が限界数に達するということ

金太郎さんの方法ですと、画像ハンドルは配列の要素 *ステージ 分必要になり、また、画像の解放処理も煩雑になります。 しかし、わたしの方法ですと画像ハンドルは ステージ分 ですみます。また、解放処理も単純になります。 グラフィックハンドルを int A[30]; と配列で宣言していた場合 解放の処理は   for(int i=0; i<30; i++){   DeleteGraph( グラフィックハンドル[i] );   } といった感じにしなければなりませんか? まとめて、こう書いたら駄目ですか?  DeleteGraph( グラフィックハンドル ); DxLibのリファレンスを読みましょう。...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: グラフィックハンドルの数が限界数に達するということ
返信数: 15
閲覧数: 1925

Re: グラフィックハンドルの数が限界数に達するということ

すいません、LoadDivGraph()の引数の内容を忘れていました。 int LoadDivGraph( char *FileName , int AllNum ,           int XNum , int YNum ,           int XSize , int YSize , int *HandleBuf ) ; LoadDivGraph() でしたね。 あくまで適当に書いたコードですので、読みやすいように書きなおすと static const int GRAPH_X_NUM = 4; static const int GRAPH_Y_NUM = 4; static co...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: グラフィックハンドルの数が限界数に達するということ
返信数: 15
閲覧数: 1925

Re: グラフィックハンドルの数が限界数に達するということ

いっそのこと、画像を一枚にまとめてしまい、まとめた画像をLoadGraph()するというのはどうでしょうか。 > グラフィックハンドルの数が限界数 とは、おそらくDxLibが一度に保持できる画像ハンドルの数です。 推測ですが、たとえば、 int hdl[ 30 ]; LoadDivGraph( "ggraph.png", 5400, 60, 90, 8, 8, hdl ); とすると、画像ハンドルを30個使用するのと同じだと思います。 手元にDxLibが扱える環境が無いので推測です。すいません。 ステージごとの画像を一枚にまとめてLoadDivGraph()せずにLoadGraph()すれば、...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: メモリリークやメモリ破壊について
返信数: 7
閲覧数: 1882

Re: メモリリークやメモリ破壊について

前にも書きましたが、スマートポインタを使ったらどうでしょうか。
スマートポインタを使えばメモリリークは(変なことをしなければ)防げますよ。

あちらで、nullptrさんがおっしゃっておりましたが、メモリダンプは根本的な解決になりません。

メモリ破壊は配列の添え字を入念にチェックするくらいしか防ぎようが無い気がします。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドプロンプトでexeファイルが停止する
返信数: 3
閲覧数: 658

Re: コマンドプロンプトでexeファイルが停止する

オフトピック
直接関係ないのでofftopicですが
atan2()に渡す引数が両方0だとまずいので、そこのチェックが必要だと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 数字を入力させて、それを反転させるプログラムについて
返信数: 23
閲覧数: 3553

Re: 数字を入力させて、それを反転させるプログラムについて

単純に

入力された桁数を求める
(計算結果用の変数を用意する)
一の位の数字を10^(桁数-1)して計算結果に足していく
十の位の数字を10^(桁数-1-1)して計算結果に足していく
・・・
のように桁数だけ繰り返していく

とすれば出来ます。
わざわざchar型配列を用意する必要はありません。

たとえば、123は123 = 10^2*1+10^1*2+10^0*3 と分解できますよね。
それを反転した数字 321 = 10^2*3+10^1*2+10^0*1 と分解できますよね。
具体的な数を用意して、上の手順に当てはめてみて考えてみて下さい。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 数字を入力させて、それを反転させるプログラムについて
返信数: 23
閲覧数: 3553

Re: 数字を入力させて、それを反転させるプログラムについて

それより、このコードはバッファオーバーランの発生の危険があります。 char charArr[ 50 ]; scanf( "%50s", charArr ); のようにバッファサイズ指定した方がよいかと。 長さの指定をバッファサイズと同じにしてしまうと、バッファオーバーランを防げません。 例えば、 #include <stdio.h> int main(void) { int a; char b[4]; int c; scanf("%x%x", &a, &c); scanf("%4s", b); printf("%x %s %x\n", a, b, c); return 0; } というコー...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 数字を入力させて、それを反転させるプログラムについて
返信数: 23
閲覧数: 3553

Re: 数字を入力させて、それを反転させるプログラムについて

別にchar型の配列を使用しなくても可能です。 入力された数字を反転する処理を手で行うとき、どうしますか? 訂正:scanfで&が突いてなかったのを修正。 char input[50],result[50]; scanf("%s",&input); int loop_len = 0;//ループの回数 for(int i=strlen(input);i>=0;i--){//最後の文字から順にresultに追加 result[loop_len] = input[i]; loop_len++; } printf("%sの反転結果は%sです。",input,result); 配列を引数に渡すのにアンパ...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 移動しました。
返信数: 2
閲覧数: 499

Re: フォーラムへ提案

http://dixq.net/forum/viewtopic.php?f=42&t=7121に書いてみてはどうでしょうか。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 制御結合について
返信数: 4
閲覧数: 906

Re: 制御結合について

課題の丸投げは禁止です。
また、コードはコードタグで囲ってください。
フォーラムルールをお読みください。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: エラーについて
返信数: 29
閲覧数: 4827

Re: エラーについて

Keyを定義してください
もしくは、Keyが定義してあるヘッダファイルをインクルードしてください。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリの音利用関数について
返信数: 12
閲覧数: 4865

Re: DXライブラリの音利用関数について

int SetLoopPosSoundMem( int LoopTime, int SoundHandle ) を使用してみてはいかがでしょうか? サンプルコードです。 #include "DxLib.h" // WinMain関数 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int SoundHandle ; // DXライブラリ初期化処理 if( DxLib_Init() == -1 ) return -1; // 音をロードする S...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 新・C言語~ゲームプログラミングの館~4.5章
返信数: 14
閲覧数: 2084

Re: 新・C言語~ゲームプログラミングの館~4.5章

// Dxlib ver 3.13b Line:861~ // DX Library Copyright (C) 2001-2008 Takumi Yamada. // パッド入力定義 #define PAD_INPUT_DOWN (0x00000001) // ↓チェックマスク #define PAD_INPUT_LEFT (0x00000002) // ←チェックマスク #define PAD_INPUT_RIGHT (0x00000004) // →チェックマスク #define PAD_INPUT_UP (0x00000008) // ↑チェックマスク // 一部省略 #define...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 新たに作ったプロジェクトファイルにソースコードをコピペすると
返信数: 1
閲覧数: 555

Re: 新たに作ったプロジェクトファイルにソースコードをコピペすると

エラーメッセージで検索してみると解決策が分かりますよ。
たとえば、ここなど。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibのリリース
返信数: 6
閲覧数: 810

Re: DxLibのリリース

Enemy* aEnemy; を Enemy* aEnemy[20]; にしてみてはどうでしょうか?
あとは、Enemy::Initialize()のIDが範囲外アクセスを起こしていないかチェックして見てください。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ARPGのようなものを作っています。
返信数: 6
閲覧数: 765

Re: ARPGのようなものを作っています。

いえ、コンパイルが通らないはわたしの勘違いでした。ideoneでコンパイルが通るのを確認しました。

コード:

class C
{
   char* str = "sample";
};
のように宣言と同時に代入を行って怒られた記憶がありましたので、コンパイルが通らないと勘違いしました。

コード:

 LoadDivGraph(img_src, 12, 3, 4, 32, 32, Image);
の部分ですが、ファイル名が変わらないのなら、メンバ変数である必要はないと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ARPGのようなものを作っています。
返信数: 6
閲覧数: 765

Re: ARPGのようなものを作っています。

一般的かどうかは分かりませんが、配列で良いと思います。 ただ、配列ですと、思わぬミス(範囲外アクセスなど)を起こす場合がありますので、STLのstd::list<>,std::vector<>などを使用したほうが安全です。 また、このコードはコンパイルが通らないと思いますが、本当に解決されたのでしょうか? #追記 すいません。ideoneで実験したところコンパイルが通りました。勘違いしておりました。 適当なことを言ってしまい、申し訳ありませんでした。 https://ideone.com/1geiYO 実験用のコード。 あまり関係ないのですが、マップの配列はconstをつけて変更できなくした方...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ARPGのようなものを作っています。
返信数: 6
閲覧数: 765

Re: ARPGのようなものを作っています。

変数の寿命についての理解はされていますか? 一度確認してみてください。 http://www7b.biglobe.ne.jp/~robe/cpphtml/html01/cpp01068.html コンストラクタ内で行っている Player::Player() { int x = 320, y = 240; } // 引数なしならこの座標 Player::Player(int xx, int yy) { int x = xx, y = yy; } は無意味です。 int x = 320, y = 240; の変数x,yはそのブロックで有効です。メンバ変数のx,yとは一切無関係です。 また、プレイ...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: C言語を初心者が学べる動画、サイトを教えて下さい
返信数: 6
閲覧数: 1294

Re: C言語を初心者が学べる動画、サイトを教えて下さい

実際に動かしながら学ぶのではダメなのですか?
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: へにょりレーザー
返信数: 9
閲覧数: 1636

Re: へにょりレーザー

夢幻ノ月夜 さんが書きました:表現できないというより
私のしたいことができない
と言うのがが正しいのではないかと
どういったことをやりたいのでしょうか?
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: へにょりレーザー
返信数: 9
閲覧数: 1636

Re: へにょりレーザー

言語が指定されていないので、C++で検索したところ、以下のサイトが見つかりました。
12.へにょりレーザー
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: フェードイン・フェードアウトの処理について
返信数: 4
閲覧数: 1300

Re: フェードイン・フェードアウトの処理について

http://dixq.net/g/h_11.htmlに書いてある
不適切な実装3. あちこちにDXライブラリ3大処理がある
に反しています。ScreenFlip()は一度だけ呼び出すようにしましょう。

また、コードが長くなっているので関数分けした方が良いと思います。

キーが押されたらフェードイン•フェードアウトステートに移動して、フェードイン•フェードアウトが終わったらメニュー画面に遷移するようにすれば良いと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックマンのティウンティウン
返信数: 7
閲覧数: 1259

Re: ロックマンのティウンティウン

an[8] が初期化されてないからだと思います。
printfDx() や DrawFormatString() で変数の値を確認すればわかると思いますが、中身は不定です。

C言語/C++においてはグローバル変数は自動的に0に初期化されますが、ローカル変数は初期化してやらないと0にならないはずです。

an.x と an.y の値を要素分確認してください。
オフトピック
変数名がわかりにくい気がします。Anime構造体は一体何のアニメーションなのかがわかるように書いてくださると可読性が上がります。

Anime an[8]; の 8も名前をつけてやりましょう。マジックナンバーは可読性を下げます
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタの基本部分についての質問
返信数: 10
閲覧数: 1791

Re: ポインタの基本部分についての質問

引数の[]は要らないと思います。
[]を外したところコンパイルは通りました。 →Ideoneでの結果
オフトピック
ドット演算子ではなくアロー演算子を使いましょう。その方が見やすいです。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 何から勉強すればいいのでしょうか
返信数: 8
閲覧数: 1686

Re: 何から勉強すればいいのでしょうか

if while forですか。本当に何もわからない状態からのスタートですがここから入って理解できるでしょうか? http://www.asahi-net.or.jp/~yf8k-kbys/n ... したが全く理解できず・・ 実際にコードを実行してみましたか?読んだだけで理解できれば(わたしの中では)天才(扱い)です。 実際に動かしてみるのと頭の中で動かすのでは理解度に差が出ると思いますので、一度実行してみたほうがよいのではないでしょうか? 実行済みでしたら申し訳ないです・・・。 わたしも最初は何も知りませんでした。while文すら知りませんでした。何度も何度も改造(書きなおし)をして自分...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックマンのティウンティウン
返信数: 7
閲覧数: 1259

Re: ロックマンのティウンティウン

構造体なのですが struct Anime{ float x, y; //座標 float a, sp; //? int cnt; //フレーム bool used; //使われているか }; Anime an[8]; //玉 int anG; //画像 ?の部分がわからず、「移動」の文でなにを行っているか 理解できないのです。 夢幻ノ月夜さんの書かれたコードですのでわたしの想像になりますが、 a は angle のことで進行方向の角度 sp は speed のことで進行速度だと思います。 for(int i=0;i<8;i++){ if(an[i].used==false)continue...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ロックマンのティウンティウン
返信数: 7
閲覧数: 1259

Re: ロックマンのティウンティウン

わからない行はどれですか?
全てですか?

具体的にわからない行を教えてください。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 何から勉強すればいいのでしょうか
返信数: 8
閲覧数: 1686

Re: 何から勉強すればいいのでしょうか

C+とはなんでしょうか?C++のことでしょうか? まずはC++ならC++の基本的な部分( if while for など ) を勉強してはどうでしょう。 プログラムは大体 if while for を覚えれば組むことが出来ます。 アセンブリ言語は学ばなくても良いのではないかと思います。 ゲーム制作は、「何か作りたい!」と抽象的ですと、自分がまず何から作れば良いかがわからなくなります。 わたしはこれの経験者です しっかりとやりたいことを決定し、やりたいことの中から必要なものを考え、考えたものをリストアップしてみると、何をすれば良いかで悩む必要はなくなると思います。 http://ja.m.wik...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 東方紅魔郷のタイトル画面の項目について
返信数: 5
閲覧数: 932

Re: 東方紅魔郷のタイトル画面の項目について

case 20://メニュー DrawGraph( 0 , 0 , title , FALSE ) ; //タイトル表示 if(CheckStateKey(KEY_INPUT_UP)==1) { if(sel > 0) sel--; else sel = 0; } if(CheckStateKey(KEY_INPUT_DOWN)==1) { if(sel < 1) func_state=21; } break; if(CheckStateKey(KEY_INPUT_Z)==1) { if(sel == 0) func_state=100; } break; ここ(16行目)のbreakの意味...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 東方紅魔郷のタイトル画面の項目について
返信数: 5
閲覧数: 932

Re: 東方紅魔郷のタイトル画面の項目について

自分は↓キーが押されたら背景の上から ”選択されている項目の下の項目が赤くなった画像”を重ねているのかと考えています。 わたしは、選択されていないときの画像と、選択されているときの画像を両方用意して、項目が選択されているかどうかを判定し、 選択されているならば画像を選択中のものに、そうでないなら、選択されていないものに差し替える、だと思いました。 本家を確認したところ、選択されていない項目は、選択されていない画像をαブレンドしているだけに見えました。 取り組んだ内容としては、case20から↓キーを押したらcase21(新しく作ったもの)へ飛び、 そこで”選択されている項目の下の項目が赤くな...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: C言語テトリス 初心者
返信数: 6
閲覧数: 1201

Re: C言語テトリス 初心者

>softyaさん

http://sp.nicovideo.jp/watch/sm8517855?cp_in=wt_tg
ニコニコ動画ですいませんが、この方のソースコードを利用したものだと思います。


No1の内容を読み間違えてしまいました。すいません。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルから読み込みたい
返信数: 9
閲覧数: 1597

Re: テキストファイルから読み込みたい

みけCAT さんが書きました:
Rittai_3D さんが書きました:
オフトピック
現在のコードではmessageは無くても困らないと思いますが、なにをするための変数なのでしょうか?代入も初期化もなにもしてない気がします。
ノダッシー さんが書きました:テキストファイルから文字列を読み込み、1行ずつchar message[0]~message[3]に代入しようと思いますが
これが目的ではないでしょうか?
すいません、見落としていました。ご指摘ありがとうございます。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルから読み込みたい
返信数: 9
閲覧数: 1597

Re: テキストファイルから読み込みたい

messageの要素を増やせばいいと思います。
オフトピック
現在のコードではmessageは無くても困らないと思いますが、なにをするための変数なのでしょうか?代入も初期化もなにもしてない気がします。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルから読み込みたい
返信数: 9
閲覧数: 1597

Re: テキストファイルから読み込みたい

while中の i が3以上になるから範囲外アクセスで落ちるのではないでしょうか。
iの値を確認してみてください。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: リンカエラーが出る
返信数: 1
閲覧数: 450

Re: リンカエラーが出る

プロジェクトを作り直してコンパイルしたところ、うまくコンパイルが通りました。
どうしてエラーが出たのか疑問が残りますが、エラーが取れたので解決とします。

ソースコードはNo.1のコードと同一ですので、提示はしません。
何か問題があればお知らせください。提示します。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: リンカエラーが出る
返信数: 1
閲覧数: 450

リンカエラーが出る

どうも3Dです。初歩的なものですが、自力でどうしても解決できないので質問させていただきます。 以下のコードをコンパイルすると main.obj : error LNK2019: 未解決の外部シンボル "public: __thiscall CJoypadInput::CJoypadInput(void)" (??0CJoypadInput@@QAE@XZ) が関数 "class std::unique_ptr<class CJoypadInput,struct std::default_delete<class CJoypadInput> > __cdecl std::make_unique<...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ヘッダファイルなどの追加でエラーがでます...
返信数: 1
閲覧数: 963

Re: ヘッダファイルなどの追加でエラーがでます...

インクルード文のパスを間違えてはいませんか?
#include "../utils.h" など、適切なパスにしてみるとよいかもしれません。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: タスクシステムについて
返信数: 2
閲覧数: 1227

Re: タスクシステムについて

小人の肩の上: [C++]メモリ確保済みタスクシステム
を参考にしてみてください。

タスクシステムには詳しくないので調べたところ、双方向循環リストっぽいですね。
連結リスト - Wikipedia
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 画面揺らし
返信数: 5
閲覧数: 2081

Re: 画面揺らし

ボムを撃ってみよう の //ドガーンとゆれる画面の処理 void dn_calc(){ if(dn.flag==1){ dn.x=(int)rang(dn.size); dn.y=(int)rang(dn.size); dn.cnt++; if(dn.cnt>dn.time){//指定された時間がたつと終わる dn.flag=0; dn.x=0; dn.y=0; } } } を呼び出すことによって画面を揺らしていると思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: if文の中について
返信数: 2
閲覧数: 578

Re: if文の中について

KEY_Get() の中身が分からないので回答ができません。
KEY_Get() の中身を提示できますか?

KEY_Get() の戻り値が3である、これ以上のことは現段階では言えません。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 実態の定義がされません
返信数: 5
閲覧数: 673

Re: 実態の定義がされません

>みけCATさん

すいません、勘違いしていました。
グローバル変数は0で初期化されていますよね。
訂正しておきます。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 実態の定義がされません
返信数: 5
閲覧数: 673

Re: 実態の定義がされません

気になったところですが、game.cpp の struct enemy_t enemy[]; 要素数が書いてありません。 void GameInit(){ ch.speed=50; ch.x=320; ch.y=500; enemy[i].x = 50; enemy[i].y = 200; enemy[i].muki = MOVE_RIGHT; } i の値は不定なのでちゃんと初期化しましょう。 【訂正】グローバル変数は0で初期化されます。勘違いでした。すいません。 また、のちの関数内で int i; があるので、18行目の i は変更したほうがよいでしょう。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 14歳からはじめるC言語わくわくゲームプログラミング教室 VS2013編
返信数: 12
閲覧数: 3490

Re: 14歳からはじめるC言語わくわくゲームプログラミング教室 VS2013編

おかしいところ(バグ)があるからデバッグするのでは?デバッグをするのはバグが出たときだけでよいと思います。 初心者ながらデバッグをしながらどこの変数がおかしいか調べてみたところgamemain.cppの56行目の変数enemyがどのような挙動を示すか見てみたところ値が7で止まらないといけないところ・・・デバッグを続けるとenemyの値が3に減少してしまいました。これが原因かなと思ったのですがどうして減少するのか原因が特定できません・・・でした・・なぜでしょうか・・? 質問を質問で返して申し訳ありませんが、kyonkyon さんは何が原因だと思いますか? ここで直接の答えを教えてしまうと、他人に...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 14歳からはじめるC言語わくわくゲームプログラミング教室 VS2013編
返信数: 12
閲覧数: 3490

Re: 14歳からはじめるC言語わくわくゲームプログラミング教室 VS2013編

ご自分でデバッグはされましたか? していないのなら、printfDx() で怪しいと思われる変数の数値を見てみましょう。おかしい部分があるはずです。 softyaさんのデバッグ講座が参考になると思います。ぜひ一度目を通してみてください。 → http://dixq.net/forum/blog.php?u=114&b=982&c=2 本を読み直し間違っている部分を考えてみたのですがよくわかりません・・(>_<) 考えるだけでなく、原因を調べてみましょう。 すいませんが間違いを見つけていただけると嬉しいです。 間違いを見つけるのはご自分でないと、今後の力にならないと思います。 DrawGraph...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 思い出話など 【雑談トピ】
返信数: 5
閲覧数: 1723

Re: 思い出話など 【雑談トピ】

新参者ですが… わたしが最初にした質問が、構造体について?だった気がします。 記憶が正しければ typedef struct { int a; int b; } test_t; test_t test; test.a = 0; test.b = 10; int main( void ) { return 0; } みたいなコードだったと思います。当時、エラーメッセージの意味がわからずに、悩みに悩んでここに質問したのは何と無く覚えています。 ここに来たのがプログラミングを始めてすぐなので、昔と今の違いが見えて面白いです。 プログラミング能力が無いので回答より質問や雑談トピックに回る方が多いですが...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ■ 新年の挨拶トピック~2015~ ■ 今年の抱負 ■ [雑談]
返信数: 14
閲覧数: 2914

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

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

今年の目標は、先を見通して行動する、です。
後は、Androidアプリを3つ作る、ですかね。

Android Studio なるものをインストールしましたが、インストールした日から一度も開いて無い…
そろそろJava苦手(嫌いなだけ?)を直したいです。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: std::out_of_rangeについて
返信数: 5
閲覧数: 1629

Re: std::out_of_rangeについて

ソースコードを読んでいませんし、"c++ 14歳から始めるゲームプログラミング"という本も読んだことがないので推測です。 配列を使用しているなら、添え字に変な値(負の数や要素数以上の数)が入っていないかどうかを調べてみてください。 また、std::vector や std::deque などを使用していて、添え字でアクセスしている場合も同様に調べてください。 ネットでググってみたのですが、原因などが全く見つかりませんでした。 エラーの内容的にどこかの変数の値がおかしくなっているのかと思い、 本の内容と実際に打ったソースを見比べましたが、見た限り間違ったところがなく、 詰まっている状況です。 o...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 文字が上手く表示されないです
返信数: 4
閲覧数: 1380

Re: 文字が上手く表示されないです

初期化関数を作って一度だけ呼べばよいのではないでしょうか。
LoadGraph() , CreateFontToHandle() を Menu_Draw() 内に書く必要はありません。

Menu_Draw() を毎フレーム呼び出すわけではないのであれば無視してください。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録の弾の角度を変更する方法
返信数: 2
閲覧数: 849

Re: 龍神録の弾の角度を変更する方法

動画が長すぎてどれのことを言っているのかが分かりません。
せめて、プレイヤーのショットなのか、敵のショットなのか、何分何秒あたりのことなのかを書いてください。
また、何がわからないのでしょうか。コードの書き方が分からないのか、原理がわからないのか、それ以外か。
おそらくプレイヤーのショットであると思いますが、どうなんでしょうか。情報が少なすぎて何とも言えません。

プレイヤーのショットだと仮定しますと、角度の変え方は、cshot_t 構造体の angle を進行方向と180度(π[rad])反転させるようにすればよいのではないでしょうか。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

なんとなくですがわかってきた気がします。

前回のリプレイのトピックからずいぶんと長くなってしまいました。
このトピックがなければ仕様策定や設計の大切さや大変さを分からなかったと思います。

個人的な理由もあり、解決とさせていただきます。回答してくださった皆様、本当にありがとうございました。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム作成エラー
返信数: 2
閲覧数: 803

Re: ゲーム作成エラー

ソースコードを貼る場合はcodeタグでくくり、適切なインデントをして頂けると読みやすくて助かります。
フォーラムルールをお読みください。

エラーメッセージは WinMain() の戻り値の msg について書いてあるのではないでしょうか。
WinMain() 内に MSG msg; と追加すればエラーは消えると思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

返信ありがとうございます。 要求があいまいということは、何がやりたいのか分かっていない、ということです。 もともと、小さいサンプルで書いていたものなので、やりたいことがあやふやというのもあり、手間取りました。 考えたのですが、 ・プレイヤーはキーコンフィグを気にしない -> 直接のキーコードは自分で定義した仮想キーコードに変換する。 ・リプレイ、キー入力の入力は区別しない -> キー入力なら上と同様、リプレイなら保存されているキーコードを渡す ・キーボードとゲームパッドの入力は統合する -> 複数の入力装置は、ひとつの入力装置からの入力とみなす。 となりました。もうすこし考えてみます。 また、...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

返信ありがとうございます。返信が遅れてしまって申し訳ありません。 設計が主旨であるはずのトピックで、要件定義すらされないのが問題だと思うのです。 それを回答者がやってしまったら丸投げ、というか設計を軽く見ることを助長すると思うのです。 要件定義は、たとえば ・キーボードとゲームパッドの入力は統合する のようなものでしょうか。今まで特に考えずにやってきたのでこの程度でよいのか、根本的に違うのか、全く分かりません。 それをすると、コントローラーが入力の実装に依存するので、コントローラーと入力の分離という大前提が崩れます。 既に説明したことですが、将来的に、現実に接続される装置と複数プレイヤーへの対...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

分からない点は、 ・キーボード入力クラスやゲームパッド入力クラスで自分で定義した仮想キーコードとDxLib.hで定義されているキーコードの対応表を作ることは良いのか悪いのか。(ゲームパッドで使用している数字は、龍神録プログラミングの館の「キーコンフィグに対応させてみよう」で使用しているような数字です。) ・コントローラークラスで、以前貼ったコードで言う CInputDeviceMgr のインスタンスを作成して良いのか。(以前、コントローラークラスでキー入力クラスのインスタンス化はよくないと言っていた気がしましたので。) よくないならどこでインスタンス化すれば良いのか。 ・キーボード入力クラス、...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

ISLe()さん、返信ありがとうございます。 このトピックは、良い設計をしたい、という主旨ではなかったのでしょうか。 Tatuさんの書いたように、3D_3Dさん自身がまとめることをずっと期待していたのですが。 あせりすぎていて、すべきことをしていませんでした。 あせり、更に混乱すると何をすべきなのか分からなくなる悪い癖です。もう少し落ち着いてするべきことを見てみます。 インターフェースかどうかは重要なのでしょうか。 まとめも大事ですが、前のスレの話の流れもよく見てください。 入力とコントローラーを分離する、という話題の提供から始まっているのです。 入力とコントローラーを分離する、というのは大前...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

ISLe()さん、Tatuさん。返信ありがとうございます。 >ISLe()さん 入力装置を総括したいなら、入力装置の範疇でするべきでしょう。 コントローラーを巻き込んではいけません。 インプットクラスがコントローラークラスに通知するのは、仮想であっても物理的なキーやボタンが押されたという情報です。 コントローラークラスがアプリケーションに通知するのは、アプリケーションで定義されるイベントやシグナルです。 右へ移動するためのキーやボタンが押された、というのと、プレイヤーを右へ動かす要求がされた、というのは異なるものです。 コントローラーは、あくまでもアプリケーション(内のオブジェクト)をコントロ...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: 人生ゲームっぽいゲームを作ってます
返信数: 19
閲覧数: 2445

Re: 人生ゲームっぽいゲームを作ってます

コードを貼る場合はcodeタグでくくってくださると読みやすくて助かります。
フォーラムルールをお読みください。

同じ数値を足し続けているので一定の回転しかしないと思います。
printfDx()やDrawFormatString()などで数値を見てみるとわかると思います。
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: スタックオーバーフローの回避方法について
返信数: 9
閲覧数: 7299

Re: スタックオーバーフローの回避方法について

変数をメインの外に移動してみて下さい。
もしくは、大きめの配列はmalloc()かnewでメモリ確保をして下さい。
malloc/newを使う場合はメモリリークしないように注意して下さい。
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

コントローラークラスはキー入力とゲームパッドクラスの入力を総括するクラスと考えています。 コントローラークラスとキー入力クラスは分ける必要がないのでしょうか。完全に混乱しています。 キー入力クラスは押されているキーコードから自分で定義した仮想キーコードの入力に変換しているつもりです。 GamepadInput.cppの for( auto& it : m_Pad ) { if( InputFlag[ it.padKeyVal ] ) { m_InputState |= it.virtualCode; } } の部分が変換になると思っていますが、違うのでしょうか? 以前に貼った http://d...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

CKeyboardInput/CGamepadInput 内の Proc() でキーテーブルを直接操作していましたが、なんとなく嫌だったので若干修正しました。 また、CController 内で typedef していたのですが、これもなんとなく嫌なので修正しました。 CVirtualController.h で typedef するようにしました。 目に付いた個人的に嫌なところは修正しました。また、これ以外の場所は変化なしです。 CGamepadInput.h #pragma once #include "VirtualController.h" #include <vector> stru...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

ゲームの仕様を以下のようにまとめました。 プレイヤー人数:1人 入力装置の種類:キーボード、ゲームパッド(各一つだけ対応。複数は対応しない) (現時点で)ゲームの進行に必要なキー(プレイヤーの操作のみ): ショット、ボム、スロー、方向キー(4つ) 現時点では、ゲームパッドのアナログ入力は対応しない。 今後、対応するとすれば、特定の値以上倒していたら入力があったとみなす。 特定の値はまだ未定。 どうしたら「後で機能を追加しても、機能専用のコードを書かなくてよ」くなるかを考えて組み立てるのが設計というものですが。 試行錯誤と行き当たりばったりは違いますよ。 そうでした・・・。 何を以てゴールにしよ...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

ISLe()さん、返信ありがとうございます。 以前、同じインターフェースを持つオブジェクトをパイプで繋ぐように結び付けることで変換等を実装できるという話をしましたよね。 というかそもそもそのあたりの話からこのトピックに繋がっているのではなかったでしたっけ。 コントローラークラスが変換クラスに依存しているので、入力クラスに対する変換クラスが常に必要ですよね。 これはどうして必須なのでしょうか。 CKeyInput/CGamepadInput は直接キーコードのみを扱い、 CConvKeyCode/CConvPadCode は仮想キーコードと直接キーコードの両方を扱い、 CController は...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

ISLe()さん。返信ありがとうございます。 何度も返信が遅れてしまい、申し訳ありません。これからも返信が遅れてしまうと思います。ご容赦ください。 「意識しないで書ける」という表現には具体性が無いですね。 語彙力がないというのは免罪符になりません。 具体的なメリットを挙げることがいま必要なのですから。 これはもはや企画…設計以前の問題です。 どうしてそれをやらなければいけないのか、という話です。 他のライブラリを使うことになったら、DXライブラリのラッパ関数を作るだけで元からあるコードをまったく変更しなくて済むかもしれません。 使用するライブラリを変更できるというメリットはそんなに重要でしょう...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: プレイヤー移動について
返信数: 19
閲覧数: 3066

Re: プレイヤー移動について

DrawFormatString() や printfDx() などを利用して数値をみて見れば分かるはずです。
ソースコードをよく読んでいないのですが、ch.imgの値を見てみましょう。
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: 改行を含んだ文字列の宣言について
返信数: 5
閲覧数: 2289

Re: 改行を含んだ文字列の宣言について

コード:

char* text =
 {
   "abcdefg"// ,(カンマ)を入れない
   "hijklmn"
};
としてみてはいかがでしょう

#追記
すいません。改行のことをすっかり忘れていました。

コード:

char* text =
 {
   "abcdefg¥n"
   "hijklmn"
};
ですね。
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: C++音げー制作にあたって
返信数: 9
閲覧数: 2497

Re: C++音げー制作にあたって

キーが押された瞬間にフラグを立てて、フラグがたっていれば音を鳴らすような処理にすればよいと思います。
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: SetWindowPos関数でサイズを変更できない
返信数: 5
閲覧数: 2190

Re: SetWindowPos関数でサイズを変更できない

SetWindowSize( w, h, 32 ) としてみてください。おそらく16が原因かと。 Dxライブラリを使用するならSetWindowPos()を使用せずに SetGraphMode( a, b, 32 ); // ウィンドウのサイズ変更 SetWindowPosition( x, y ); // ウィンドウの場所を変更 DxLib_Init(); // 上の関数より下で呼び出す必要がある? で何とかなると思いますが・・・。このあたりの関数は使用したことがあまりないので間違っていたらすいません。 http://hpcgi2.nifty.com/natupaji/bbs/patio.c...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

ISLe() さん、返信ありがとうございます。このごろ忙しく、返信が遅れてしまいました。すいません。 コントローラーはアプリケーションに依存しますから、コントローラーだけで設計を決めるということ自体が難しいのですよね。 アプリケーションフレームワークというアプリケーション全体の骨組みを固定する形まで持っていけば可能ですが。 フレームワークですか。興味があるので一生のうちに一度は作ってみたいと思っています。 関係のない質問ですが、フレームワークとやらはライブラリとは違うのでしょうか? 根本的に違うのか、途中までは同じような用途で、使用するタイミングが違うのか、そのあたりの認識があいまいです。 イ...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリを用いたシューティング作成について質問です。
返信数: 2
閲覧数: 899

Re: Dxライブラリを用いたシューティング作成について質問です。

自機の座標を上にすれば良いだけです。
同様に、敵の座標は下にすれば良いのです。

ショットは、座標更新部分を、上に発射させる処理を逆転させると出来ると思います。
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: 変数のカプセル化を守りながらのデータの受け渡しについて
返信数: 138
閲覧数: 17822

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

想像ですが、cppファイルの構造体が無名構造体なのではないでしょうか? // a.h struct Hoge_t; //前方宣言 // a.c struct Hoge_t { int val; }; は出来てますが、 // a.h struct Hoge_t; //前方宣言 // a.c typedef struct { int val; } Hoge_t; は出来てませんよ。 参考 http://www7b.biglobe.ne.jp/~robe/cpphtml/html03/cpp03012.html 前方宣言は関数のプロトタイプ宣言の構造体verみたいなものです。 外出先からなので短いで...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

>ISLe()さん 返信ありがとうございます。 参考にされてるJavaのコードで、入力情報をビットにパックしているのは、4方向デジタル入力を前提にしているからなんです… デジタル入力しか扱わない、という前提で話が進んでいるという認識で良いのでしょうか。 はい、そうです。 トピックのタイトルに『設計』とあるのに実装が主体で、前提となる仕様策定がぜんぜん進んでいない気がするのです。 わたしが 設計=実装 と考えてしまっていたことが原因です。 仕様もよく考えておらず、キーボードとゲームパッドからの入力を受け付ければいいや程度のことしか考えていませんでした。 リプレイの話題から派生しているので、プレイ...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: 変数のカプセル化を守りながらのデータの受け渡しについて
返信数: 138
閲覧数: 17822

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

enemy_order.h の中に enemy_order_enum_info_t と enemy_order_t の前方宣言を記入してください。
enemy_order.h は何もインクルードされていないので、enemy_order_enum_info_t や enemy_order_t が何なのか分かりません。
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

コードの確認を怠り、投稿したコードと書きなおしたコードを混同してしまい申し訳ありませんでした。 とりあえずクラス化したものです。ゲームパッドクラス、コントローラークラスも実装してみました。 コントローラークラスのGetState関数ではゲームパッドかキーボードのどちらかの入力か関係なく返すようにしました。 スマートポインタなど色々使用してますが、これは、C++の他の機能の勉強も兼ねているからで、とくに理由はありません。 以下、コードです。 main.cpp #include <DxLib.h> #include <memory> #include "Controller.h" using na...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

すいません、混同してました。
ファイル分割して書き直した際に、ついでに書き直してたのを忘れてました。
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

へにっくす さんが書きました:隠すべきcsKeyListをWinMainで使ってたところをみても
ちょっと怪しい印象がぬぐえませんが・・・(^^;
クラス化、がんばってください。
csKeyListってWinMainで使ってますか?
コード中の
>if( ( padState & eSHOT ) != 0 )
のeSHOTは eKeyType::eSHOT の意味で使用していたのですが。

#追記
GetPadState関数で更新処理と取得処理をまとめて書いてしまいました。すいません。
C++版は修正してありますので明日以降に投下します。
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

>へにっくすさん 返信ありがとうございます。 いちいちビットシフトしてるのが気に入りませんね。 また、WinMainでGetPadState関数で使用する配列csKeyListを持ってきてるのも変です。 完全に隠れてませんよ。 WinMain側(ゲームメイン側)からは、eKeyTypeのみで判定したいのですよね? ビットシフトがなくなってだいぶ読みやすくなりました。enumってこんな風にも書けるのか、と思いましたが、よく考えたら代入しているものは2の累乗になるから代入出来るのはあたりまえですよね。 配列や関数は、わたしの変な癖で、一旦main.cppに全て書いてからファイル分けをしていくスタイ...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

C++で上手く書けないのでC言語で一度書いてみました。C言語といってもC++の機能を若干使用しています。 今までのコードをすべて忘れて書きました。こんな感じでしょうか? #include <DxLib.h> using namespace std; #define DBG_COMMENT { DrawFormatString( 0, 0, GetColor( 255, 255, 255 ), "ぬわああああああ!" ); } #define DBG_PRINT(f) { DrawFormatString( 0, 16, GetColor( 255, 255, 255 ), "dbgData :...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: 変数のカプセル化を守りながらのデータの受け渡しについて
返信数: 138
閲覧数: 17822

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

このタイミングで投下するのは良いかどうかわかりませんが、以前書いたと言っていたコードを載せます。載せる載せると言っておいて載せないのはどうかと思いましたので。 いろいろなコードをみて混乱するかもしれませんので言っておきますと、わたしが書いたコードは拡張性が無く、変数を隠すことを主な目的とした物です。ISLe()さんのコードのように、これから先を見越した設計にはなっておりません。「ふーん、変数を隠しても動くんだ」程度にご覧ください。あくまでも、カプセル化を意識したサンプルです。ので、わたしのコードに囚われないようにしてください。 また、デバッグコードも残っていたり、色々とエラーチェックを省いて...
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

ここ最近とても忙しく、コードを書く時間が全く取れずに返信が遅れてしまいました。

忙しいなりに色々考えてみましたが、やはり理解が出来ていないようで、空き時間などを利用してコードを書いてみましたが、ISLe()さんのおっしゃっていたDxライブラリのラッパーにしか見れません。諦めたわけではないですが、正直、思いつく気がしません。

これからさらに忙しくなり、返信が更に遅れると思います。なんとしてでも完成はさせます。
by Rittai_3D
5年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力クラスの設計
返信数: 49
閲覧数: 9899

Re: キー入力クラスの設計

ISLe()さん、へにっくすさん 返信ありがとうございます。 >ISLe()さん 3D_3Dさんが1人で両手を使って1つのキーボードを使っている 3D_3Dさんが2人いて右手と左手それぞれの担当に分かれて1つのキーボードを使っている 3D_3Dさんが2人いて右手用のキーボードと左手用のキーボードに分かれてそれぞれ使っている というのはぜんぶ結果としては同じことなんですよ。 2人いる3D_3Dさんや2つあるキーボードをそれぞれ別のものとして扱うことができれば、そのままいくつも増やしていけます。 想像できますか? キーボードやゲームパッドを上から見てませんか? なんとなくですがイメージできました。...

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