検索結果 1629 件

by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 19章のrangについて質問です
返信数: 1
閲覧数: 1358

Re: 19章のrangについて質問です

トピックごとに名前を変えるのは規約違反です。前に使った名前を使い続けてください。
また、前のトピックを放置しないでください。
http://dixq.net/forum/viewtopic.php?f=3&t=19846
前のトピックでも言った通り、プロジェクトは全て配布しているのですから、自分のコードを差異があるのであればWinMergeで探してください。
関数の定義は右クリックでジャンプできます。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの解放のタイミング(?)
返信数: 9
閲覧数: 4704

Re: クラスの解放のタイミング(?)

特定のクラスのインスタンスが他のクラスのインスタンスの中身を知りたいことはあります。 例えば敵クラスがプレイヤークラスの座標を参照したいようなケースはあります。 そんな時は取得するインターフェイスクラスを定義してそれを実装し、 取得したいインスタンスにインターフェイスのポインタを渡して参照させるようにします。 例えばこのように実装します。 #include<iostream> class IGetter { public: virtual ~IGetter() = default; virtual int getX() const = 0; }; class Player : public I...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの解放のタイミング(?)
返信数: 9
閲覧数: 4704

Re: クラスの解放のタイミング(?)

別トピックでも書いた通り、static変数を用いればできますが、そもそもそのようなことがしたいと思うこと自体、設計がおかしい可能性が高いです。
先ほどから言っているように質問を具体的にしてもらえたら回答もしやすいです。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの解放のタイミング(?)
返信数: 9
閲覧数: 4704

Re: クラスの解放のタイミング(?)

別のトピックを見ると、インスタンスが異なっていても、値が共有されることを期待しているようでしたので、何か誤解しているんじゃないでしょうか。
shared_ptrを使ったから解放された後の値を参照してしまうなんてこと普通無いですよ。
具体的なコードをはってもらえたら詳しく回答できると思います。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: C++ 継承 値の保持
返信数: 4
閲覧数: 3033

Re: C++ 継承 値の保持

FugaクラスのFunc2関数でHoge::Func()を呼べば110になります。

コード:

    void Func2() {
        Hoge::Func();
        y = x;
    }
書かれているコードはnew Hogeとnew Fugaのインスタンスが相互に影響することを想定されているのでしょうか?
インスタンスが異なるので相互に影響しあうことはありません。
メンバ変数にstaticメンバ変数を使えば影響しあいますが、それはご法度です。
普通にmain関数内のHoge系の記述がどれも不要です。

# void mainは間違い。int mainと書きましょう
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 13章敵のショットが表示されません。
返信数: 1
閲覧数: 1731

Re: 13章敵のショットが表示されません。

配布しているプロジェクトのソースコードとご自身のソースコードのどこに違いがあるか確認してください。
おそらく
#include<math.h>
が通っていません。
sinやcosは標準関数です。
include内容をご確認ください。
WinMergeを使ってソースコード差異を比較する方法をこちらに書いてありますので参考にどうぞ
http://dixq.net/rp/winmerge.html
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドライン引数がよくわらかない
返信数: 3
閲覧数: 2425

Re: コマンドライン引数がよくわらかない

C言語では一般的にmain関数を

int main(void) {
//略
}



int main(int argc, char *argv[]) {
//略
}

で書きます。
(ただ実装定義の方法でもいいのでこれ以外でも構わないことになっていますし、CとC++でも違いがありますが、そのようなことはこの際置いておきます)

コマンドラインから引数を受け取りたいときは後者を使えばいいでしょうし、その必要が無いなら前者でよいでしょう。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 継承について
返信数: 3
閲覧数: 2187

Re: 継承について

危ないというか、非効率な設計にはなってしまいますね。 ただ"良い"オブジェクト指向設計は一度コードを書いただけでは身に付きません。 色んなコードを書いてみて徐々に身に着くものですので、沢山本を読んで沢山コーディングしてみましょう。 まずはオブジェクト指向設計系の本を読んでみるとよいかと思います。 > 少量もののために継承を使ってしまっても良いのでしょうか? それ自体は全く問題ないです。 差異が極一部しかないとしても、分ける必要があるときは分けてベースクラスを作るべきです。 > また、継承した子クラスを親クラスとして扱っても良いのでしょうか? 全く問題ないです。 一般的なフレームワークの中身のコ...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: コメントのつけ方
返信数: 3
閲覧数: 2171

Re: コメントのつけ方

変数名の付け方として良くない代表例としてよく言われるのがflagです。 既存コードとしてこういう分かりにくい変数が使われていると仮定し、 今、m_flagがfalseなら中身が空っぽであることを意味しているとしましょう。 bool m_flag = false; void hoge(){ if(m_flag==false){ doProc(); } } これだと一見何をしているのかよくわかりません。 これを分かり易いメソッド名を付けて分かり易くしてみましょう。 bool m_flag = false; bool isEmpty(){ return m_flag==false; } void h...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: コメントのつけ方
返信数: 3
閲覧数: 2171

Re: コメントのつけ方

現場では度々コメントの書き方としてDoxygenフォーマットで記載されることがあります。 http://www.doxygen.jp/ また、コメントが多数無いと理解できないコードは、書き方が悪い場合が多いです。 多くの場合は関数ヘッダにだけコメントを書けば内部の処理に一行一行コメントを書く必要はないはずです。 もし分かりにくい処理があるのであれば、それは何をしているのか分かり易いメソッドに分ける・分かり易い変数名を付けるなどの工夫ができるはずです。 従って、関数ヘッダに関数ごとにdoxygen形式でコメントを書き、実装内部にコメントを書く場合は、 コメントが無いと分かりにくい場合のみとすると...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: クイックソートでコンパイルできません
返信数: 4
閲覧数: 2929

Re: クイックソートでコンパイルできません

うちのサイトでクイックソート解説アプリなるものを配布しているのでよかったらどうぞ
http://dixq.net/sort.html
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: windows 10でc言語プログラミングに対する開発環境について
返信数: 3
閲覧数: 3247

Re: windows 10でc言語プログラミングに対する開発環境について

WindowsでC/C++/C#を使うならVisualStudioがド定番です。
ダウンロードはこちらから
https://www.visualstudio.com/ja/downloa ... unity.aspx
Community版は無料で使えます。
EclipseはJAVAを使うのがメインでありましょう。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: dxライブラリ 時間差表示について
返信数: 4
閲覧数: 2946

Re: dxライブラリ 時間差表示について

