検索結果 1623 件

by Dixq (管理人)
1日前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 15
閲覧数: 471

Re: 2Dの衝突判定がキッチリと出来ない、、

あ、確かによく読んだらその通りでしたね。失礼しました。
by Dixq (管理人)
5日前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 15
閲覧数: 471

Re: 2Dの衝突判定がキッチリと出来ない、、

少ない情報からない頭で考えてみるに、複数の壁があるときにおかしくなるということを考えると、 そもそも当たり判定の判定先が一つなのが奇妙に感じます。 無題.png 今二つの壁に向かって円いプレイヤーが進んでいたとして、その先に進めるかどうかは少なくとも二つのブロックを調べる必要があるはずです。 比較対象が一つしかないと思っているからおかしいのではないでしょうか。 しかし仕様もよくわからない状態でそのようなコードを見せられても私には明確な回答ができません。 プレイヤーがインベーダーのような動きをするのか、 初代ドラクエのような動きをするのか、 ボンバーマンのような動きをするのかにもよるでしょう。 ...
by Dixq (管理人)
6日前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 15
閲覧数: 471

Re: 2Dの衝突判定がキッチリと出来ない、、

当たり判定の確認をするときは、視覚的に確認できるようにするのも手ですよ。
例えばシューティングを作るとき、レーザーと自機が正しく当たり判定計算できているか確認するとき
https://dixq.net/rp/34.html
こんな風に実際のレーザーの上に当たり判定を描画して確認しました。
当たり判定として計算する部分を四角形で上書きするなどし、視覚的に正しいか確認してみると、
分かりやすいと思いますよ。
意外と±やベクトルの方向が逆に画面右半分全部抜けてるなんてこともあります。
by Dixq (管理人)
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式はいらない子?
返信数: 11
閲覧数: 523

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

"「俺今めっちゃプログラミングしてる」感"を大事にしたい頃は命令型プログラミングをしていてよいと思います。 そのうち、より効率的に可読性高く、かつマルチスレッドセーフにということを考えていくと 自然と関数型プログラミングの考え方に出会うことがあると思うので、 必要だという段階に達した時にまた考えればよいと思います。 JavaだってJava7まではStreamAPIはありませんでしたし、C++もC++11,14まではありませんでした。 それまでは無しでもみんな大規模なシステムを作っていたのです。 しかし、より効率よく、バグの少ないコーディングをするかと突き詰めていくと今とは違うコーディングに行き...
by Dixq (管理人)
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式はいらない子?
返信数: 11
閲覧数: 523

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

# 北海道在住のため、地震でしばらくこれませんでした・・。 ラムダ式はStreamAPIと相性がよく、関数型プログラミングを実現させてくれる点も見逃せません。 もし命令型プログラミングと、関数型プログラミングの違いが分からなければ、リンク先をご覧ください。 https://qiita.com/munieru_jp/items/6c0dbada463e00429fd1 以下のコードはリンク先からの引用です。 List<String> numTextList = Arrays.asList("0", "1", null); List<Integer> numList = new ArrayList...
by Dixq (管理人)
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 長押しで調整ができるジャンプのアルゴリズム
返信数: 6
閲覧数: 316

Re: 長押しで調整ができるジャンプのアルゴリズム

サンプルコードを書いてみました。 Zを長押しするか、Zをチョン押しするかで高さが変わります。 Escボタンで状態をリセットできます。 #include "DxLib.h" const static int T = 40; //ジャンプボタン有効時間 const static int V = -6; //ジャンプ初期速度 const static int R = 20; //ボールの半径 static int counter; static bool isAvailableJumpKey; static bool isJumping; static float x,y,v; void initi...
by Dixq (管理人)
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 長押しで調整ができるジャンプのアルゴリズム
返信数: 6
閲覧数: 316

Re: 長押しで調整ができるジャンプのアルゴリズム

スーパーマリオブラザーズ3のマリオのジャンプを想定して答えていいでしょうか。 恐らく頂点になる位置で長押しを効かなくしているわけではなく、実際にはその少し手前で効かなくしていると思います。 ジャンプボタンを押している間は上方向に上がる速度vを一定にし、ある時間(T)を境にvの代入をやめます。 私が前述の通り説明した理屈で実装すると、vの代入をやめた時点からジャンプの減速が始まります。 頂点に達するまでの時間は正確には分かりませんが、分からなくても問題ないと思います。 このTの時間を決めればよいだけだと思います。 時間Tを過ぎたら着地するまで次のジャンプは受け付けません。 ・・・と文章で言っても...
by Dixq (管理人)
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 長押しで調整ができるジャンプのアルゴリズム
返信数: 6
閲覧数: 316

