検索結果 518 件

by Rittai_3D
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 戦闘画面中に画面を切り替えてポーズ画面を作製したいのです
返信数: 5
閲覧数: 967

Re: 戦闘画面中に画面を切り替えてポーズ画面を作製したいのです

とりあえず、こういう方法もあります。 これ以外にもたくさん方法はありますので、色々試してみてください。 実行結果 https://wandbox.org/permlink/50lJJ2lhiCCPj0h2 #include <stdio.h> struct scene_t { void ( *proc )( void ); void ( *draw )( void ); }; void title_proc( void ) { // とくになにもしない } void title_draw( void ) { printf( "たいとる〜\n" ); } void battle_proc( vo...
by Rittai_3D
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の文字ずらしについて
返信数: 1
閲覧数: 734

Re: 文字列の文字ずらしについて

コードを貼るときは code タグで囲っていただくとソースコードがみやすくなりますので、次回以降は
[ code][ /code](半角スペースは [] 内に存在しないように消してください)
で、適切なインデントを行ったソースコードを囲ってください。

asciiコード で調べると幸せになれると思います。
両方上のリンクをみてもらえればわかるかと思います。
by Rittai_3D
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する
返信数: 13
閲覧数: 1359

Re: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する

DXライブラリの processMessage() の while ループの意味を理解していませんね。 というより、コードの各行がどのように動いて次の行に行くのかを理解していません。 DXライブラリのループは理解が至ってない部分もありますが、コードの各行くらいどのように動いているかわかります。 わかっているなら 関係ないですが、リンク先の88行目、prokey は 0 or 1 で、89行目で1、90行目で2になると思うのですが、どういう意図でこのコードを書いたのでしょうか? Ouxiyさんの言葉でこの説明をしてください。 まずはコーディング以前に Ouxiyさんはまずやりたいことを細分化し...
by Rittai_3D
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する
返信数: 13
閲覧数: 1359

Re: R(ロックオン)キーを押した後、A(攻撃)キーを押して攻撃する

どうにかしてRキーを押した後、Aキーを押して精度よく一度押しただけで攻撃でるように出来ないでしょうか。 Rキーを押したあと、一定の時間内にAが押されたら攻撃、という風にすればいいと思います。 一定の時間はご自分の好きな時間を設定してください。 後、相手の陣地に踏み込んだ後、相手の陣地に踏み込む前の座標に自分が戻るようにしたいのですが、その場合は変数をもう一つ作り作ったほうがいいのでしょうか。 方向キーが押されたタイミングで、次進む予定の座標が敵の陣地かどうかを確認し、そこが敵の陣地であれば、いったんそこにプレイヤーを移動させた後好きなタイミングで元の座標に戻す、という処理でいいと思います。 ...
by Rittai_3D
1年前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式はいらない子?
返信数: 11
閲覧数: 1363

Re: ラムダ式はいらない子?

ラムダ式は「その場でスグに関数が作れる」ところが利点だと思います。 が、「ラムダ式は本当に必要なのか?別に必要ないのでは?」と疑問を抱いている間には有用性に気がつかないものでしょう。 もっと言うと、ラムダ式を使う必要がないと思うならば使わなくても問題がないので、「あ、ここでラムダ式使うと便利だ!」ということがある時までに使わなけば有用性に気づくと思います。 実行結果 https://wandbox.org/permlink/131rlsvBgffvjyYL #include <iostream> #include <array> #include <algorithm> void show_o...
by Rittai_3D
1年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム配布時、CSVが詰まったフォルダをなんとかしたい
返信数: 7
閲覧数: 804

Re: ゲーム配布時、CSVが詰まったフォルダをなんとかしたい