オフトピック
おっと、せっかくemplaceになっているのに。
ご指摘ありがとうございます。
一時変数名listってよくないですね・・。すみません、普段Java書いているのでついつい・・。(クラス名が小文字から始まるってことが無い)
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列内[5][15]の組み合わせ.
返信数: 37
閲覧数: 26173

Re: 配列内[5][15]の組み合わせ.

> この部分が分からないのですがどういうことなのでしょうか?

第一引数を第二引数分ずらしているだけですが、これが分からないということは私が提示したコードは全体的に分からないレベルでしょうか?
どの辺が分からないのか教えてください。

また、問題の仕様をよく考えて聞いてください。
仕様がおかしいので回答者が皆困ったことになっています。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: dxライブラリ 時間差表示について
返信数: 4
閲覧数: 2946

Re: dxライブラリ 時間差表示について

基本的には25130さんの書かれている通りですが、リンク先のコードは全体の処理をとめてしまうことを前提としているので 常にメインループに処理を返す必要があります。 2秒ごとにタイムスタンプを打ち続けるサンプルを作ってみました。(1フレーム=1/60秒未満の誤差はあります) 実行結果 [youtube]https://youtu.be/wwuSamfYeBg[/youtube] 実行コード TimeStump.h #pragma once class TimeStump { public: explicit TimeStump(int index); virtual ~TimeStump() =...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列内[5][15]の組み合わせ.
返信数: 37
閲覧数: 26173

Re: 配列内[5][15]の組み合わせ.

私の頭が悪いのかやりたいことが全然分かりません…

まず私の提示したコードは間違ってるのでしょうか?

して、これは何をするために算出するんですか?
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 値取得用関数について
返信数: 2
閲覧数: 1719

Re: 値取得用関数について

一般的にメンバ変数の値を取得するような関数であればget1の書き方をします。
int型であれば参照を返してもコピーを返してもほとんど計算コストは変わりません。
メンバ変数をいくつも持っているクラスや構造体の場合でオブジェクトの大きさが大きいときにポインタや参照を使います。

また、メンバ変数の参照を保持するとそのメンバ変数のライフサイクルを意識しなければなりません。
メンバ変数があるタイミングで開放されたら返り値もアクセスしてはいけないのです。
一方コピーを返していれば、返した先の責任で処理が可能なので、把握がしやすくなります。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列内[5][15]の組み合わせ.
返信数: 37
閲覧数: 26173

Re: 配列内[5][15]の組み合わせ.

疑問は他にもありますが、一旦分かりましたので回答を続けます。 しかし、他の人もいっているように質問内容の仕様が明確でないので、明確に回答できない部分が多いです。 やりたいことを想像で作ってみました。 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> const static int NUM = 5; const static int LEN = 21+1; //引数の配列の中身をn個右にずらす void displace(char arr[LEN], int n) { for (int j ...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: C++におけるオブジェクト指向の理解
返信数: 5
閲覧数: 3565

Re: C++におけるオブジェクト指向の理解

お、Androidアプリ制作が目標ですか。 最近Androidアプリ開発系の本は山ほどあります。大きな書店に行って気に入るのを見つけてみるといいと思います。 また、専門書のような難しい本が嫌いであれば、JAVAを学ぶ時に最初に読む本としては「JAVAの絵本」がお勧めです。 https://www.amazon.co.jp/s/?ie=UTF8&keywords=java%E3%81%AE%E7%B5%B5%E6%9C%AC 最新版でなくても初版でも大丈夫です。中古で1円で売ってます。 絵が中心でサクサク読めます。最後まで難なく読めて分かった気になれます。 もちろんこれでJAVA完全理解!とはい...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列内[5][15]の組み合わせ.
返信数: 37
閲覧数: 26173

Re: 配列内[5][15]の組み合わせ.

>> 似た内容のトピックがありますが、同じではないのでしょうか。
>> No 19736

> 似ていますが自分の得たいものではないと思うので違うものかと…

何故ウソを言われるのでしょうか?
サイト管理者(私含めて5名)はアクセス元の情報が分かるのでウソを書かないて下さい。
せっかく時間かけてソースコードまで書いたのに返信もなく「別の人の物だ」と言われると回答者としては悲しいです。
私の予測が違っていたなら元のトピックで補足して頂きたかった。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: C++におけるオブジェクト指向の理解
返信数: 5
閲覧数: 3565

Re: C++におけるオブジェクト指向の理解

私もオブジェクト指向を理解するまでに時間がかかった経験があるのでよくわかります。 結局プログラミングならではの考え方なので、実際にその考え方で設計が成功してみないことにはそれがどういうものなのかはっきり理解できないんですよね。 そして、「完全に理解できる」レベルに到達するにはプロになってから〇年後という場合もザラなほど奥が深いです。 (むしろ現場では完全に理解せずにコーディングしている人が多くて困るレベル・・・) > C++はどちらかというと研究職や企業向けの言語でしょうか。 > 趣味としてやるには敷居が高いと感じました。 そういうわけではないですが、C++がとても難しいのは事実です。 最近モ...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のLevとは何でしょうか?
返信数: 7
閲覧数: 4301

Re: C言語のLevとは何でしょうか?

プログラムコードや説明が無いと分かるわけ無いですよ…
私たちから見ると
例えば、あなたが唐突に「今日の昼休みに友達が言ってた"あれ"ってなんのことだと思います?」
って聞いてるのと同じです。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: androidの起動画面?
返信数: 2
閲覧数: 2019

Re: androidの起動画面?

Androidを専門にアプリ開発をしている者です。 > テスト用にドンキホーテタブレット何台かあるのですが > そのうちの1台からプログラムを取り出して変更など出来ますか? 可能か不可能かで言えば可能です。 ホームアプリがインストールされているはずですので、 インストールパッケージ一覧から対象のホームアプリのパッケージをExtractしてきます。 apkの形にExractしたら、zipに変更して解凍します。 dex2jarというソフトでdexをjarに変換します。 jarをunzipしてclassを取り出します。 Java Decompilerを使ってclassをjavaファイルに変換します。...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: こんなのありました
返信数: 3
閲覧数: 12097

Re: こんなのありました

権利を侵害したファイルのアップロードリンクだったのでリンクを削除しました
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 時代はUnityと言われました。マジですか?
返信数: 19
閲覧数: 35824

Re: 時代はUnityと言われました。マジですか?