Re: 長押しで調整ができるジャンプのアルゴリズム

コードを読んでもよく分かりませんが、g_nSideLengthは何をする値ですか?
基本的に2Dにおける移動は
x,y座標、速度v、角度angleがあれば常に以下で計算できます。

x += cos(angle)*v;
y += sin(angle)*v;

このvをある程度上に向けた状態からボタンを離すと徐々に減らし、頂点を境にマイナスになればいいのです。
速度vなる変数を用意して計算してみてください。
by Dixq (管理人)
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 長押しで調整ができるジャンプのアルゴリズム
返信数: 6
閲覧数: 316

Re: 長押しで調整ができるジャンプのアルゴリズム

コードは読んでいませんが、マリオのようなことがしたいのであれば、速度vを用いればよいでしょう。 まず2Dで考えてみます。 vは常に減算されています。 v -= 0.01; のような計算をしますが、ボタンを押している間は常に v = 1; のような値が入っています。y座標は常に速度を加算します。 y += v; するとボタンを押している間は上に飛ぶはずで離した瞬間から減速(速度の減算)が始まり、 上のパラメータの例では、ボタンを離してから100フレーム目がジャンプの頂点になるはずです。 そこからドンドン下に落ちていくはずです。 (y座標が+が下の環境であればプラスマイナスを読み替えてください) ...
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラムの館のファイルをダウンロードしたのですが
返信数: 11
閲覧数: 472

Re: 龍神録プログラムの館のファイルをダウンロードしたのですが

もう少し状況を整理してわかり易いように順序立てて丁寧に説明してもらえないでしょうか。 また、こちらから聞いている事にはすべて答えてくれないと話が進まないです。 番号を付けますのでそれぞれに回答を御願いします。 ①配布しているプロジェクトを一字一句変更することなくそのままコンパイルすると画面が応答不能になるのですか? ②配布しているプロジェクトのどこかのコードをサイトからのコピーで置き換えると応答不能が直るのですか?その具体的なコードの場所を教えてください。 ③ここで公開しているソースコードとは違うコードを書いた件は本質問とは関係ないと考えていいですね?結局は一字一句同じコードなんですね? ④使...
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム:サウンドの時間調整
返信数: 17
閲覧数: 622

Re: ゲーム:サウンドの時間調整

一つ一つのコードの理解をしながら書いてみてください。
https://dixq.net/g/
の内容をよく読んでいただいたらDXライブラリの使い方は分かると思います。
書いていて一行でも分からないコードがあれば質問しながら一つ一つ理解しながらコーディングを進めてみてください。
沢山トピックを立ててもらっても構いませんので。

C言語についてよく分からないということであれば書籍で勉強してみてください。

超初心者用ならこちら

少し初心者用ならこちら

がおすすめです。
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム:サウンドの時間調整
返信数: 17
閲覧数: 622

Re: ゲーム:サウンドの時間調整

> シャドウさん stopを消したらif文や時間計測関連の処理がなんの意味もなしていませんよね・・。 「1分間音楽を再生したい」とのことでしたが、ずっと再生されていればそれでいいのでしょうか? これだと終わることなく延々と音楽を繰り返し再生し続けるように思いますが。 ただ延々と音楽を再生するだけであれば以下のコードでよいですよ。 #include "DxLib.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREE...
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラムの館のファイルをダウンロードしたのですが
返信数: 11
閲覧数: 472

Re: 龍神録プログラムの館のファイルをダウンロードしたのですが

まだよく分かりませんね・・。
以下のうちどれですか?

1. 配布しているプロジェクトをそのままコンパイルした
2. 配布しているプロジェクトのコードに自作コードを追加した
3. プロジェクトは自作で、HPのコードをコピペした
4. プロジェクトもコードも自作

また、「応答してないのが改善されます」というのは、
自作コードではウィンドウが「応答なし」の状態になるが、HPのコードをコピペするとそれがなく
正常に動作するようになるという意味でしょうか?
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラムの館のファイルをダウンロードしたのですが
返信数: 11
閲覧数: 472

Re: 龍神録プログラムの館のファイルをダウンロードしたのですが

何をどうやってどうなったのか具体的に書いてもらわないと答えられないです。
例えば「数学解いてるんですが、なんだか答えがあいません、どうしてですか?」と言われてもこちらは全く分からないのと同様です。