CSVファイルが入ったディレクトリをDxArchiveでまとめるのは何か問題があるんでしょうか。 どんな方法で隠蔽しようとハッカー並みの知識があれば解読できるのは承知していますが そこまでとはいいませんが、鍵もかけず情報丸出しというのもつまらないので せめて形だけでもCSVを詰めたフォルダを開けない、 鍵がかかって見れない等の処理ができればと思うのですが、、 DXArchiveみたいな気の利いたツールはありませんでしょうか? パッとは思いつきませんが、 Lhaplus 等を用いてZIP形式などでまとめてしまう(デコード部分を自分で書く必要があるかもしれません)か、自作するのが良いと思います。
by Rittai_3D
1年前
フォーラム: C言語何でも質問掲示板
トピック: マップに格納したグラフィックハンドルを取得する方法
返信数: 4
閲覧数: 562

Re: マップに格納したグラフィックハンドルを取得する方法

オフトピック
直接関係ないですが、C++を使うのならば const char* ではなく std::string を使った方が便利だと思います。
by Rittai_3D
1年前
フォーラム: C言語何でも質問掲示板
トピック: マップに格納したグラフィックハンドルを取得する方法
返信数: 4
閲覧数: 562

Re: マップに格納したグラフィックハンドルを取得する方法

しっかりとコードは読んでいませんが、Image::getImage() で return it->second; していないからではないでしょうか。
by Rittai_3D
2年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館2について_C++基礎
返信数: 3
閲覧数: 911

Re: 龍神録プログラミングの館2について_C++基礎

1. https://cpprefjp.github.io/lang/cpp11/defaulted_and_deleted_functions.html 「default 指定子」で検索してみてください。 コンパイラがコンストラクタ/デストラクタを自動生成することを明示します。 2. 「デストラクタ」で検索してみてください。 オブジェクトが解体されるときに呼ばれます。 参考 わかりやすいように一つ余分にブロックを追加しています。 #include <iostream> class test { public: test() { std::cout << "constructor" << st...
by Rittai_3D
2年前
フォーラム: C言語何でも質問掲示板
トピック: c++ 範囲forとイテレータについて
返信数: 3
閲覧数: 879

Re: c++ 範囲forとイテレータについて

32行目が参照になっていないから代入できていないのではないでしょうか。 実行結果 #include <string> #include <iostream> #include <vector> #include <initializer_list> using namespace std; class CSign { public: int id; string sign; int value; CSign(const char* s) : sign(s) {} ~CSign() {} friend ostream& operator<<(ostream& os, const CSign& c...
by Rittai_3D
2年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの宣言の仕方について
返信数: 5
閲覧数: 615

Re: クラスの宣言の仕方について

デフォルコトンストラクタを追加したら動きました。 #include <random> #include <iostream> using namespace std; class Sample{ public: Sample() = default; Sample(int rand):menber(rand){}; int getRand(); int menber; }; int Sample::getRand(){ std::random_device rand; return(rand()%100); } int main(){ Sample sampleA; sampleA=Sampl...
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: C++11,14のラムダ関数について
返信数: 7
閲覧数: 1140

Re: C++11,14のラムダ関数について