桜井さん まくらカバーさんが仰っているように、まずは使ってみましょう。 既出内容になりますが、正直今の時代「ゲームを作りたい」のであればUnityを使わない理由はほぼ無いです。 上に出ていない強みとしては、なんといってもマルチプラットフォームですよね。 私はwindows用のゲームをC++で作るのが趣味ですが、仕事ではJavaでスマホアプリ開発するのが専門です。 なので、7年位前はwindows用のゲームとスマホで動くアプリを作ろうとしていましたが、作るのが大変でした。 DXライブラリはコアがDirectX、スマホはOpenGLなので、そもそも共通化できず、ほぼそれぞれ専用に作り直さなければな...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: こんなのありました
返信数: 3
閲覧数: 12097

Re: こんなのありました

得体の知れないファイルの直リンクは怖いのでやめてください。
しかも何の前置きものなく…
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の表示と組み合わせについて
返信数: 3
閲覧数: 2839

Re: 配列の表示と組み合わせについて

私が想像している仕様でしたらこんな感じでしょうか・・。 #include <stdio.h> const static int NUM = 5; const static int LEN = 20; void displace(char arr[LEN]) { char tmp = arr[LEN-1]; for (int i = LEN-1; i > 0; i--) { arr[i] = arr[i - 1]; } arr[0] = tmp; } void initialize(char arr[NUM][LEN]) { char *str = "1234567890 "; for (int...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の表示と組み合わせについて
返信数: 3
閲覧数: 2839

Re: 配列の表示と組み合わせについて

出題内容がよくわかりません。 「全ての組み合わせ」とはどういうものですか?通常の順列組み合わせだと思えばいいのでしょうか? 要素20の文字が5組になっている関係性はどのようなものですか? ******12345678910**** *******12345678910*** ********12345678910** *********12345678910* **********12345678910 ここまで行ったら次はどうなるんでしょうか?ループするのですか? *******12345678910*** ********12345678910** *********12345678910...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: プログラミング教えてください。
返信数: 3
閲覧数: 2097

Re: プログラミング教えてください。

前のトピックから言っていますがきちんとフォーラムルールに従った利用をお願いします。
複数の名前を使って投稿する行為は禁止行為です。
どれかの名前に統一してください。
td1223の名前で乱雑に質問しているものに関し、きちんと補足や説明を追加してください。
また課題の丸投げは規約違反です。
やるべきことはコメントに書いてあるようですが、何が分からないのかを明確にしてください。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: プログラミングの宿題わからない答え教えてください
返信数: 2
閲覧数: 1779

Re: プログラミングの宿題わからない答え教えてください

もはやどのトピックがどこに関連してどの返信なのかわけが分からなくなっているので各トピックの返信で補足してください。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 関数ポインタ
返信数: 4
閲覧数: 2461

Re: 関数ポインタ

コードの汚さは大目に見るとして、考え方自体はここの通りです。
http://dixq.net/rp/12.html
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 関数ポインタ
返信数: 4
閲覧数: 2461

Re: 関数ポインタ

関数ポインタは変化するインプットに楽に応じる記述をかくことができますよ。 例えばゲームにおいて ・1秒後に敵が出現。その敵の動きはID=3だ。 ・2秒後に敵が出現。その敵の動きはID=1だ。 こんな命令があったとき void move_01(){ ID=1の処理 } void move_01(){ ID=2の処理 } void move_03(){ ID=3の処理 } こんなそれぞれのメソッドを分けてコールしたいとします。 そんな時、 move_01, move_02, move_03, のポインタをポインタ配列に格納しておけば pointer[id](); こんな形でidに応じた処理ができます。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: マルチバイト文字の格納や比較について
返信数: 5
閲覧数: 4562

Re: マルチバイト文字の格納や比較について

みけ君の言うとおり私のコードはUTF16やSJIS前提なので、使用環境を教えてもらわないとダメですね。

逆に3バイト文字環境で実行してるなら、
a
は終端記号を含めた4バイトにしないとダメですね。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: マルチバイト文字の格納や比較について
返信数: 5
閲覧数: 4562

Re: マルチバイト文字の格納や比較について

文字列管理はC++の方がやりやすいと思いますのでC++版も作りました。 よければ参考にしてください。 #include <iostream> #include <string> #include <array> using namespace std; bool isSameFirstCharacter(const string str1, const string str2) { string s1 = str1.substr(0, 2); string s2 = str2.substr(0, 2); if (s1 == s2) { return true; } else { return ...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: マルチバイト文字の格納や比較について
返信数: 5
閲覧数: 4562

Re: マルチバイト文字の格納や比較について

文字列には最後が終端記号が入ります。一見そのことが分かっているようなコードに見えますが、それが考慮できていません。 (※追記:sjisやutf16において) まず、全角文字は2バイトですのでmemcmpで比較すべきは2バイトです。 char a[3]="あ"; なら、aの3バイト目には終端記号が入ります。 しかし"あいう"や"あいうえお"や"かきく"との文字列と比較しているのであれば3バイト目は必ず文字データが入るので必ず偽になります。 strncpyするときも2バイトでよいはずです。 aの3バイト目には必ず終端記号が入らなければなりません。 また、if文のmorはmor[count]でなくて...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 双腕ロボットのによる組み立て
返信数: 2
閲覧数: 2269

Re: 双腕ロボットのによる組み立て

消すことはできません。
フォーラムルールをお読みください。
編集で投稿内容を分からないようにすることも規約違反です。
理由がある場合は提示願います。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 太鼓の鉄人のヒットの登録処理を一度に全部しない理由
返信数: 2
閲覧数: 1580

Re: 太鼓の鉄人のヒットの登録処理を一度に全部しない理由

これも10年前のコードなので予測ですが、
一番近くにある譜面データのみを計算対象としているのだと思います。
そうならそのようなメソッドを分かり易く作れよという突っ込みがありそうですが・・。
ヒット有効範囲内に2つ譜面があったとき、両方を採用すると判定をどうしていいかわからないので、
よりピッタリに近い方を採用しているのだと思います。
ビーマニとかの難しい速い曲とかを想像してもらったら分かる通り、
ヒット有効範囲に複数譜面が存在することがあると思いますが、その時はよりピッタリに近い方を入力対象に採用しているはずです。

昔の自分のコードは見たくないですね。。。。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 太鼓の鉄人で理解できないコードがあります。
返信数: 3
閲覧数: 2165

Re: 太鼓の鉄人で理解できないコードがあります。