プログラムソースコードは自分で書いたのですか?
それともサイトのコードをダウンロードしてコンパイルしただけですか?
実行結果、ウィンドウは出るものの、応答なし状態になるのでしょうか?
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム:サウンドの時間調整
返信数: 17
閲覧数: 622

Re: ゲーム:サウンドの時間調整

LoadGraphがものすごい勢いでメモリリークさせています。 newしているのにdeleteしていない状態です。 画像のロードはメインループに入る前に行ってください。 鳴らした音を正確に1分後に止めたいなら、時間を測る方がよいです。 全てのモニタが60Hzで動いているわけではありません。 ゲーミングモニタ等は144Hzなどもありますので、FPSを制御していない状態でカウンタに頼るのは危険です。 GetNowCountという関数で現在のミリ秒が取得できるので、それで60*1000ミリ秒測って止める方がよいでしょう。 ソースコードの例はこのようになります。 #include "DxLib.h" ...
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリの導入
返信数: 4
閲覧数: 251

Re: DXライブラリの導入

すみません、回答遅くなりました。
もう解決済みのようですが、最初の設定方法については1.1章に書いてあります。
https://dixq.net/g/01_01.html

最初は小さなことでも困難に思えると思いますので、また気軽に聞いてください。
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: サウンドノベル型のゲームのタイトル画面
返信数: 14
閲覧数: 467

Re: サウンドノベル型のゲームのタイトル画面

DrawGraphで透過を使う場合は最後の引数をTRUEにしてください。

ただ、テストコードならいいですが、ゲームプログラムとして作る場合は
上でもお話しした通り、1.9章のソースコードはDXライブラリを使う上で必要な最小限のコードなので、
https://dixq.net/g/01_09.html
このコードが無いと、ゲームプログラムとして機能しません。

まずはメインループを作り、ループに入る前に初期化処理、ロード処理などをし、
メインループ内で毎フレーム削除、描画を繰り返すコードにしてみてください。
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム:サウンドの時間調整
返信数: 17
閲覧数: 622

Re: ゲーム:サウンドの時間調整

えぇと最終的には思ったことができていないということでいいのでしょうか?
やりたいことは1分位のBGMを流すだけですか?
2秒に一回やりたいことは何ですか?

これは別のトピックでもいっているDXライブラリの最小限のコードが入っていません。
メインループを作る必要があります。
現在のコードはただ一瞬で処理がWaitKeyまで進んでそこで待機しているだけです。
まずは1.9章の最小限のコードを組み込んでください。
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: サウンドノベル型のゲームのタイトル画面
返信数: 14
閲覧数: 467

Re: サウンドノベル型のゲームのタイトル画面

ソースコードはどのようになったのでしょうか?
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: サウンドノベル型のゲームのタイトル画面
返信数: 14
閲覧数: 467

Re: サウンドノベル型のゲームのタイトル画面

既にご覧いただいているようですが、DXライブラリの使い方はこちらで紹介しています。
https://dixq.net/g/

書かれているプログラムには描画したものを消す処理がかかれていませんので、
常に上書き描画しかできない状態です。

1.9章がDXライブラリを使う上での最小限のコードですので、そちらを参考にしてください。
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム:サウンドの時間調整
返信数: 17
閲覧数: 622

Re: ゲーム:サウンドの時間調整

いちいちつっかかるようで申し訳ないですが、割られる数ってCountのことですよね?
何故これを増やすと解決するのか分かりません・・。
あと、上で言ったように何故DX_PLAYTYPE_BACKをDX_PLAYTYPE_LOOPにしているのかも・・。
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム:サウンドの時間調整
返信数: 17
閲覧数: 622

Re: ゲーム:サウンドの時間調整

そのコードだと2秒毎に無限ループする効果音が鳴り始めそうですが、やりたいこととあってますか?

# 全然質問とは関係ないですが、そこで「揶揄的な表現」って変じゃないですかね。
# 本当に、揶揄う(からかう)意図があったのなら別ですが…。比喩的でもないし、抽象的とかでしょうか。
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: サウンドノベル型のゲームのタイトル画面
返信数: 14
閲覧数: 467

Re: サウンドノベル型のゲームのタイトル画面

具体的に何が知りたいのか教えてください。
DXライブラリであればこちらに説明が書いてあるので一読ください。
https://dixq.net/g/