(1 )  Lambda関数のコード量が多い場合、 ある関数の途中にいきなりLambda関数のコードが挿入されたら、アルゴの流が悪くなりますね。 >アルゴの流 が何なのかわからないですが、この場合、個別に関数を用意すればよいのではないでしょうか。 ラムダ式は 「ラムダ式(lambda expressions)」は、簡易的な関数オブジェクトをその場で定義するための機能である。 ( http://cpprefjp.github.io/lang/cpp11/lambda_expressions.html ) とある通り、その場で関数を用意します。コード量が長いものはラムダ式にするべきではないと思い...
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: C++11,14のラムダ関数について
返信数: 7
閲覧数: 1140

Re: C++11,14のラムダ関数について

ただ、書かれた例文の中に下記の文の中にvecは定義済みで、 vは分かりません。 for_each( begin( vec ), end( vec ), []( int& v ) { cout << v << endl; } ); もう一度ご説明お願いできますか。 vは普通の関数でも使う仮引数です。 #include <iostream> #include <algorithm> #include <utility> #include <vector> using namespace std; void output( int& v ) { cout << v << endl; } int m...
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: C++11,14のラムダ関数について
返信数: 7
閲覧数: 1140

Re: C++11,14のラムダ関数について

当方C++初心者レベルなので間違えていることを言っていたら申し訳ないです。 Q1: どんな場合ラムダ関数を使うと便利になりますか。 このようなコードを書いてみると便利さがわかるかと思います。 #include <iostream> #include <algorithm> #include <utility> #include <vector> using namespace std; struct show { void operator()( int& v ) { cout << v << endl; } }; int main() { vector< int > vec { 1, 2, ...
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: Dxlibで3Dモデルを読み込むと例外が発生してソフトが強制終了する
返信数: 4
閲覧数: 951

Re: Dxlibで3Dモデルを読み込むと例外が発生してソフトが強制終了する

モデルをDxLibModelViewerで読み込んでみたところ、(32bit/64bit)ともに「動作を停止しました」ダイアログが出ました。
おそらくモデル側の問題かと思われます。

また、記載してあるコードも変数が未初期化のままインクリメントされていたり、ソースにも問題があると思います。
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: C及びにDxLibのファイル分け
返信数: 4
閲覧数: 768

Re: C及びにDxLibのファイル分け

作る人 さんが書きました:ところで、今回player.cppにplayer.hをincludeすることで解決できましたが、これはplayer.cpp自体にもかくかんすうのプロトタイプ宣言が必要
という考え方でいいのでしょうか?
player.cppに書く必要はないです。
作る人 さんが書きました:また、新・ゲームプログラムの館のd.4章ゲームの設計と分割コンパイル(2)の中のPlayer.cpp では、Player.hをincludeしていないようですが、
今回の場合とどのように異なるのでしょうか?
おそらくDixqさんの書き忘れでしょう(あくまで想像ですが)。
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: C及びにDxLibのファイル分け
返信数: 4
閲覧数: 768

Re: C及びにDxLibのファイル分け

player.cppで
#include "player.h"
してますか?
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: 画像を読み込むだけでハンドルされない例外
返信数: 9
閲覧数: 1122

Re: 画像を読み込むだけでハンドルされない例外

namari さんが書きました: 関係ないんですが、このバグ修正中にうっかりコピー前のコードを一部削除してしまったんですが、
visual C++に履歴機能はないんでしょうか……一回ウィンドウを消してしまったのでctrl+Zは使えません……。
おそらく無理でしょう。 今後はバージョン管理ツールを利用するとよいかと思います。
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: 画像を読み込むだけでハンドルされない例外
返信数: 9
閲覧数: 1122

Re: 画像を読み込むだけでハンドルされない例外

すいません。 コンパイラは Visual Studio 2015 Community を使用しています。 以下が実験用のコードです。 #include <DxLib.h> int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { ChangeWindowMode( TRUE ), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); int img; while( !ProcessMessage() ) { ClearDrawScreen(); img = LoadGraph( "dat/test....
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: 画像を読み込むだけでハンドルされない例外
返信数: 9
閲覧数: 1122

Re: 画像を読み込むだけでハンドルされない例外

こちらの環境では再現出来ませんでした。 Windows 7 Home Premium 64bit DxLib ver 3.14f メインループで画像を読み込まないようにしたこのコードを試してみてください。 #include "../../../include/DxLib.h" //ループで必ず行う3大処理 int ProcessLoop(){ if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す return 0; } //ゲームの大...
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: 画像を読み込むだけでハンドルされない例外
返信数: 9
閲覧数: 1122

Re: 画像を読み込むだけでハンドルされない例外

ざっと見た感じは問題が無いようです。
ちなみに、ProcessLoop() の中身はどうなっていますか?
オフトピック
直接関係ないですが、毎フレーム画像を読み込むのではなくて、メインループに入る前に読み込むべきです。
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: エラー詳細
返信数: 16
閲覧数: 1996

Re: エラー詳細

ノウル さんが書きました:それと、ここのサイトで、一番最初に提示したコードをC++15でコンパイルした結果、
何のエラーも出ず無事コンパイルできました。
チタンさんのコンパイラのバージョンや、古いコンパイラを使っているのが原因かもしれません、できれば更新してみたほうが良いと思います。
オフトピック
C++15って何でしょう。C++14のことなのか、MSVS 2015 のことを言っているのか。
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: 引数を内部で判断する方法
返信数: 5
閲覧数: 1374

Re: 引数を内部で判断する方法

コードを張る場合はcodeタグを使用してください。 オーバーロードを使用すれば良いのではないのでしょうか。 #include <iostream> using namespace std; class A { public: A() = default; ~A() = default; public: void func( A* a ) { ( void )a; cout << "prm : pointer" << endl; delete a; a = nullptr; } void func( A& a ) { ( void )a; cout << "prm : reference" <<...
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: 年末からC言語を始めました
返信数: 11
閲覧数: 2511

Re: 年末からC言語を始めました

初めまして。Rittai_3Dと申します。
Field Bloom さんが書きました:printfで済むような事をなぜcharでやらなければならないのか理解できません
Field Bloom さんが書きました:全ての文は何も見ないで書けるようになるまで何十回も書いて覚えて頑張ってきましたが、
この文章なのですが、意味が分からないです。何をcharでやるのか、また全ての文が何なのかが分かりません。
Field Bloom さんが書きました:charの概念が理解できません。
http://e-words.jp/w/char%E5%9E%8B.htmlここが参考になりませんか?
ちなみに、「char 意味」で調べたら2つ目に出てきました。
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: テンプレートを使ったゲーム開発
返信数: 3
閲覧数: 1120

Re: テンプレートを使ったゲーム開発

趣味でゲームプログラミングをしていますが、あまりテンプレートを使う機会はないですね(あくまで個人の感想)。 ときどき、 template< class T, std::size_t N > constexpr auto get_array_num( T (&)[ N ] ) { return N; } というような関数は使いますけど・・・。 実際に書くとしたら template< class T > struct Rect_t { T top, bottom; T left, right; // その他のコンストラクタ・オペレータのオーバーロード等を実装する }; // こうやって使う voi...
by Rittai_3D
3年前
フォーラム: C言語何でも質問掲示板
トピック: boostのshared_ptrについて質問
返信数: 2
閲覧数: 896

Re: boostのshared_ptrについて質問

C++11/14を使えばBoostを使わなくても問題ありません。 http://melpon.org/wandbox/permlink/UamjSFw0KzZr0R80 #include <functional> #include <thread> #include <iostream> using namespace std; class Sample { public: typedef std::shared_ptr< Sample > ptr; Sample(): x(0), y(0) { }; static ptr new_() { // ptr new_(new Sample); /...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルのロード
返信数: 17
閲覧数: 2930

Re: ファイルのロード

1.「ヒープ用メモリの確保に失敗しました」と「音声ファイルを格納するメモリ領域の確保に失敗しました」と「Sound File Setup Error : C:\{ファイル名}.ogg{や.mp3}」について解説をお願いします! 2.上のそれぞれにおいての対策(処理)の必要の有無を教えてください! 3.もし対策が必要なら、その方法を教えてください! 「DxLib ヒープ用メモリの確保に失敗しました」と「DxLib 音声ファイルを格納するメモリ領域の確保に失敗しました」で検索すれば解決策が出る・・・と思っていて調べましたら、出てこないのですね・・・。 予想ですが、「ヒープ用メモリの確保に失敗しま...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 教えてください
返信数: 3
閲覧数: 668

Re: 教えてください

ソースコード #include<stdio.h> #define PLAYER_MAX (2) typedef struct { char name[21]; } PLAYER; int main(void) { PLAYER player_data[PLAYER_MAX]; int i; int player_suu; printf("%dプレーヤー数を入力してください。\n", PLAYER_MAX); scanf("%d", &player_suu); PLAYER* pt_player_data; while (player_suu > PLAYER_MAX || player_su...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 半角文字'%'が表示されなくなった
返信数: 7
閲覧数: 816

Re: 半角文字'%'が表示されなくなった

実験してみようと思いましたが、

コード:

WinMode
ExtendRateX
ExtendRateY
ExtendRateA
font[]
fontEx[]
DesktopSizeX
DesktopSizeY
WIN_X
WIN_Y
が分からないのでコンパイルが通りませんでした。
また、Dxライブラリのバージョンも教えてください。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 格納
返信数: 119
閲覧数: 19485

Re: 格納

全体のコードが無いと何行目と書かれても分からないので、全体のコードを載せてください。
ライトニング さんが書きました:int i;の宣言場所が悪いのでしょうか?
ぱっと見は問題が無いように思います。
どうしてそのように思われたのですか?
オフトピック
ブロックの省略はバグのもとですので、一行だから、と省略しないで書いた方がよいと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 数列の作成
返信数: 19
閲覧数: 3812

Re: 数列の作成

drake さんが書きました:(1,3,5,9,20....n)のような 前の数を足し合わせた数よりおおきくなっていくような数列を作りたいのですが
どうしたら良いでしょうか?
この数列の一般項は分かりますか?
drake さんが書きました:どのような関数を使うかなやC言語でのどの部分を学ぶべきかやこのプログラミグソースを1度みるべきなど何かアドバイスをお願いします。
ピンポイントな関数もサンプルコードも存在しないものだと思ってください。基本的には自分で作るものです。
強いて言うなら数学の勉強をした方がよいと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: データメンバのクラスをpublicで持ってもいいのでしょうか?
返信数: 6
閲覧数: 516

Re: データメンバのクラスをpublicで持ってもいいのでしょうか?

cout << tama.name.getName() << endl;    //  CatのnameをpublicにすればOKだけど。。。 これ、ぱっと見た時に違和感を感じませんか?個人的には"name.getName()"でnameが被っているのが気になります。 tama.getName(); で十分意味が通りますし。 Name name;  //  has_a   Nameクラスの責任はNameクラスが負うのでPublicでも問題ないのでしょうか? よくないと思います。 例えば、 // いろいろ省略 int main() { Cat tama( "たま" ); tama.name =...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: データメンバのクラスをpublicで持ってもいいのでしょうか?
返信数: 6
閲覧数: 516

Re: データメンバのクラスをpublicで持ってもいいのでしょうか?

哺乳類クラスや動物クラスがnameを持つことが ピンときませんでした。 動物などの抽象的なものが具体的な名前を持つのが不自然、ということでしょうか。 でしたら、nameという具体的なものを動物クラスで持たせず、派生先で持たせて、親クラスに具体的なものを扱う為の仮想関数を書いておけばよいのではないでしょうか。 class Animal { public: /* コンストラクタ・デストラクタは省略 */ virtual void SetName( const std::string& name ) = 0; virtual std::string GetName() const = 0; }; ...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: DrawFormatStringToHandle関数を拡張(?)したい
返信数: 8
閲覧数: 1001

Re: DrawFormatStringToHandle関数を拡張(?)したい

分かりやすそうなサイトがありましたので、 http://wisdom.sakura.ne.jp/programming/c/c62.html からva_start と va_end の解説を引用します。 void va_start(va_list リスト , prev); リストには、引数リストへのポインタを指定します これは、可変個の引数の情報を保持するための stdarg.h で定義されている標準型です pervは、最初の可変個数の手前の固定引数を指定します(最後の固定引数) この時点で va_list 型の変数に、可変引数の情報が格納されます 次に、この va_list 型変数から、順に...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: DrawFormatStringToHandle関数を拡張(?)したい
返信数: 8
閲覧数: 1001

Re: DrawFormatStringToHandle関数を拡張(?)したい

可変長引数 で調べると幸せになるかもしれません。

http://hitorilife.com/verargs.phpなどが参考になるかもしれません。

#追記 Dixqさんと被ってしまった・・・
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: scanfについて教えてください
返信数: 2
閲覧数: 306

Re: scanfについて教えてください

コードを載せる場合はcodeタグを使用してください。 フォーラムルール をお読みください。 そもそもこのコードは動きません。→実行結果です http://ideone.com/ddfQkm 正しく書きなおしたところ、10となりませんでした。 #include <stdio.h> int main( void ) { double x; scanf( "%lf", &x ); x = x + 10; printf( "%f\n", x ); return 0; } 実行結果→ http://ideone.com/CLWfrf 開発環境とどらえもんsさんが書いたコードを教えてください。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームのシーン変更について
返信数: 7
閲覧数: 579

Re: ゲームのシーン変更について

GameM.cpp内の必要な部分より前で定義すればよいです。

コード:

// GameM.cpp
static sin fl;

void Init()
{
    /* 初期化 */
}

void Proc()
{
    /* 何か */
}
とすれば Init() でも Proc() でもflが使用できます。

コード:

// GameM.cpp

void Init()
{
    /* 初期化 */
}

static sin fl;

void Proc()
{
    /* 何か */
}
とすれば Init() 内ではflは使用できませんが Proc() では使用できます。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームのシーン変更について
返信数: 7
閲覧数: 579

Re: ゲームのシーン変更について

GM_riset()内で宣言してある fl はGM_riset()内でのみ使用できます。
それ以外の場所では使用できません。

変数の寿命についての理解を深めましょう。
http://homepage3.nifty.com/mmgames/c_guide/12-01.htmlこの辺りが参考になるかと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: scanfでdoubleがうまく反応しない
返信数: 4
閲覧数: 673

Re: scanfでdoubleがうまく反応しない

解決でしたら「解決!」ボタンを押してトピックを解決にしてください。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: scanfでdoubleがうまく反応しない
返信数: 4
閲覧数: 673

Re: scanfでdoubleがうまく反応しない

scanf()の第二引数はポインタなので、そのコードの a を &a にして見てください。

コード:

scanf( "%lf", a );
/* を */
scanf( "%lf", &a );
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 11000000111001を10進数に変換
返信数: 2
閲覧数: 336

Re: 11000000111001を10進数に変換

2の0乗は1ではないでしょうか。

コード:

11000000111001(2) =
 1*2^13 + 
 1*2^12 +  
 0*2^11 +  
 0*2^10 +
 0*2^9 +
 0*2^8 +
 0*2^7 + 
 0*2^6 +
 1*2^5 +
 1*2^4 +
 1*2^3 + 
 0*2^2 + 
 0*2^1 +  
 1*2^0
= 12345
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 文字の一致と、部分一致について
返信数: 8
閲覧数: 1517

Re: 文字の一致と、部分一致について

文字列の比較にはstrcmp()を使用すればよいです。
また部分一致にはstrncmp()を使用すればよいと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: ドーナツ型の円を複数描きたい
返信数: 6
閲覧数: 880

Re: ドーナツ型の円を複数描きたい

DxLib::DrawCircleGauge()を使ってみてはどうでしょうか。

参考になれば→http://ktstg.blog.shinobi.jp/Entry/826/
リンク先では中抜きではないですが、中心が透過してある画像を用いればできるかと思います。

※実験していませんし、もしかしたら、やりたいことを履き違えているかもしれません。もしそうならすいません。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 【DxLib】マップの壁について
返信数: 13
閲覧数: 2022

Re: 【DxLib】マップの壁について

//px、pyはプレイヤーの現在の座標位置です int kx = px, ky = py; if (Key[KEY_INPUT_LEFT]) { kx -= 10; } if (Key[KEY_INPUT_RIGHT]) { kx += 10; } if (Key[KEY_INPUT_UP]) { ky -= 10; } if (Key[KEY_INPUT_DOWN]) { ky += 10; }     //ここからが壁判定になります     //1でないときは移動する、というコードです if (map[ky / 32][kx / 32] != 1) { px = kx; py = ky;...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 14歳からはじめるC言語わくわくゲームプログラミング教室2013について
返信数: 9
閲覧数: 1272

Re: 14歳からはじめるC言語わくわくゲームプログラミング教室2013について

softya(ソフト屋) さんが書きました:気になるのは、g_akey_prevが初期化されていないことでしょうね。
デバッガでブレークポイントを使ってIsAKeyTriggerの動作を確認してみてください。
PAD_INPUT_AでZきーは検知できたはず(未検証)。
グローバル変数は0で初期化されるので問題はないのではないでしょうか。
検証結果です→http://ideone.com/Te9u9i

ただ、変数を初期化する関数を用意したほうが良いと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 14歳からはじめるC言語わくわくゲームプログラミング教室2013について
返信数: 9
閲覧数: 1272

Re: 14歳からはじめるC言語わくわくゲームプログラミング教室2013について

見た感じ、Zキーの入力処理が書いていないので、Zキーを押してもうんともすんとも言わないのではないでしょうか。
また、main()にreturn が2つあるのが気になります。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体 引数
返信数: 2
閲覧数: 861

Re: 構造体 引数

エラーメッセージが書いていないので、どんなエラーか分かりません。
とりあえず、インクルード文の追加と余計な文字を削除してwandboxで実行したところ、コンパイルが通り、エラーが出ませんでした。

実行結果→http://melpon.org/wandbox/permlink/fDqBe3151YfK7MIC

プログラムがあっているかどうかは、実験していないので分かりません。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 大学生
返信数: 9
閲覧数: 1104

Re: 大学生

>usaoさん 言われて気がつきましたが、書き変えてしまうのはまずいですね・・・。 先ほどのコードを以下のように修正します。 #include <stdio.h> int main( void ) { char str[] = "kitty on your lap"; char* a = NULL; /* char* 型のポインタ、というイメージ */ char* *b = NULL; /* char* と char[] はシンタックスシュガー */ a = str; b = &a; /* 出力 */ printf( "%s\n%s\n%s\n", str, a, *b ); /* char*...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 大学生
返信数: 9
閲覧数: 1104

Re: 大学生

解決後ですが、説明を書いてみました。 わたしもポインタ関連は苦手なので、間違えている部分もあるかもしれません。 #include <stdio.h> int main( void ) { char str[] = "kitty on your lap"; char* a; /* char* 型のポインタ、というイメージ */ char* *b; /* char* と char[] はシンタックスシュガー */ a = str; /* こう書いた方が分かりやすい? */ /* b = &a; */ *b = a; /* 出力 */ printf( "%s\n%s\n%s\n", str, a, ...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: フラグ変数は構造体に纏めた方がよいのか
返信数: 2
閲覧数: 1081

Re: フラグ変数は構造体に纏めた方がよいのか

前のトピックを読んでいませんので、話が見えてきませんが、わたしは、まとめるべきでないと思います。 言語が書いてありませんのでC++と仮定します。 「フラグをまとめる」という意味がよくわかりませんが、触れる必要がない変数には触らないようにすべきです。 たとえば、 struct Flags_t { bool bHoge; bool bFoo; bool bBaa; Flags_t( bool hoge = false, bool foo = false, bool baa = false ) : bHoge { hoge }, bFoo { foo }, bBaa { baa } { } }; と...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: Visual studioのエラーについて
返信数: 3
閲覧数: 829

Re: Visual studioのエラーについて

exeファイルを削除する必要はないと思います。
タスクマネージャなどでtraining1.exeのプロセスを終了させてみてください。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列を逆にするプログラム
返信数: 4
閲覧数: 1146

Re: 文字列を逆にするプログラム

せっかくC++で書いているなら #include <iostream> #include <algorithm> std::string rev( std::string s ) { std::reverse( s.begin(), s.end() ); return s; } int main() { auto src = std::string { "This is a test." }; auto dst = rev( src ); std::cout << src << std::endl; std::cout << dst << std::endl; } とか。 コンパイルはしていま...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: プログラム教えてください!!
返信数: 5
閲覧数: 1041

Re: プログラム教えてください!!

まずは日本語で処理を書いてみてはいかがでしょうか。
sim さんが書きました:標準入力から5人分の科目A.科目B.科目Cを入力して、配列に格納し、それぞれの番号、科目A、科目B、科目Cな学生別合計点を表形式で出力する。
番号は入力順 に1から自動採番する。
この文章から必要な要素を抜き出し、要素が出揃ったら、処理を日本語で考えます。
日本語で処理が書けたら、それを実装すれば完成です。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: マージソートの問題
返信数: 5
閲覧数: 1117

Re: マージソートの問題

C言語でしょうか?
C言語は後方参照ができません。merge()をmSort()の前方で実装する、もしくは、プロトタイプ宣言を書けば解決できると思います。

すいません、勘違いでした。

エラーメッセージが書いていないので勘です。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 【C++】vectorについて
返信数: 4
閲覧数: 2007

Re: 【C++】vectorについて

tk-xleader さんが書きました:できれば、構造体Aの定義とか、bを含むクラスのコードやabortするオブジェクトのスコープを含んだコードなど、関連しそうなコード片を示していただければ回答も得やすいのではないかと…
tk-xleaderさんがこうおっしゃっている通り、構造体Aの定義以外のbを含むクラスのコードやabortするオブジェクトのスコープを含んだコードなどを提示してくださらないと具体的な回答が得られないと思います。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: switch文の中でBGMが再生されない。
返信数: 7
閲覧数: 1652

Re: switch文の中でBGMが再生されない。

オフトピック
>Dixqさん
そのとおりです。ローカル変数の宣言をしないなら書かなくとも問題ありません。
わたしは日記にも書いたとおり、処理の始まりと終わりが分かりやすくなるという理由で書いています。

>ふつう書かないでしょう
に「わたしは書くけど、これは普通じゃないのか?」と思ってofftopicで書きこみました。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: switch文の中でBGMが再生されない。
返信数: 7
閲覧数: 1652

Re: switch文の中でBGMが再生されない。

オフトピック
box さんが書きました:
ChenNel さんが書きました:

コード:

	case 0:{
			   load_title(); title.mode = 1; break;
	}
{
}
はふつう書かないでしょう。本題とは関係ないかもしれませんが。
こういうことがあるので、わたしはどんな時でもつけるのですが、普通は書かないものなのでしょうか?
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録 自機狙いで特攻させる方法を教えてください
返信数: 4
閲覧数: 808

Re: 龍神録 自機狙いで特攻させる方法を教えてください

RON さんが書きました:ありがとうございます。色々と試してみましたが、結構難しいです。
>>まず。角度と。移動成分をプレイヤー座標に向けるような処理をしましょう。
ここを具体的にどうすればいいかいまいち分かりません。
移動成分というのは移動スピードのことでしょう。自機に向かう敵の移動速度です。
角度は、敵の位置とプレイヤーの位置が分かればatan2()で求められます。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: error C2064 が出て実行できません
返信数: 5
閲覧数: 4296

Re: error C2064 が出て実行できません

ソースコードを貼る場合はcodeタグで囲ってください。 フォーラムルール をお読みください。 「error C2064」で検索した一番上の記事の https://msdn.microsoft.com/ja-jp/library/z72c1dfd.aspx が参考になるかもしれません。 ざっとしかコードを読んでいませんが、 extern int list[length]; extern int count; と、main.cppの int list[length] = { 5, 6, 1, 2, 4, 3, 8, 9, 7, 0 }; //長さ”length”の配列を設定し、それぞれに数字を代入...
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: すいません
返信数: 6
閲覧数: 1107

Re: 方法を教えてください。

課題の丸投げは禁止です。
フォーラムルールをご覧ください。

受け取った大文字は小文字に、小文字は大文字にするということでしょうか。
言語が指定されていないので、C言語であると仮定しますが、

小文字に変換:tolower()
大文字に変換:toupper()

これらの関数を利用すればできるのではないでしょうか。

文字列の反転処理は、一番最後の文字を最初に、最後から2番目に数字を2番目に、・・・と繰り返せばよいのです。
by Rittai_3D
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の圧縮について
返信数: 12
閲覧数: 1751

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

Re: c言語 関数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Re: フォーラムへ提案

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

Re: 制御結合について

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

Re: エラーについて

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

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

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

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

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

Re: DxLibのリリース

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

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

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

コード:

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

コード:

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

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

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

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

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

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

Re: へにょりレーザー

夢幻ノ月夜 さんが書きました:表現できないというより
私のしたいことができない
と言うのがが正しいのではないかと
どういったことをやりたいのでしょうか?

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