もう10年位前のコードなので定かではないですが、おそらく1フレームの時間かと思います。
60FPSで動作しているゲームにおいて、1フレームの時間は1/60秒、つまり16.6666....[ms]を意味します。
1/60に現在のフレーム数をかけるとあるべきゲーム時間が出てきます。
ゲームの中で計算上進んでいる時間とリアルで進んだ時間を一致させないと音ゲーが成立しないので、
その調整をしながらゲームを制御することになります。
関数名から察するにbulletつまり弾、つまりダンレボでいう矢印に相当するものが、何フレーム目に出現するかを計算して登録しているものと思います。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 変数だけを書く
返信数: 4
閲覧数: 8779

Re: 変数だけを書く

警告は出るべくして出ているのであって、本来あるべきではない消し方をして対応をすべきではないです。
そもそもこんなに沢山の関数の引数を必要とする設計がおかしいと思いますし、
変数を使っていないという警告であれば引数を消すべきでありましょう。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: nullptrチェックについて
返信数: 9
閲覧数: 5352

Re: nullptrチェックについて

一応誤解のないように補足すると、shared_ptrはnewしたオブジェクトをdeleteする必要のないスマートポインタの一つでnull確認しなくていい質問の回答としては密接に関係あるものではないです。
JAVAやC#などのガベージコレクションのような使い方をC++で可能にするための仕組みです。
私が言いたかったのはタスクやオブジェクトのポインタリストを持って置き、そのリストをループする際にupdateやdrawすることでnull確認の必要がなくなりますということです。
参考まで
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: nullptrチェックについて
返信数: 9
閲覧数: 5352

Re: nullptrチェックについて

メンバ変数の初期化をいちいち初期化リストで一つ一つやらなければならないことや、 ポインタにnullが入る可能性がある設計上でnullチェックをしないといけないのは言語仕様上仕方のないことです。 JAVAのようにメンバ変数を定義するだけでデフォルト値が入ってくれたり、 Objective-Cのようにnull参照をしてもエラーにならなかったりするのは言語によるサポートがあるからです。 C++はメンバ変数の定義時には(staticでなければ)ゴミが入るし、null参照したら落ちるのはそのような言語仕様なのです。 で、工夫できないかと言えばある程度工夫は出来ます。 null確認したくないのであれば、必...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 助けてください。C++ 三目並べ
返信数: 1
閲覧数: 2513

Re: 助けてください。C++ 三目並べ

サンプルを作ってみました。 プロジェクトを一式まとめてzipにしてアップロードしましたのでよければ参考にしてみてください。 [プロジェクト] http://dixq.net/BBS/zip/InBoxCircle.zip [実行結果動画] [youtube]https://www.youtube.com/watch?v=a8pXKti7L4g[/youtube] [main.cpp] #include "DxLib.h" #include "Mouse.h" #include <list> #include "Box.h" using namespace std; int WINAPI Win...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: stl file format
返信数: 1
閲覧数: 1084

Re: stl file format

まず、何が分からないのでしょうか?
使用されているOSによっても、コンパイラによっても使い方は変わってきます。
使用されている環境は何ですか?
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 加速度センサーを使ってgooglemap上でアイコンを動かす
返信数: 1
閲覧数: 1381

Re: 加速度センサーを使ってgooglemap上でアイコンを動かす

画面が起動しないという状況を詳しく教えてください。
画面そのものが起動しないならOS側からすでに変です。
それとも画面が真っ黒のまま描画されないなら描画処理が変です。

プロジェクトを一式アップロードしてもらえたら私の方で見てみます。
ファイル添付は、本サイトに無料登録してもらえたらできるようになります。
登録を控えたいときはどこかのアップローダーを使ってください。
また、プロジェクトをzipにするときは、
build/
app/build/
などの重くて不要なファイルは削除してからお願いします。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: エンターキーでゲーム終了
返信数: 1
閲覧数: 1189

Re: エンターキーでゲーム終了

シーン管理の方法は
http://dixq.net/rp2/
で少し紹介しているので参考にしてみてください。

今の作りのまま設計するなら SceneMgr_ChangeScene で渡している引数にゲーム終了のパラメータを渡し、それを受け取ったらメインループをbreakするようにすればいいかと思います。
eScene

eScene_End
とでも名付けた識別子を追加して、それを使ってみてましょう。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム制作 ①キャラクターが消える ②特定のオブジェクトに向かって移動
返信数: 10
閲覧数: 5113

Re: ゲーム制作 ①キャラクターが消える ②特定のオブジェクトに向かって移動

内容が一見同じことをしているように見える関数がたくさんあるのはなぜなのでしょう?
すごくコードが読みにくいので、共通化できるところを共通化してコードを短くしてみましょう。

また、質問するときには、不具合がなさそうなコードは消して必要最小限にして質問すると回答者が読みやすいかと思います。

一般的に
●●A、●●Bとか、●●1、●●2とかという名前の付け方はNGです。
他人がコードを読んでも意味が分からないので・・。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 重複しないrand関数
返信数: 5
閲覧数: 3167

Re: 重複しないrand関数

見てお分かりと思いますがタグの使い方が間違っています。
codeタグは[と]で囲んでください。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 横スクロールアクションでの背景画像の大きさについて
返信数: 15
閲覧数: 18045

Re: 横スクロールアクションでの背景画像の大きさについて

私も1080pがなければ遊べない仕様にすべきではないと思います。
上でも言った通り、一番多く使われている解像度は1366x768なわけですから・・。
1080pを前提に作っておき、起動時に最低限720pと1080pを選択できるようにすべきでしょう。
実現方法はSetWindowSizeExtendRateを使って任意の解像度で縮小拡大表示できるようにするのが一番簡単です。
SetWindowSizeChangeEnableFlag(TRUE);
をしておけば好きなサイズにリサイズできるのでなお親切でしょう。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 横スクロールアクションでの背景画像の大きさについて
返信数: 15
閲覧数: 18045

Re: 横スクロールアクションでの背景画像の大きさについて

ズームせずという意味がよくわかりませんが、それはいわゆるズームではないのでしょうか?
例えば画面を0.5倍に縮小したければ
SetWindowSizeExtendRate(0.5);
で可能です。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 横スクロールアクションでの背景画像の大きさについて
返信数: 15
閲覧数: 18045

Re: 横スクロールアクションでの背景画像の大きさについて

確かに。1080pをデフォルトにするにはまだ早いです。
もしやりたいなら解像度を起動時に設定できるようにすべきでしょう。

日本のみであれば1080pがシェアの1位ですが、世界的には1366x768が解像度の1位を占めています。
日本でも2位です。
まだまだちょっと前のノートPCの主流解像度が高いシェアを占めています。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 横スクロールアクションでの背景画像の大きさについて
返信数: 15
閲覧数: 18045

Re: 横スクロールアクションでの背景画像の大きさについて