タイトル画面を作りたいといっても、他の画面と共存させたり、処理を分けられるように設計する方法が知りたいのか、
単にタイトル画面に画像や文字を描画する方法が分からないのかなどで回答が変わってくると思います。
また、「サウンドノベル型」というものがどのようなイメージなのかも教えてください。
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 引数を二重に定義するような書き方は問題ないのでしょうか?
返信数: 5
閲覧数: 332

Re: 引数を二重に定義するような書き方は問題ないのでしょうか?

実現したいことがよくわかりませんが、関数のオーバーロードとは別ですか?
以下のように同じ関数名で引数の異なる定義を沢山作ることはできます。

コード:

#include <stdio.h>

void add(int a) {}

void add(int a, int b) {}

void add(double a) {}

void add(double a, double b) {}

int main() {
    //hoge
}
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 雑談でもないですけれども
返信数: 17
閲覧数: 831

Re: 雑談でもないですけれども

ご提案の内容を私もあまり理解していませんが、 要するに「『Python何でも質問掲示板』 "Deep learning まで!" 」という掲示板を新たに作った方がよいと提案されているということでしょうか。 上でも申し上げた通り質問掲示板を二つに分けると利用者が分散してしまうことを危惧しています。 (分散すれば新しい方が廃れるだけでなく、古い方も廃れてしまう可能性もあります。) これも繰り返しになりますが、新しいコンテンツを作ったらそれなりの時間をかけて軌道にのせなければなりません。 そして私には回答できるだけのPythonの知識はなく、多忙な業務と二児の父として家庭にも時間を割かねばならず、 ...
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 雑談でもないですけれども
返信数: 17
閲覧数: 831

Re: 雑談でもないですけれども

色々と提案ありがとうございます。 もし、名前変えずに、他の言語の質問も許容するということであれば、 フォーラムルールに既にそのような記載があります。 https://dixq.net/forum/rules > 質問はC言語に限りません。プログラムや開発環境等に関することなら何でも気軽に質問して下さい。 >(勉強会やセミナーに関する情報交換の場として利用して頂いてもOKです) ルール上C言語以外の質問もOKとしておりますし、スキルアップのための情報交換の場としてもよいことにしています。 いかがでしょうか。 確かに当サイトは私が大学生の頃作ったものでもう十数年以上前ですので、 流行りの移り変わり...
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 雑談でもないですけれども
返信数: 17
閲覧数: 831

Re: 雑談でもないですけれども

②については、
私は知りませんでした。
御津凪さんが実装されたようです。相談してみます。
by Dixq (管理人)
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 雑談でもないですけれども
返信数: 17
閲覧数: 831

Re: 雑談でもないですけれども

ご意見ありがとうございます。 ただ、管理人が詳しくない言語の質問掲示板を設立するのは難しいと思います。 C言語質問掲示板を立てた当時は、それはそれは四六時中毎日回答していました。 設立当時は私しか回答する人がいませんでしたからね。 私が回答できる言語は、C/C++の他にはJavaとKotlin位で、パイソンはかじった程度しか知りません。 後は簡単なWindowsプログラムをC#で書く程度でしょうか。 回答者が確保できそうであれば、新しい掲示板の領域を確保できると思いますが、それが現実分かりません。 軌道に乗せるまで誰かが責任もって面倒見てくれるという半管理人的な方の申し出があれば可能かもしれま...
by Dixq (管理人)
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: c言語 ファイルの読み込み、計算
返信数: 1
閲覧数: 175

Re: c言語 ファイルの読み込み、計算

読み込みたいデータファイルフォーマットは何ですか? 仮にこんなフォーマットのテキストファイルだとしましょう。 1,1 2,1 3,2 4,2 5,1 6,1 7,2 8,2 9,1 10,1 11,1 12,1 13,2 14,2 15,1 16,1 17,2 18,2 19,1 20,1 言語は何でしょうか?C?C++? 別に配列に入れる必要ないんじゃないでしょうか? 例えば1列目が奇数である行の2列目の合計を計算してみましょう。 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { FILE* file = fope...
by Dixq (管理人)
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 動画見ながら作ってたのですが質問です
返信数: 1
閲覧数: 187

Re: 動画見ながら作ってたのですが質問です

int JpgHandle = LoadGraph("face_1.jpg"); //画像の読み込み
の処理が
DxLib_Init();
の前にあるからです。
画像の読み込みなどにかかわるDXライブラリの関数は全て初期化処理の後にコールしなければなりません。
一部設定系の関数で初期化処理前に呼べるものはあります。
(ChangeWindowMode等)

今回の場合は、LoadGraph関数をDxLib_Init()の後に書けば読み込めるはずです。

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