検索結果 514 件

by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドプロンプトに図形を描きたい
返信数: 6
閲覧数: 2895

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
閲覧数: 723

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
閲覧数: 7459

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
閲覧数: 1784

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
閲覧数: 1600

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

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

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

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

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

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

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

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
閲覧数: 1784

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
閲覧数: 1751

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

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

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

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

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

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

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
閲覧数: 3284

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
閲覧数: 3284

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
閲覧数: 471

Re: フォーラムへ提案

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

Re: 制御結合について

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

Re: エラーについて

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

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
閲覧数: 1982

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
閲覧数: 541

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

エラーメッセージで検索してみると解決策が分かりますよ。
たとえば、ここなど。

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