一昔前であれば考えられませんでしたが、12000*1400はメモリ展開時の容量がだいたい70MBと考えると非現実的な数字ではないですね。 ゲームの実行ファイルが数百MB食うということは近年珍しくなくなりました。 マップチップのような素材を組み合わせて背景を作るのが一般的だとは思いますが、メモリが潤沢にある現在では一枚絵も一つの選択肢かもしれません。 マップチップによる背景の作成方法をご存じない場合は検索してみてください。 https://www.google.co.jp/search?q=%E3%83%9E%E3%83%83%E3%83%97%E3%83%81%E3%83%83%E3%83%9...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 新・ゲームプログラミングの館のDXライブラリが動かない
返信数: 21
閲覧数: 8581

Re: 新・ゲームプログラミングの館のDXライブラリが動かない

あれ?おかしいな。xml上はちゃんと設定できているようだったんですが・・。
今設定しなおしてアップロードしなおしました。
ダウンロードしなおしてみてください。
実行したら真っ黒なウィンドウが表示されるはずです。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 新・ゲームプログラミングの館のDXライブラリが動かない
返信数: 21
閲覧数: 8581

Re: 新・ゲームプログラミングの館のDXライブラリが動かない

説明が古かったのでこの際全部更新しました。
ゲームプログラミングの館で配布しているプロジェクトもVisualStudio2017で作り直しました。
参照ページをリロードして閲覧ください。
http://dixq.net/g/01_01.html
VisualStudio2017を使っているなら配布しているプロジェクトを開いてF5を押すだけで黒い画面が出るはずです。

(龍神録プログラミングの館のプロジェクトファイルはまだ古いまま・・・)
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: メニュー画面を作ってから追加機能の追加方法がわからない。
返信数: 2
閲覧数: 1634

Re: メニュー画面を作ってから追加機能の追加方法がわからない。

何も説明が無いのでなんの話なのかさっぱり分かりません・・。
メニュー画面を作ってからというのはご自分で作られたプログラムですか?
うちのどこかのコンテンツで紹介していたプログラムか何かでしょうか?
追加機能とは何ですか?どんなコードですか?
答えるのに必要な情報が何もないので答えようがありません・・。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録2プログラミングの館 シーン管理について
返信数: 3
閲覧数: 2292

Re: 龍神録2プログラミングの館 シーン管理について

5章のonSceneChangedにBackを指定してpopするようにしてはどうでしょうか。 switch (scene) { case Title: _sceneStack.push(make_shared<TitleScene>(this, parameter)); break; case Game: _sceneStack.push(make_shared<GameScene>(this, parameter)); break; case Back: _sceneStack.pop(); break; default: //どうしようもないエラー発生 break; }
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: MS WindowsでGUIを実装方法?
返信数: 11
閲覧数: 7081

Re: MS WindowsでGUIを実装方法?

色々論点がずれててどう回答したらいいのか分かりませんが、Windows用のアプリを作りたいんですよね? Linuxの話が出てくるのは何故ですか? マルチプラットフォームで動作させたいのですか? またC++でGUIのフレームワークについて国際的に標準化なんてされていませんよ。 windowsで動くアプリを作りたいならマイクロソフトが決めたことに従わなければならないのは当然です。 Macで動くアプリならXcodeにObjective-c、Swiftなどアップルに従うべきでしょう。 そう言うことにとらわれたくないならマルチプラットフォームに対応したQtの選択肢はありますが仰る論点から行けばいつQtの...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: MS WindowsでGUIを実装方法?
返信数: 11
閲覧数: 7081

Re: MS WindowsでGUIを実装方法?

> VBやらC#などは特定会社の言語で、利用したくないです。

と言う意味がよく分かりません。
開発元はマイクロソフトですが、C++だってJAVAだってC#だって日々進化していますよ。
自分が行いたいことにマッチした最も効率的な言語があるのであればそれを学ぶべきです。

> ただし、CやC++で強力なGUIを作れるかどうか疑問ですけれども。
> WindowsのAPIやMFCを利用するのは大変でしょう。

何故そう思うのですか?
WIN32APIを使えばなんだって出来るでしょう。
MFCは知り合いの小学生でも使っています。何故大変だと思うのですか?
by Dixq (管理人)
6年前
フォーラム: 四聖龍神録2 掲示板
トピック: 不具合報告投稿所
返信数: 49
閲覧数: 49529

Re: 不具合報告投稿所

To ニムロッド I guess the problems with saving files are related to the character problems. I didn't suppose that non-Japanese play this game. I use Japanese character in file path. I should not use it. I want to unify English character, but I must to convert the data of players that is already playing i...
by Dixq (管理人)
6年前
フォーラム: 四聖龍神録2 掲示板
トピック: 不具合報告投稿所
返信数: 49
閲覧数: 49529

Re: 不具合報告投稿所

Hi, ニムロッド. Thank you for your reports. V1.00 included the Bug that the Laser Dress sprite does not appear. I fixed the bug, and released as ver1.01. I apologize about problems of the character encoding. Since many Japanese characters are used in many program codes, problems can not be easily solved....
by Dixq (管理人)
6年前
フォーラム: 四聖龍神録2 掲示板
トピック: 不具合報告投稿所
返信数: 49
閲覧数: 49529

Re: 不具合報告投稿所

御報告ありがとうございました。
ドレス変更時の自機キャラが表示されるようにした修正版v1.0.1をリリース致しました。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 文字の発光
返信数: 9
閲覧数: 6344

Re: 文字の発光

文字自体を光らせるだけならSetDrawBlendModeで出来ますが、輪郭をぼかすことはできません。
もしやるならシャドウバッファではない領域に描画し、自分でピクセル単位でぼかすように画処理する必要があると思います。
ぼかす処理は8方向の画素の平均の値に1ピクセルごとに色を設定するようにして行けば実現可能です。
by Dixq (管理人)
6年前
フォーラム: 四聖龍神録2 掲示板
トピック: 不具合報告投稿所
返信数: 49
閲覧数: 49529

Re: 不具合報告投稿所

現在出張中で、修正できないのですが、レーザーの自機が表示されないバグをチームが確認しました。
早急に直します。
帰宅したら詳しくお返事します。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: C++が分からない
返信数: 6
閲覧数: 4967

Re: C++が分からない

C++勉強中であれば一旦、一切charを使わず文字列を扱う時は全てstringを使うようにしてみて良いと思います。 DXライブラリを利用していると一時的にchar*を扱わないといけないことがありますが、 その時はstring::c_str();でstringをconst char*に変換できます。 後、なんとなく関数がいっぱいあるから大変そう、と思うのではなく、関数の説明を見て把握しましょう。 https://cpprefjp.github.io/reference/string/basic_string.html モダンな言語ほど大量に便利な関数があるので、沢山関数があるというのは利用者にと...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: C++が分からない
返信数: 6
閲覧数: 4967

Re: C++が分からない

32桁の整数ということはlong long型でも計算しきれませんが、多倍長整数を扱うようなことをしないといけないという仕様ですか? 提示されたコードはそうではないようなので、1桁ずつ文字列にしてみます。 to_stringでは16進数表記にできないのと、C#やJAVAのようなString.format機能もないので、自作するしかなさそうです。 #define _CRT_SECURE_NO_WARNINGS #include <cstdio> #include <string> #include <limits> #include <iostream> using namespace std; ...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: dxライブラリ置き場~プログラム開発講座 基礎編~より
返信数: 9
閲覧数: 4290

Re: dxライブラリ置き場~プログラム開発講座 基礎編~より

まず、うちのサイトの質問ではなく、DXライブラリのホームページの質問でしょうか?
DXライブラリをダウンロードしてexeを実行して解凍すると、該当フォルダが出来上がりますのでそこに入れたらいいです。
うちのサイトの解説を見て頂いてもいいです。
http://dixq.net/g/
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibのGetRand()とstdlibのrand()の違いについて+α
返信数: 9
閲覧数: 11274

Re: DxLibのGetRand()とstdlibのrand()の違いについて+α

DXライブラリを用いている時点で乱数生成部の移植性を重視する必要ってあるんでしょうか・・。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリ三大処理について。
返信数: 4
閲覧数: 2503

Re: DXライブラリ三大処理について。

基本的に無いと思っていいですが、館で紹介しているように
http://dixq.net/rp2/06.html
致命的エラーが起きてこれ以上続行中不可能なときただ死ぬのを待つだけの処理等には使っても構わないかと思います。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibのGetRand()とstdlibのrand()の違いについて+α
返信数: 9
閲覧数: 11274

Re: DxLibのGetRand()とstdlibのrand()の違いについて+α

基本的に理由がないのであればDXライブラリのGetRand()を使った方が良いです。
stdlibの乱数のアルゴリズムは環境にもよりますが、一般的にそれよりもDXライブラリの関数の方が高性能なアルゴリズムで乱数が作られていること、
更にいちいち乱数を初期化しなくても、DXライブラリの内部で適当な初期化がされているので、いつも違った値が出ます。
SRandは、リプレイ等で以前出した乱数と全く同じ乱数を生成したい時等にしか使う必要がありません。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリ三大処理について。
返信数: 4
閲覧数: 2503

Re: DXライブラリ三大処理について。

三大処理が複数個所にあるとしたら、それはほぼ間違いなく設計に問題があります。 funcがどこから呼ばれているのか分かりませんが、根底となるルーパーから呼ばれているならその中で新たに三大処理をいれるべきではないです。 毎フレームルーパーに処理を返しましょう。 Enterキーが押された瞬間揺れフラグを立てる等して現在揺れていることを識別可能にします。 またカウンターを用意し、カウンターが特定の値になったらフラグを落とします。 一例としてサンプルコードはこんな感じでしょうか。 #include "DxLib.h" bool isShaking = false; int counter = 0; vo...
by Dixq (管理人)
6年前
フォーラム: 四聖龍神録2 掲示板
トピック: 不具合報告投稿所
返信数: 49
閲覧数: 49529

Re: 不具合報告投稿所

Hi, ニムロッド.
Can you understand English?
I can write in English for you.

こんにちは。ニムロッドさん。
英語は理解できますか?
英語であれば私はここに書けますがどこの国の方でしょうか?
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: アスキーコード?
返信数: 3
閲覧数: 2325

Re: アスキーコード?

printf("%x", '1');
とすれば期待の結果が表示されると思いますよ。
%xは16進数表示を意味します。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: atoiと+でバグります
返信数: 4
閲覧数: 4305

Re: atoiと+でバグります

atoiの理解というより、文字列の理解がまだ出来ていないようです。
今一度文字列について勉強してみて下さい。
タブルコーテーションとシングルコーテーションは使い方が違います。
by Dixq (管理人)
6年前
フォーラム: 四聖龍神録2 掲示板
トピック: 不具合報告投稿所
返信数: 49
閲覧数: 49529

Re: 不具合報告投稿所

ノーマルクリアラーさん

御報告ありがとうございます。
v1.00にてご確認頂けると幸いです。

さくやさん

御報告ありがとうございます。
すみませんが、こちらでその状態が発生しません。
透明になっているというのは、画像が表示され無いということですか?
by Dixq (管理人)
6年前
フォーラム: 四聖龍神録2 掲示板
トピック: ご意見・ご要望 投稿所
返信数: 17
閲覧数: 43503

Re: ご意見・ご要望 投稿所

テインむらさん

申し訳ないですが、10年前とは煉獄庭園さんのHPがかなり変わっており楽曲も増え、曲名が全てすぐに分かりません・・。
PHボス…彷徨いの言葉は天に導かれ
だけ分かりました。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 設計はどっちから?
返信数: 3
閲覧数: 2675

Re: 設計はどっちから?

普通、完全な最初の設計はフレームワークの設計から着手すると思います。 完全に設計方法が自分の中で確立している人ならどちらからでもいいですが、 定まっていない場合は枠組みが出来て、その中で動く物を作っていくようにしないと見積もれないのではないかと思います。 設計する順番と言う意味では龍神録2プログラミングの館の紹介している順番がそれに近いかもしれません。 http://dixq.net/rp2/ 順番に作らないと作れない物があります。 例えばプレイヤー位はジョイパッドの入力に応じて操作するのでしょうから、キー入力の制御モジュールを先に作る必要があります。 また、これらの画像を始めとするリソースを...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: main.cppについて
返信数: 6
閲覧数: 3687

Re: main.cppについて

前トピからの内容がやっと理解できました。
私は全てのプロジェクトを昔VS2008形式にコンバートしたと思っていましたが、最初の方の章はコンバートされずにVS2005形式が残ったままですね。
全部の章のプロジェクトを2017に変換する作業はちょっと骨が折れますが、時間のある時にやっておこうと思います。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 「龍神録2プログラミングの館」を開設しました [雑談]
返信数: 16
閲覧数: 11858

Re: 「龍神録2プログラミングの館」を開設しました [雑談]

だいきゅんさん 最初のうちは左手には教科書、目の前にはPCとコンパイラを用意し、教科書に書いてあるコードをコンパイラに自分で手打ちし、あれこれ変更して実行結果がどう変わるのか確認しながら学ぶことをお勧めします。 ある程度慣れて来たらコンパイラなく、ただ通勤中に読むだけでも身に着くと思います。 inemaruさん 既述されている背景に移植があることは把握しています。 ただ他の言語で書かれた物をC++に移植する作業は巷にいくつか変換ツールはあるもののメンバ変数を揃える位で簡単化できるような物でもないと思いますし、 AndroidStudio3.0でJAVAからKotlinへIDEが全力でコード変換...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: main.cppについて
返信数: 6
閲覧数: 3687

Re: main.cppについて

作成したプロジェクトはWin32プロジェクトですか?別のプロジェクトの設定になっていませんか?
プロジェクトファイルは配布していますので、そちらで動作できるか確認してみてください。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 「龍神録2プログラミングの館」を開設しました [雑談]
返信数: 16
閲覧数: 11858

Re: 「龍神録2プログラミングの館」を開設しました [雑談]

inemaruさん > 先頭のアンダースコア文字は言語やスコープに関係なく常に避けるのがよいでしょう という表現は個人的には言い過ぎというか間違いかと思います。 言語が違えば文化も違うし、仕様も異なります。 例えばJAVAでは先頭にアンダースコアにする記法がかなり一般的だと思います。 C++では言語仕様として予約語は ・アンダースコアの次が大文字 ・アンダースコアが2連続 であるので、1つのアンダースコアの次が小文字であれば予約語ではありません。 C++の予約語の表現に近いから似ている物は全て避けなさい、しかも言語が何の言語であったとしても、という表現は乱暴過ぎだと思います。 とは言え、C++...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 「龍神録2プログラミングの館」を開設しました [雑談]
返信数: 16
閲覧数: 11858

Re: 「龍神録2プログラミングの館」を開設しました [雑談]

にこよんさん

適切さを削らずに分かりやすさに特化出来ればいいんでしょうけど、私にはその技量がありません・・。
今回は思い切って中級者以上をターゲットに絞ることで住み分けをしようと思っています。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 「龍神録2プログラミングの館」を開設しました [雑談]
返信数: 16
閲覧数: 11858

Re: 「龍神録2プログラミングの館」を開設しました [雑談]

だんきゅんさん ありがとうございます。 そもそもC言語にふれたことがないとなるといきなり龍神録2プログラミングの館の内容は難しいと思います。 クラスのことやC++の一般的な知識はある前提で解説しています。 DXライブラリの知識はゲームプログラミングの館の内容が一通り理解できるレベルも前提にしています。 龍神録2プログラミングの館の位置付けは「中級者以上の人が本格的で適切な大きなコードの設計をする方法を学ぶ」としています。 言語を触ったことも無いレベルであれば、まずは言語の勉強をし、ゲームプログラミングの館を見ながら少しずつ小さいゲームでもいいので自分で作ってみる所から始めてみて下さい。 C言語...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 学ぶ順番が知りたいです。
返信数: 2
閲覧数: 1861

Re: 学ぶ順番が知りたいです。

レッスンのページというのは
ゲームプログラミングの館
http://dixq.net/g/
のことでしょうか?
本ホームページには多数のコンテンツがあるので、質問時は何のことか示してもらえたらと思います。
仮にそうだとすると、左側が最初に読むべきものです。左側を上から下まで読んだら、後は任意と言う感じです。
右側は必要に応じて読んでもらえたらと思います。
・・が!実際全部読んでもらいたいです。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: config.exeの作り方
返信数: 9
閲覧数: 6785

Re: config.exeの作り方

すみません、回答漏れていました。
.rcファイルをテキストファイルで見れば直接的な値が確認できますよ。
ただastahのようにGUIで綺麗な感覚にするのは難しいですね。
astahや最近のPPTだと等間隔になるためのサポートをGUIでやってくれますがMFCにはその機能がありません。
大体のレイアウトをGUIでやった後、きっちりした値を編集したければ.rcを編集してはいかがでしょう。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 「龍神録2プログラミングの館」を開設しました [雑談]
返信数: 16
閲覧数: 11858

Re: 「龍神録2プログラミングの館」を開設しました [雑談]

にこよんさん ご指摘ありがとうございます。 著作権表記はずっと古い物をコピペして再利用しており、実際にクリックして確かめていなかったので気づきませんでした。直しておきます。 旧龍神録プログラミングの館はC++ではなくC言語による設計方法で、なるべく難しい構文を使わない等をモットーに作ったものの、 適切な手法より簡単な手法を最大限選出して作っていった結果とんでもないコードになってしまって・・。 一度開設したら、閉館しようにも閉館しては困るとの声で閉館できず困っていました。 龍神録2プログラミングの館では、しっかり適切な方法で設計できるように心がけています。 その分C++の知識やオブジェクト指向設...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録 プロジェクト
返信数: 11
閲覧数: 8210

Re: 龍神録 プロジェクト

オフトピック
VisutalStudioは常に最新を使うべきです。
VisualStudioの最新機能が使えないので古い物は不便です。
特にコンパイラが古いとC++11やC++14で追加された機能を使うことが出来ません。
# 龍神録プログラミングの館公開当時はまだVisualStudio2005しかありませんでした
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録 プロジェクト
返信数: 11
閲覧数: 8210

Re: 龍神録 プロジェクト

> 板主です。プログラムをソリューションして使うのはわかりますが、サイトに書いてあるコードはどこに書けばよいのでしょうか?それとも、あのサイトに書いてあるコードはコピペするものではなく、紹介だけしているものなんですか? プログラムをソリューションして使うという言葉から理解されているか怪しいですが・・、 前の章のコードをコピペしていって次の章の内容を進めてもいいですが、全ての章のプロジェクトを配布しているのでそちらを見て頂いても構いません。 一字一句全て差分を書いていない場合もあるのでWinMergeを使って差分を確認されてもいいでしょう。 WinMergeを使った章から章への差分の確認方法はこ...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 「龍神録2プログラミングの館」を開設しました [雑談]
返信数: 16
閲覧数: 11858

「龍神録2プログラミングの館」を開設しました [雑談]

龍神録2の作り方を解説するサイト「龍神録2プログラミングの館」を開設しました。 現在17章まで出来たので公開します。 龍神録2をそのままオープンソースにすると、チートされたり海賊版が出たり原作に被害が出るので、 悩んだ結果、龍神録2と似た公開用の別のゲームをもう一つ作って公開することにしました。 http://dixq.net/rp2/ このサイトではC++によるオブジェクト指向で中規模以上の設計実装をする方法を紹介していきます。 またデザインパターンや先人のTips等を組み込み適切な設計を目指しています。 特に序盤ではシーン管理や異なる画面間でのデータの受け渡し、ゲームの骨格の作り方などを紹...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館での疑問
返信数: 4
閲覧数: 2738

Re: 龍神録プログラミングの館での疑問

GetJoypadInputStateで取れてくる値は「ビットアサイン」となります。 例えば1バイトの変数は8bitで出来ていますから、bitの様子を0,1で表現すると 00000000 という形になります。 0bit目が0ならボタン1が押されていない、1ならボタン1が押されている、 1bit目が0ならボタン2が押されていない、1ならボタン2が押されている。。。 といった具合に各位置のbitの0,1が多数のボタンに対応しています。 また、論理積とは入力が二つとも1の時だけ1を出力する計算方法です。 0と0は0 1と0は0 0と1は0 1と1は1 です。従って、例えば3bit目を取り出したい時は...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: config.exeの作り方
返信数: 9
閲覧数: 6785

Re: config.exeの作り方

C#であればかなり簡単に作れます。
http://www.atmarkit.co.jp/ait/articles/ ... ws122.html

C++であればレガシーな手法ですが、MFCを使うと簡単にダイアログベースのアプリが作れます。
http://www.g-ishihara.com/

龍神録2の設定画面を見て頂いたのかもしれません。あの程度なら1~2時間で出来てます。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 使用開発環境
返信数: 2
閲覧数: 1763

Re: 使用開発環境

使用しているOSや作りたい物によります。
windowsであれば通常visual studioでしょう。
無償版で十分使えます。
AndroidならAndroidStudio、iOSならXcodeなど回答も変わってきます。
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: C++ パラメータの異なった敵の複製
返信数: 8
閲覧数: 4651

Re: C++ パラメータの異なった敵の複製

たいちうさんの質問と並行してご回答頂けると幸いです。 コンストラクタで直に代入していたら、それは確かに変更が効きませんよね。 パラメータの定義を内部に持ちたいということであれば、このような実装はどうですか? Enemyクラスの中にパラメータクラスを定義し、そのパラメータIDをセットするような実装です。 class Enemy { public: class Param { public: int a, b, c; }; Enemy(int id) { _prm = _param[id]; } private: const static Param _param[10]; Param _prm;...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: C++ パラメータの異なった敵の複製
返信数: 8
閲覧数: 4651

Re: C++ パラメータの異なった敵の複製

もしもっと賢くセットしたいなら、パラメータのセットにはデザインパターンBuilderパターンを利用したりメソッドチェーンを実装して設定する方法もあります。
メソッドチェーンはC#でよく使われる流行の方法で、C++でも似たような実装は可能です。
https://goo.gl/gPa83W
Builderパターンをメソッドチェーンで実装する方法はEffectiveJAVAに乗っていて、それをC++で実装する方法もあります。
https://goo.gl/tGaWjR
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: C++ パラメータの異なった敵の複製
返信数: 8
閲覧数: 4651

Re: C++ パラメータの異なった敵の複製

質問の内容が読んでてよく理解できないです。 読み直してから投稿されましたか? > Enemyクラスの”敵”を量産しようとしたときに、敵のパラメータがすべて同じで、どうやったら楽に変えれるのだろうと思い 「どうやったら全て同じに出来るのだろう」ではなく「どうやったら楽に変えられるのだろう」という疑問なのですか? それとも共通のパラメータを設定するようになっていて、一か所を変更したらその内容がすべてに適用されるようにしたいのでしょうか。 > コンストラクターに引数を持たせて外で定義してあげたらいいし、さらにはshared_ptr<>を使えばわかりやすくなるくらいの知識はあります 敵のパラメータとs...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 管理人の新作ゲーム「四聖龍神録2」公開しました! [雑談]
返信数: 2
閲覧数: 1825

Re: 管理人の新作ゲーム「四聖龍神録2」公開しました! [雑談]

にこよんさん、御意見御感想の掲示板でもコメント頂き、
プレイして頂いてありがとうございました(^^♪
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: 管理人の新作ゲーム「四聖龍神録2」公開しました! [雑談]
返信数: 2
閲覧数: 1825

管理人の新作ゲーム「四聖龍神録2」公開しました! [雑談]

紹介動画
[nico]http://www.nicovideo.jp/watch/sm31687779[/nico]

公式HP
http://dixq.net/ryujin2/index.html

制作に20ヶ月かかりました。
ご意見ご感想頂けるとありがたいです♪
by Dixq (管理人)
6年前
フォーラム: 四聖龍神録2 掲示板
トピック: 感想コメント投稿所
返信数: 40
閲覧数: 67860

Re: 感想コメント投稿所

だいきゅんさん 四聖龍神録2を遊んでいただきありがとうございます。 > 自機の当たり判定がけっこう大きめなんですね はい、四聖龍神録はアイテムを購入することで当たり判定が小さくなったり自機が強くなったりするので、どうしても初期状態は東方等より弱くせざるを得ませんでした。 そうはいっても初期状態でも楽しめるように今後調整していきます。 > ちなみに、今作四聖龍神録2もC言語で作られたのですか? ピュアなC言語は使っておりません。C++とDXライブラリで作成しています。オブジェクト指向による設計で出来ています。 従って四聖龍神録1とは全く違う作りになっています。(もう四聖龍神録1作り始めたの10年...
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: Opencv関連で発生するlnk2019エラーについて
返信数: 23
閲覧数: 16510

Re: Opencv関連で発生するlnk2019エラーについて

WIN32プロジェクトで実行されているようですので、
WIN32コンソールアプリケーションのプロジェクトを作って試してみて下さい。
ss.png
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib.h が開けない
返信数: 7
閲覧数: 6368

Re: DxLib.h が開けない

ビルドは成功しているのにインストールに失敗するパターンとしては、既に同じパッケージ名のアプリがインストールされているような場合がありますが、そのようなことはありませんか?
by Dixq (管理人)
6年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib.h が開けない
返信数: 7
閲覧数: 6368

Re: DxLib.h が開けない

うーん、それならあっているはずですね・・。
私もAndroid版が公開されてすぐに説明通りにやってうまくいきましたので、ホームページの内容に間違いはないように思います。
コンパイル時に出るエラーメッセージを一字一句そのままコピペでこちらに掲載できますか?

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