検索結果 175 件

by sadora3
1年前
フォーラム: C言語何でも質問掲示板
トピック: 音ゲーでの譜面の作り方について
返信数: 6
閲覧数: 3764

Re: 音ゲーでの譜面の作り方について

回答ありがとうございます。 static short PerfectNum; //パーフェクトの数 static short GreetNum; //グレートの数 static short BadNum; //バッドの数 static short MissNum; //ミスの数 これはタップしたときの各判定の数をカウントしておくための変数です。 スコアの計算はまだできていません。 確かにホールドノーツとタップノーツを一緒にしてしまうと、メモリがかなり無駄になってしまいますね・・・。時間があるときに改善策を考えようと思います。 機能を詰め込み過ぎというのは、ノーツのクラスが判定やオートプレイフラ...
by sadora3
1年前
フォーラム: C言語何でも質問掲示板
トピック: 音ゲーでの譜面の作り方について
返信数: 6
閲覧数: 3764

Re: 音ゲーでの譜面の作り方について

回答ありがとうございます。 通り過ぎたノーツの破棄は、Y座標が画面外に出たら行ってるので大丈夫です。 これは確かにandroid向けの音ゲーですね。 メモリの話はとても参考になりました。ありがとうございました。 一様実機で動かしてみた感じは、3分くらいの曲でしたが大丈夫っぽかったです。 やっぱりandroidはメモリのことも気にしなければいけないのでしょうか・・・。 今は下記のクラスを、 //ノーツクラス class cNote { private: static const int SIZE; //大きさ static const float PERFECT_DECISION; //パーフェ...
by sadora3
1年前
フォーラム: C言語何でも質問掲示板
トピック: 音ゲーでの譜面の作り方について
返信数: 6
閲覧数: 3764

Re: 音ゲーでの譜面の作り方について

h1j1k1さん回答ありがとうございます。 >>3ビート目の真ん中の辺り としか表現できないと思います うーん。やっぱりそうですよね。流石にそういう音楽の専門の用語とかは無い感じですよね。 現状は、仮でScaleという変数を用意して、どうにかしてます。 3ノーツ目は、3ビート・0.5スケールという表現にしました。 今までは仮にしてきましたが、仮じゃなくてこの表現で決定しようと思います。 >>n秒にノーツが幾つあるという考え方でいいのでは? それですと、ちょっと譜面が作りにくいような気がします。 ビートを無視した譜面には出来ないですし、ビートに合わせようとすると、恐らく計算して配置していかなけれ...
by sadora3
1年前
フォーラム: C言語何でも質問掲示板
トピック: 音ゲーでの譜面の作り方について
返信数: 6
閲覧数: 3764

音ゲーでの譜面の作り方について

現在DXライブラリでandroid向けの音ゲーを作っています。
譜面制作でノーツの表し方が分からずに困っています。
1.PNG
1.PNG (16.01 KiB) 閲覧数: 3764 回
上記の画像を例に挙げると、1つ目と2つ目のノーツは1ビート目にありますよね。
では3つ目のノーツはなんといえばいいのでしょうか?
3ビート目の○○みたいな言い方になると思いますが、どう表現すればいいのでしょうか?
by sadora3
1年前
フォーラム: C言語何でも質問掲示板
トピック: 常駐プログラムのキー入力について
返信数: 0
閲覧数: 3364

常駐プログラムのキー入力について

常駐プログラムを作ろうと、以下のようなプログラムを書きました。 //インクルード #include<Windows.h> //定数定義 #define CLASS_NAME "WinClass" #define WINDOW_NAME "WindowsSDK" //プロトタイプ宣言 LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int AddNotifyIcon(HWND hWnd); void DeleteNotifyIcon(HWND hWnd); //WinMain関数(エントリ...
by sadora3
1年前
フォーラム: C言語何でも質問掲示板
トピック: Unityでの自機ショット連射方法
返信数: 2
閲覧数: 1082

Re: Unityでの自機ショット連射方法

>>ボタンを押してから若干の遅延が出ます これは初弾のことですよね? でしたら、以下のようにすると、匿名さんが想定している動作になると思われます。 void Update () { const int SHOT_INTERVAL = 5; if (Input.GetButton ("Fire1")) { timeCount++; //カウントが発射間隔に達したら、弾を発射 if (timeCount > SHOT_INTERVAL) { timeCount = 0; //カウント初期化 GameObject missile = Instantiate (missilePrefab, trans...
by sadora3
1年前
フォーラム: C言語何でも質問掲示板
トピック: Unity 移動 Input 慣性が乗る
返信数: 5
閲覧数: 1385

Re: Unity 移動 Input 慣性が乗る

Input.GetAxisがどのような処理なのか、ご存知でしょうか?今回の場合は、こちらをご自分で調べて欲しかったです。 恐らく以下のサイトが参考になるかと思われます。(グーグルで「Input.GetAxis」と検索すると、出てきます。) https://qiita.com/RyotaMurohoshi/items/7868752a3f056affa2df こちらのサイトに、「例えば上記のコードで上矢印キーを押した場合、dyにはfloat型で正の値が代入されます。押し始めてすぐのフレームでは0.01Fなど小さな値ですが、連続で押し続けることで、徐々に値が増えていき、1.0Fになります。1.0F...
by sadora3
1年前
フォーラム: C言語何でも質問掲示板
トピック: Unity 移動 Input 慣性が乗る
返信数: 5
閲覧数: 1385

Re: Unity 移動 Input 慣性が乗る

ソースコードを見ない事にはなんとも言えないのですが、恐らくRigidbodyで動かしているのではないでしょうか? transformを使って移動させてみて下さい。 正確な回答が欲しいのでしたら、移動処理を行っている部分のソースコードを提示してください。 グーグルで「Unity 移動」と検索すると、恐らくuniさんが求めている答えが沢山出てくると思います。 今のうちに自分で調べておく癖は付けた方がいいですよ。 問題解決のため調べるスキルは、(特にゲームエンジンでの)ゲーム制作には必須ですので、是非心掛けてみて下さい。 自分で調べて、どうしても答えが見つからなかったときに、この掲示板を頼って下さいね。
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: WINAPIで、変数も表示できる、文字列表示についての質問
返信数: 2
閲覧数: 680

Re: WINAPIで、変数も表示できる、文字列表示についての質問

YuOさん回答ありがとうございます。

言われた通り、
InvalidateRect(hWnd, NULL, TRUE);
UpdateWindow(hWnd);
の2つを追加したら、描画の更新がされました。

WINAPIとWINSDKに関する説明もとても分かりやすかったです。
本当にありがとうございました。
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: WINAPIで、変数も表示できる、文字列表示についての質問
返信数: 2
閲覧数: 680

WINAPIで、変数も表示できる、文字列表示についての質問

WINAPIで、printfのような関数を作ろうと、以下のようなプログラムを組みましたが、私の想定していた動作と違う動きをしました。 //インクルード #include<Windows.h> #include <stdio.h> //定数定義 #define CLASS_NAME "WinClass" #define WINDOW_NAME "WindowsSDK" #define SCREEN_WIDTH (800) #define SCREEN_HEIGHT (600) //グローバル変数宣言 int Num = 5; //プロトタイプ宣言 LRESULT CALLBACK WndProc...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 時代はUnityと言われました。マジですか?
返信数: 19
閲覧数: 9692

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

[追記]
一番大事な話を書き忘れていました。Unityの強みに関する話です。
Unityにはアセットストアという、Unityユーザがゲームで使うための素材を共有しあうストアがあります。無料のものもありますし、有料のものもあります。
Unityの一番の強みはこれだと思います。
もしも自分でゲームに使用する素材を全て用意出来るのであれば、DXライブラリをお勧めします。
が、もっとかっこいい絵が欲しいだとか、派手なエフェクトを導入したいなどの要望があるのであれば、Unityの使用をお勧めします。

オフトピック
※編集に制限時間が設けられたのは中々不便ですね・・・。独り言ですすみません。
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 時代はUnityと言われました。マジですか?
返信数: 19
閲覧数: 9692

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

UnityはC#やjavascriptを使用しています。 勉強する順序的には C# ↓ Unity4 ↓ Unity5 の流れで間違いないですか? 既にC言語を勉強なされているのであれば、C#はがっつりとは勉強しなくていいと思います。 Unity4は触る必要はないと思います。 Unity5か、Unity2017を使うことをお勧めします。 あと、Unityの専門用語っぽい「マテリアル」が理解出来ないです マテリアルを作る、使用する、とよく書いてますが マテリアルって、結局「ライブラリ」の事ですか? そうなれば、なんでわざわざマテリアルって呼ぶのかわかりません。 マテリアルはライブラリではありませ...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: [Unity]ワールド座標からスクリーン座標に変換したが、想定した動作にならない
返信数: 1
閲覧数: 1287

Re: [Unity]ワールド座標からスクリーン座標に変換したが、想定した動作にならない

現状ロックオンマーカーをUIではなく、ビルボードとして扱うことでこの問題を回避出来ました。 が、根本的な解決にはなっていないので、もし分かる方がいれば、引き続き回答の方よろしくお願いします。 ちょっと質問が分かりにくかったかもしれないので補足です。 現状知りたいのは、CanvasのRenderModeが「ScreenSpace Camera」で、PlaneDistanceが1のときの、正しい「ワールド座標からスクリーン座標に変換」する方法です。 PlaneDistanceを100まで上げることで、ロックオンマーカーがずれることはなくなりますが、UIすべてが3Dオブジェクトよりも後ろに描画されて...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: [Unity]ワールド座標からスクリーン座標に変換したが、想定した動作にならない
返信数: 1
閲覧数: 1287

[Unity]ワールド座標からスクリーン座標に変換したが、想定した動作にならない

まずは下のGIFを見て欲しいです。 https://dotup.org/uploda/dotup.org1378844.gif.html 今ロックオンをしている敵の位置に、ロックオンマーカーを表示させたいのですが、カメラが動くとロックオンマーカーの表示が敵からずれてしまいます。 CanvasのRenderModeは「ScreenSpace Camera」です。 そして、PlaneDistanceは1のまま、ロックオンマーカーをずれることなく表示させたいです。 今、スクリプトは下記のようになっています。 using System.Collections; using System.Collect...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: インテリセンスにprivate変数を表示させないようにしたい
返信数: 4
閲覧数: 749

Re: インテリセンスにprivate変数を表示させないようにしたい

>>purin52002さん Pimplイディオムは、非常に参考になりました。 回答ありがとうございました。 >>keito94さん マニアックでしょうかw >>ISLeさん 確かにprivate変数は、自クラススコープ内ではアクセス権があるので、インテリセンスに表示されるべきでしたね。 納得しました。 早速VisualStudio2017Communityをダウンロードしてみましたが、これインストールめちゃくちゃ大変ですね。 ワークロードを選ばなければならない仕様は、プログラム未経験者を混乱させ、プログラミング入門の敷居を高くしているのではないだろうかと思いました。 ですが、必要となった時に...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: インテリセンスにprivate変数を表示させないようにしたい
返信数: 4
閲覧数: 749

インテリセンスにprivate変数を表示させないようにしたい

タイトルにもある通り、インテリセンスにprivate変数を表示させないようにしたいです。 コンパイラ:VisualStudio2010 言語:C++ OS:Windows10 例えば、下のようなクラスがあったとします。 class TEST{ private: int aaa; float bbb; char ccc[256]; public: void F(); int F2(); }; そして、どこかのローカルスコープで、 Test. と書き、Ctrl + Spaceを押すと、インテリセンスが表示されますよね。 しかし、このままだと、「aaa」「bbb」「ccc」「F()」「F2()」が表...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: DirectX9で、DXライブラリの「DrawSphere3D関数」を実装したい
返信数: 5
閲覧数: 768

Re: DirectX9で、DXライブラリの「DrawSphere3D関数」を実装したい

ありがとうございます。
URL先の方で聞いてこようと思います。
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: DirectX9で、DXライブラリの「DrawSphere3D関数」を実装したい
返信数: 5
閲覧数: 768

Re: DirectX9で、DXライブラリの「DrawSphere3D関数」を実装したい

申し訳ありませんが、心当たりがありません。
私はアカウントを一つしかもっておりません。
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: DirectX9で、DXライブラリの「DrawSphere3D関数」を実装したい
返信数: 5
閲覧数: 768

DirectX9で、DXライブラリの「DrawSphere3D関数」を実装したい

DirectX9で、DXライブラリの関数の一つである、「DrawSphere3D関数」を実装したいのですが、どうすれば出来るのでしょうか? 空間に線を描画していけばいいと思うのですが、その計算式はどういったものになるのでしょうか? それと、球の塗りつぶしは行わないようにしたいです(DrawSphere3D関数のFillFlagを、falseにしたいという意味です)。 現状のプログラムは以下のようになっております。 まだ、空間に線を3本描画しただけです。 言語:C++ コンパイラ:VisualStudio2010 ライブラリ:DirectX SDK June2010、hogeライブラリ(自作のラ...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: キャストの警告が出ない
返信数: 2
閲覧数: 804

Re: キャストの警告が出ない

なるほど!わかりました!
1/5は0になってしまうんですね。昔勉強したのに、忘れてました・・・。
こちらのコンパイラで、
unsigned char c = 1/5.0;
unsigned char d = 1/5;
これが、上は警告が出てくれるのに対して、下は警告がでないのを確認できました。
回答ありがとうございました。
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: キャストの警告が出ない
返信数: 2
閲覧数: 804

キャストの警告が出ない

タイトルにある通り、キャストに関する警告が出てくれません。 Bill.SubAlpha(255 / 50); と、記述して、キャストの警告が出るんだろうなと思いつつ、ビルドしてみたら、警告が出ませんでした。 SubAlphaのプロトタイプ宣言は次のようになってます。 void SubAlpha(const unsigned char _Alpha); これ、double型から、unsigned char型への変換ですよね? なぜ、警告がでなかったのでしょうか? 警告レベルを4にしてみて、リビルドしても警告は出ませんでした。 おかしいなと思ったので、 void F(int a); と宣言し、 F...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: ベクトルの方向にモデルを向けたい
返信数: 2
閲覧数: 398

Re: ベクトルの方向にモデルを向けたい

Mathさん回答ありがとうございます。 しかし、大変申し訳ありませんが、解決法はお昼ご飯を取りながら自分で出せてしまいました。 void MISILLE::Update(){ //発射フラグが立ってなければ返る if(!m_ShotFlag){ return; } m_Pos -= m_Vec; //座標の更新 //モデルの座標更新 m_Model.SetPos(m_Pos); //ベクトルをコピー D3DXVECTOR3 TempVec = m_Vec; //ベクトル正規化 D3DXVec3Normalize(&TempVec, &TempVec); //水平方向回転値を求める(ラジアン) ...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: ベクトルの方向にモデルを向けたい
返信数: 2
閲覧数: 398

ベクトルの方向にモデルを向けたい

モデルをベクトル方向に向けたいのです。 以下のプログラムのベクトルm_Vec方向にミサイルが飛んでいくのですが、現状ですと、どの方向に撃っても角度が変わりません。 m_Vec方向の角度(ピッチとヨーとロール。単位はラジアン)はどのようにして求めればいいのでしょうか? コンパイラ:VisualStudio2010 言語:C++ ライブラリ:DirectX SDK June2010 あともう一つ質問があります。 DirectXはライブラリと呼んで正解なのでしょうか? void MISILLE::Update(){ //発射フラグが立ってなければ返る if(!m_ShotFlag){ return;...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 「オブジェクトにメンバ関数と互換性のない型修飾子があります」というエラーについてです
返信数: 5
閲覧数: 1766

Re: 「オブジェクトにメンバ関数と互換性のない型修飾子があります」というエラーについてです

もう解決をつけてしまった後で申し訳ありませんが、もう一つ質問をさせてください。

ゲッター関数は、問題がなければ全てのゲッター関数を例外なくconstメンバ関数にした方がいいと思いますか?
それとも、「オブジェクトにメンバ関数と互換性のない型修飾子があります」というエラーが出た場合に、仕方なくconstメンバ関数に変更するといった方法がいいのでしょうか?

個人的には前者だと思うのですが、どうでしょうか?
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 「オブジェクトにメンバ関数と互換性のない型修飾子があります」というエラーについてです
返信数: 5
閲覧数: 1766

Re: 「オブジェクトにメンバ関数と互換性のない型修飾子があります」というエラーについてです

constメンバ関数というのですね。
URL先のページは大変参考になりました。
知らないことも結構ありました・・・。
回答ありがとうございました。
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 「オブジェクトにメンバ関数と互換性のない型修飾子があります」というエラーについてです
返信数: 5
閲覧数: 1766

「オブジェクトにメンバ関数と互換性のない型修飾子があります」というエラーについてです

「オブジェクトにメンバ関数と互換性のない型修飾子があります」というエラーについての質問です。 コンパイラは、VisualStudio2010で、C++で、DirectXを用いてゲームを作っていたときに起こりました。 ↓このサイトに解決法は乗っておりました。 http://d.hatena.ne.jp/pogin/20120113/1326480333 こちらのサイトのように、ゲッターの)と{の間にconstを書くことで、解決はしたのですが、この書き方に納得できません。それになんだか気持ち悪いです。 どうして、)と{の間にconstを付けなければならないのでしょうか? 「オブジェクトにメンバ関数...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 移動とジャンプが上手く行きません。
返信数: 19
閲覧数: 2633

Re: 移動とジャンプが上手く行きません。

NO.9のソースコードを見ましたが、NO.1のソースコードに戻っていないように思われます。 http://difff.jp/ こちらのサイトでNO.9のコードと、NO.1のコードを比較しましたが、8行目と、126行目以外の行が書き換わっていました。具体的には、 82行目の *MoveY = bby - Y - 1.0F; が、 *MoveY = bby - Y + 1.0F; に書き換わっていたり、110行目の if (MapHitCheck(*X - hsize, *Y - hsize, &Dummy, &MoveY) == 4) *DropPower = -1.0F; が、 if (Map...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 移動とジャンプが上手く行きません。
返信数: 19
閲覧数: 2633

Re: 移動とジャンプが上手く行きません。

>>keito940さん
あれ、おかしいですね。こちらではジャンプ後も正常に移動出来ましたし、ジャンプの回数は最大で2回までしか出来ませんでしたよ。

NO.1のソースコード(最初に提示したコード)の方に戻してから、8行目と126行目を修正しましたか?そうすれば大丈夫なはずなのですが。
もし、そうしたのであれば、またソースコードを見せて頂きたいです。
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 移動とジャンプが上手く行きません。
返信数: 19
閲覧数: 2633

Re: 移動とジャンプが上手く行きません。

>>みけCATさん 画像の件ですが、確かにこちらでも用意できましたから、そうすればよかったですね。 ご指摘ありがとうございます。今度そうします。 >>keito940さん ああ、私の回答で混乱させてしまい申し訳ありません。 私が指摘した部分は触ってはいけませんでした。 ですので、NO1のソースコード(最初に提示して頂いた方です)の方に戻してください。 みけCATさんが指摘してくれたように、126行目の、 if (GetChipParam(*X - Size*0.5F, *Y + Size*0.5F) && (*X + Size*0.5, *Y + Size*0.5F)) { こいつがいけなかっ...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 移動とジャンプが上手く行きません。
返信数: 19
閲覧数: 2633

Re: 移動とジャンプが上手く行きません。

画像がないので、こちらで実行しても真っ暗な画面が描画されるだけでした。 DrawBoxやDrawCircle関数を使い、頑張って画像なしでも実行出来るようにするか、画像も一緒に添付してくれると助かります。 以下は憶測で回答します。 212~215行目辺りが怪しそうです。 //落下処理 DropPower -= Gravity; //落下速度を移動量に追加する MoveY += DropPower; このように直したら、ジャンプは正常になりませんでしょうか? 追記: あ、違いました。失礼しました。 131行目をコメントアウトすればジャンプ出来るようになると思います。
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 値渡しと参照渡しの違い
返信数: 8
閲覧数: 860

Re: 値渡しと参照渡しの違い

参照渡しと、値渡しの違いを図示してみました。 プログラム歴が短いので、間違っていたらすみません。 まずは、参照渡しの図示から。 http://upup.bz/j/my65885AeeYtZq0mxoxV6Ls.png http://upup.bz/j/my65886YpNYtZq0mxoxV6Ls.png http://upup.bz/j/my65887fIeYtZq0mxoxV6Ls.png こっちは値渡しの図示 http://upup.bz/j/my65888wQIYtZq0mxoxV6Ls.png http://upup.bz/j/my65889tnTYtZq0mxoxV6Ls.png ...
by sadora3
2年前
フォーラム: C言語何でも質問掲示板
トピック: 値渡しと参照渡しの違い
返信数: 8
閲覧数: 860

Re: 値渡しと参照渡しの違い

17行目と18行目と28行目が変です。
17行目には全角の空白が含まれているため、エラーです。
18行目はダブルクォーテーションマークの位置を間違えています。
28行目は、tmpがポインタ変数じゃないのに、間接演算子(*)がつけられています。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 16進数の下位2桁を取り出す処理について
返信数: 41
閲覧数: 4349

Re: 16進数の下位2桁を取り出す処理について

回答ありがとうございます。
今の私には難しい問題だと思いました・・・。
とても理解出来ませんでした。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 16進数の下位2桁を取り出す処理について
返信数: 41
閲覧数: 4349

Re: 16進数の下位2桁を取り出す処理について

C言語上ではバイトオーダーは気にしなくてもいいのですね。
では、なぜリトルとビッグがあるのでしょうか?
実行速度が若干変わったりするのでしょうか?
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 16進数の下位2桁を取り出す処理について
返信数: 41
閲覧数: 4349

Re: 16進数の下位2桁を取り出す処理について

なんてコードだとびっくりしました!
defineを使う発想は思いつきもしませんでした。
しかも、2つめの回答もいい意味でいかれています!
こんな天才的な発想がよく出来ますね!
みけCATさんにはいつもお世話になっています。本当にありがとうございました。

この質問に回答してくれた他のお二方もありがとうございました!
物凄く勉強になりました!
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 16進数の下位2桁を取り出す処理について
返信数: 41
閲覧数: 4349

Re: 16進数の下位2桁を取り出す処理について

>>みけCATさん 申し訳ありませんが、仰っていることが分かりません・・・。 キャストはtempをキャストするのでしょうか?また、何型にキャストするのでしょうか? 「unsigned char型を含むcharacter typeのポインタ」というものが理解できません。character typeのポインタとはなんでしょうか? >>C6b14さん もしプロトタイプ宣言部をそのように直してしまうと、main関数内の関数使用部を変更しなければならなくなってしまいます。 問題文に、「「空欄」と記された部分を埋めてプログラムを完成させよ。」とあるように、空欄以外の部分は触ってはいけない決りとなっているた...
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 16進数の下位2桁を取り出す処理について
返信数: 41
閲覧数: 4349

Re: 16進数の下位2桁を取り出す処理について

あ!実行せずに変なこといって申し訳ありませんでした。
実行してみたらちゃんと下位2桁を取り出せていました。
以下のような計算になると勘違いしていました・・・。本当に申し訳ありません。

例えば4A5Bと入力したとする。
4A5B
FF
これの論理積になるので、出力は4Aとなる。

では、この問題はどうやって関数のプロトタイプ宣言を一つで済ませるか。という問題なのですね。
void DispSimo(void* temp);
これであっているのでしょうか?
また、こうした場合、実体を使うにはどうすればいいのでしょうか?
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 16進数の下位2桁を取り出す処理について
返信数: 41
閲覧数: 4349

Re: 16進数の下位2桁を取り出す処理について

*temp = *temp & 0xFF;
このやり方ですと、上位2ケタを取り出していませんか?
それともリトルエンディアンは、この記述で下位2ケタを取り出したことになるのでしょうか?
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 16進数の下位2桁を取り出す処理について
返信数: 41
閲覧数: 4349

Re: 16進数の下位2桁を取り出す処理について

そうだったのですか・・・ではこの記述では間違っていますね。
では、
void DispSimo(void* temp);
こうなるのでしょうか?
しかし、この記述ですと実体にアクセスするにはどうすればいいのでしょうか?
void*の変数は、実体を使うためにはキャストが必要ですよね?
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 16進数の下位2桁を取り出す処理について
返信数: 41
閲覧数: 4349

16進数の下位2桁を取り出す処理について

学校の課題です。下記のような問題が出ましたが、サッパリ分かりません。 リトルエンディアンについて調べたのですが、理解出来ませんでした。 バイトオーダーがビックエンディアンとリトルエンディアンでは、実行結果が変わるのでしょうか? それと、どうすれば16進数の下位2を取り出せますか? 桁数さえわかれば、あとはシフトして上位桁を追い出していくだけだと思うのですが、16進数の値の桁数の求め方とか分かりません。 OS:Windows10 コンパイラ:VisualStudio2010 言語:C /* 以下のプログラムは「入力された整数の16進数下2ケタを表示する」プログラムである。 例・0x1234567...
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXでのパッド入力について
返信数: 4
閲覧数: 874

Re: DirectXでのパッド入力について

なるほどです。
うーん。やはりUninit関数が最も適していますか・・・。では、Uninit関数に移すとします。
勉強になりました。
回答してくれたお二方、本当にありがとうございました。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXでのパッド入力について
返信数: 4
閲覧数: 874

Re: DirectXでのパッド入力について

キーコンフィグですか・・・プレイヤーに一手間かけさせてしまうのは、気が引けますが、それしか方法はありませんかね。 デストラクタは実行されてないのですか。 もう一つ追加で質問がございます。 パッドクラスのメンバにUninit関数を持たせ、デストラクタの内容をUninit関数に移し、Uninit関数をWinMain関数で呼び出してあげることでこの問題は解決されるのですが、いちいちUninit関数を呼び出すのが面倒です・・・。 そこで、デストラクタをWinMain関数の最後で呼び出す方法は、何かないでしょうか? デストラクタ以外でもいいです。何かWinMain関数の最後でデストラクタの内容を、自動で...
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXでのパッド入力について
返信数: 4
閲覧数: 874

DirectXでのパッド入力について

以下のようなプログラムを組み、複数のパッドを用いて、押されたボタンがどの番号なのかを確認するプログラムを作りました。 しかし、テスト結果を見て、パッドによりボタンの番号の振り方が違うことが分かりました。 そこで、質問なのですが、どうやったらボタンの番号を統一できるのでしょうか? 例えば、PS2のコントローラーの▲に当たる場所のボタンを押したとき、全てのパッドが0番を返してくれるようにしたいということです。 もしくは、DirectXでのパッド入力より、パッド入力が出来る他のライブラリなどをお借りした方がいいのでしょうか? もし、お借りした方がいい場合、どのライブラリをお借りすればよろしいのでしょ...
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 処理が重い
返信数: 1
閲覧数: 480

Re: 処理が重い

こんにちは。PG歴が浅く、間違ったことを言ってしまっていたら申し訳ありませんが、回答させて下さい。 >>ゲーム画面において、プレイヤー、オブジェクトなど色々な処理が多くなり、だんだんと処理が重くなってきました。 でしたら、問題は「UpdateGame ();」か「DrawGame ();」辺りが怪しいのではないでしょうか。 object.cppの処理ですが、私には問題ないように見えます。 それと、気になったことがございます。 main.cppの19行目に MODE mode; このような記述があり、同じくmain.cppの435行目に void SetMode ( MODE mode ) とあ...
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: D3DXVec3Projectについて
返信数: 1
閲覧数: 463

Re: D3DXVec3Projectについて

D3DXVec3Project関数でもワールド座標からスクリーン座標に変換出来ました!
問題は敵の描画処理中にあったSetTransformでした。
自分でもよく分からない処理で、魔法を使った気分ですが、無事自己解決しました。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: D3DXVec3Projectについて
返信数: 1
閲覧数: 463

D3DXVec3Projectについて

DirectXの関数であるD3DXVec3Projectについて質問があります。
この関数でワールド座標にあるオブジェクトの座標を、スクリーン座標に変換したくて試したのですが、上手くいきませんでした。
敵の座標をワールド→スクリーン変換したのですが、プレイヤーが動かなければ成功していました。
しかし、プレイヤーが動く(カメラがプレイヤーに追従するのでカメラも動く)と、スクリーン座標に変換した敵の座標の値がよく分からない値になっていきます。
この関数ではワールド座標からスクリーン座標に変換するのは無理なのでしょうか?
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
返信数: 9
閲覧数: 7375

Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか

ふむふむ。大変勉強になります。ありがとうございます。
20人くらいですか・・・。私のゲームだとそんなに繋がないと思うので大丈夫だと思います。
最初は友達と遊ぶくらいにしようと思っております。
といってもまだ先になりそうですが・・・。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
返信数: 9
閲覧数: 7375

Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか

あれ、そうでしたか。貴重な情報ありがとうございます。
その「通信の基本ルール」というのを学べばDXライブラリでも大丈夫なのですね。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
返信数: 9
閲覧数: 7375

Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか

おお、ありがとうございます。
アマゾンでのレビューも中々ですね。
時間が確保できたら、ネットワークのことについて情報を集め、その後買うのを検討してみます。
ただ、これはDXライブラリの通信関数を使うのではなくて、WinSockになりそうですね・・・。そこがちょこっとネックです。
やっぱりオンラインゲームを作るうえでは避けて通れませんよね・・・。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
返信数: 9
閲覧数: 7375

Re: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか

うーん。中々難しそうですね。
試行錯誤は時間がかかりそうですし、他にやらなければならないことがあるので、潔く諦めようと思います。
回答ありがとうございました。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか
返信数: 9
閲覧数: 7375

DXライブラリを使ったゲームでオンライン対戦を出来るようにするにはどうすればいいのか

現在DXライブラリとC言語(若干C++も混ざってる)でLAN内でプライベートIPアドレスを指定して通信対戦出来るゲームを作りました。 これをルーターの外の世界(WAN?)と対戦できるようにするにはどうすればいいのでしょうか? 何を勉強すればいいのでしょうか? また、勉強などしなくても出来るようになるソフトはありませんか? 自分で何処かのサーバーを借りたりしないといけないのでしょうか? ネットワークの知識はあまり自信ないです。 一応、基本情報技術者を持ってますが、ネットワークは避けて通りました。 ちなみに作ったのはターン制のゲームです。 それと趣味でやっていることなので、勉強にあんまり時間がかか...
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DrawBoxで描画した四角を半透明化したい
返信数: 2
閲覧数: 984

Re: DrawBoxで描画した四角を半透明化したい

回答ありがとうございます!おかげさまで出来ました!
こんなにも簡単に出来るとは思っておりませんでした・・・。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DrawBoxで描画した四角を半透明化したい
返信数: 2
閲覧数: 984

DrawBoxで描画した四角を半透明化したい

タイトルに書いてある通り、DXライブラリの関数の一つである、DrawBoxで描画する四角を半透明化したいのですが、不可能でしょうか?
中は塗りつぶしてある状態です。

OS:Windows10
コンパイラ:VisulaStudio2010
言語:C
ライブラリ:DXライブラリ
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリのチャットプログラムの通信で成功したり失敗したりする
返信数: 1
閲覧数: 444

Re: DXライブラリのチャットプログラムの通信で成功したり失敗したりする

申し訳ありません!自己解決しました!
やはりファイアウォールで弾かれていたようです。
ファイアウォールの例外にチャットプログラムのexeを全てのPCで許可したところ、全てのPCで上手くいきました。
自分でファイアウォールが怪しいと疑っておきながら、確認もせずにここに丸投げしてしまって、かなり軽率な行動だったと思います。
深く反省しております・・・。本当に申し訳ありませんでした。
今後このようなことは事前に確認してから質問いたします。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリのチャットプログラムの通信で成功したり失敗したりする
返信数: 1
閲覧数: 444

DXライブラリのチャットプログラムの通信で成功したり失敗したりする

DXライブラリのサンプルプログラムの「21.チャットプログラム基本」についての質問です。 http://dxlib.o.oo7.jp/dxprogram.html 私は3つのPCを所持しています。以下のPCAとPCBとPCCです。 ・PCA Windows10 LANケーブルでルーターと接続 ・PCB Windows7 無線 ・PCC Windows10 無線 この3つのPCを同じルーター内で上記のチャットプログラムでチャットしようとすると、以下のような結果になります。 ちなみに、ファイアウォールは全てのPCで起動してあります。ファイアウォール切るのは怖いですから・・・。 あと、全てちゃんと受...
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 敵のステータスをファイルで管理したい
返信数: 0
閲覧数: 397

敵のステータスをファイルで管理したい

敵のステータスが記載されたtxtを読み込み、その内容をENEMYクラスのメンバ変数に代入する処理をlistを用いて行いたいです。 以下のプログラムを組んでみましたが、これだと敵一体分しか読み込めません。 これをlistを用いて、txtに書いてある敵の数だけ読み込み、敵の数だけ画面に出力したいのですが、どうすればいいのでしょうか? OS:Windows10 コンパイラ:VisualStudio2010 言語:C++ #include<iostream> #pragma warning(disable:4996) using namespace std; struct VECTOR2{ float...
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 画像のような曲線を描きたいです
返信数: 2
閲覧数: 577

Re: 画像のような曲線を描きたいです

おお、すごいです!
この掲示板の人たちにはいつもお世話になっています。とても感謝しています。
本当にありがとうございました!
私もいつかは回答する側に立ちたいです。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: 画像のような曲線を描きたいです
返信数: 2
閲覧数: 577

画像のような曲線を描きたいです

http://light.dotup.org/uploda/light.dotup.org327341.png 上の画像のような曲線を描きたいです。それをキー入力で真っすぐの状態と曲がった状態に自由に変化させたいです。 とりあえず下のようなコードを書いてみましたが、以下のような問題点があります。 1、初期状態(画像の左側の状態)では、線が真っすぐじゃない 2、キー入力で線を曲げていくと、等速ではなく加速する(等速で移動して欲しい) どうすれば、上の2つの問題を解決できるのでしょうか? OS:Windows10 コンパイラ:VisualStudio2010 言語:C #include"DxLi...
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの分割方法が分かりません
返信数: 4
閲覧数: 559

Re: ファイルの分割方法が分かりません

おおー出来ました! 関数の引数で渡していけば出来るんですね。ただ、非常にめんどくさいですね・・・。 ありがとうございました! //Main/cpp #include"Main.h" #include"Player.h" #include"Enemy.h" PLAYER Player; ENEMY Enemy[ENEMY_NUM]; int ProcessLoop(){ if(ProcessMessage() != 0){ return 0; } if(ClearDrawScreen() != 0){ return 0; } return 1; } int WINAPI WinMain(HINS...
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの分割方法が分かりません
返信数: 4
閲覧数: 559

Re: ファイルの分割方法が分かりません

C言語でのファイルの分割はずっと前ですが、出来ていました。なのでそう意味では初めてではないのですが、C++では初めてです。
ですので、usaoさんが提示してくれたソースコードはすぐ分かりました。
Main.cppで宣言したPLAYERクラスのインスタンスと、ENEMYクラスのインスタンスをBullet.cppで使う方法が分かりません。
Main.cppで宣言したのですから、ENEMY_BULLET::Set(int i)をMain.cppにもっていけば上手くいくと思うのですが、そんなことできませんよね・・・。
by sadora3
3年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの分割方法が分かりません
返信数: 4
閲覧数: 559

ファイルの分割方法が分かりません

今までMain.cppに全部書いてきたコードをファイル分割してみたのですが、Bullet.cppでプレイヤーと敵の座標取得が出来ません。 どうすればいいのでしょうか。 言語:C++ OS:Windows10 コンパイラ:VisualStudio2010 //Main.cpp #include"Main.h" #include"Player.h" #include"Enemy.h" PLAYER Player; ENEMY Enemy[ENEMY_NUM]; int ProcessLoop(){ if(ProcessMessage() != 0){ return 0; } if(ClearDra...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: 通信で複数のデータを一気におくりたい
返信数: 2
閲覧数: 395

Re: 通信で複数のデータを一気におくりたい

以下のようなプログラムになりました。 サイズは直接指定してよかったのですね。 ありがとうございました。 #include"DxLib.h" struct PLAYER{ int X; int Y; }; int ProcessLoop(){ if(ProcessMessage() != 0){ return 0; } if(ClearDrawScreen() != 0){ return 0; } return 1; } int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){ SetOutApplicationLogValidFlag(FALS...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: 通信で複数のデータを一気におくりたい
返信数: 2
閲覧数: 395

通信で複数のデータを一気におくりたい

複数のデータを一気に送信して、それを受信するプログラムを書きたいです。 以下のようなプログラムを組んでみたのですが、turnの値だけ変わりません。 原因はなんでしょうか? それに受信側のプログラムを閉じたときによくわからないエラーが出てきます。 Run-Time-Check Failuer#2 これは一体なんでしょうか? OS:Windows7 ライブラリ:DXLIB 言語:C コンパイラ:VisualStudio2010 ・送信側 #include"DxLib.h" struct PLAYER{ int X; int Y; }; PLAYER P[2]; int ProcessLoop(){...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリで通信で座標のやりとり
返信数: 2
閲覧数: 770

Re: DXライブラリで通信で座標のやりとり

ああ・・・分かりました。
PLAYER P;
NetWorkRecv( NetHandle , &P , DataLength );
こうかくべきだったのですね。
ポインタ変数にはアドレスを格納するべきなのに、実体を格納してしまってたんですかね。

サンプルそのままのはちゃんと動かしてました。

UDPは高速の通信に使うのですね。
リアルタイムで進行するゲームとかですよね。私の対戦ゲームはターン制なので大丈夫そうです。
ネットワークの勉強はちょっとモチベと時間がないので難しそうです・・・。

回答ありがとうございました!
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリで通信で座標のやりとり
返信数: 2
閲覧数: 770

DXライブラリで通信で座標のやりとり

PC同士をLANケーブルでつないで、対戦ゲームを作りたいです。 それでDXライブラリの通信の関数を使ってまず座標のやり取りをしてみようと試みましたが、出来ませんでした。 何が原因なのでしょうか。 ちなみに対戦ゲーム自体は出来ています。 エラー内容は受信側の、 NetWorkRecv( NetHandle , P , DataLength ); ここでアクセス違反らしいです。 それともう一つ質問がありまして、LANでの通信には「UDPを使用して~」の関数は使いませんよね? この関数は世界で通信したいときに使うという認識で正しいでしょうか? OS:Windows7 コンパイラ:VisualStud...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: KeyInputNumber関数の入力の位置を示す棒の点滅がしたい
返信数: 2
閲覧数: 618

Re: KeyInputNumber関数の入力の位置を示す棒の点滅がしたい

おおおおおおお!出来ました! 点滅も、色を変えるのもバッチリです。 以下のようになりました。本当にどうもありがとうございました! DxLibの中身は、いま見に行ってみましたが、ごちゃごちゃしててよく分かりませんでした・・・。 #include"DxLib.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){ int C = GetColor(255,255,255); int TEST; ChangeWindowMode(TRUE); DxLib_Init(); DrawBox(270, 190, 370, 290, GetColor...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: KeyInputNumber関数の入力の位置を示す棒の点滅がしたい
返信数: 2
閲覧数: 618

KeyInputNumber関数の入力の位置を示す棒の点滅がしたい

タイトルにある通り、DXライブラリの関数の一つであるKeyInputNumber関数の入力の位置を示す棒の点滅がしたいのですが、可能でしょうか? 「入力の位置を示す棒」というのは、 | ← こんな感じの奴です。 それと、なぜSetKeyInputStringColor関数はこんなにも引数が多いのでしょうか? 最初みたときはビックリしました。 それに記述も下のプログラムのようにCがめちゃくちゃ並んで、少し違和感が出てしまいます。 KeyInputNumber関数の入力文字の色を黒くしたいだけなのですが、SetKeyInputStringColor関数を使うのしか方法はないのでしょうか・・・。 O...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: マウスの1フレームクリックについて
返信数: 2
閲覧数: 535

Re: マウスの1フレームクリックについて

おお、こんな簡単に出来るとは。 ソフト屋さんにはいつもお世話になっております。大変感謝です。 以下のようになりました。ありがとうございました。 #include"DxLib.h" int MouseInput = 0; void MouseFrameInput(){ if((GetMouseInput() & MOUSE_INPUT_LEFT)){ MouseInput++; }else{ MouseInput = 0; } } int ProcessLoop(){ if(ProcessMessage() != 0){ return 0; } if(ClearDrawScreen() != 0...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: マウスの1フレームクリックについて
返信数: 2
閲覧数: 535

マウスの1フレームクリックについて

DXライブラリのマウスのクリックについての質問なのですが、以下のようなプログラムで1フレームだけクリックを反応させることは出来るのですが、マウスのクリックの処理が必要になるたびに、 if(GetMouseInput() & MOUSE_INPUT_LEFT){ if(!ClickFlag){ ClickFlag = true; //やりたい処理 } }else{ ClickFlag = false; } のように長いコードを書かなくてはいけないのが非常に面倒です。 このクリック処理は関数化などで綺麗にしたいのですが、どうすればいいのでしょうか? 説明が下手ですみません。 つまり上の長いコードを...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリが正常に終了してくれない
返信数: 7
閲覧数: 834

Re: DXライブラリが正常に終了してくれない

おおー。治りました。
みなさん本当にありがとうございました。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリが正常に終了してくれない
返信数: 7
閲覧数: 834

DXライブラリが正常に終了してくれない

コンパイラ:Visual Studio 2010 OS:Win7 32bit 言語:C 以下のコードを実行してからウィンドウのXボタンを押すと、ウィンドウは閉じてくれるのですが、プログラムは実行されたままです。ですが、なぜかプログラム実行後ESCキーを押して終了すると、正常に終了してくれます。 どうすればXボタンでも正常終了してくれるようになるのでしょうか? 以前はちゃんと終了してくれたのに・・・。 DXライブラリは新しいのダウンロードしてきて、新しくプロジェクト作り直してみたのですが、状況は改善されませんでした。 ビルドはDebugもReleaseもやってみましたが、両方Xボタンでの終了では...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: このマクロ関数がなぜ狂うのかわかりません
返信数: 4
閲覧数: 718

Re: このマクロ関数がなぜ狂うのかわかりません

ああ!なるほどです!
普通にaに代入すれば分かったことなのに、無駄な質問をしてしまいました・・・。皆さんの貴重な時間を奪ってしまい申し訳ありません。
回答してくれた皆さんありがとうございました。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: このマクロ関数がなぜ狂うのかわかりません
返信数: 4
閲覧数: 718

このマクロ関数がなぜ狂うのかわかりません

#include<stdio.h> #include<math.h> #define rad(a) (a * 3.141592653589 / 180.0) void main(){ printf("%f %f\n", cos(rad(0)), cos(rad(10))); printf("%f %f\n", cos(rad(10)), cos(rad(20))); printf("%f %f\n\n", cos(rad(20)), cos(rad(30))); for(int i = 0; i < 30; i += 10){ printf("%f %f\n", cos(rad(i)), c...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: fwrite関数について簡単な質問があります
返信数: 5
閲覧数: 1150

Re: fwrite関数について簡単な質問があります

fputs関数を使えばいいのですね。
rewind(stdin);はやらない方がよかったですか。
参考になりました。どうもありがとうございました。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: fwrite関数について簡単な質問があります
返信数: 5
閲覧数: 1150

fwrite関数について簡単な質問があります

このプログラムで名前を入力した後に、fwrite関数でtxtファイルに出力すると、「名前ヘヘヘヘヘヘヘヘヘヘヘ」のように配列の空いてる部分まで出力されてしまいます。配列の\0で出力を止めたいのですが、どうすればいいのでしょう? あと、もう一つ質問がありまして、 scanf("%s", test->Name); の部分で、文字列を入力した際に、エンターを押した後、\0は代入されますよね。 あと\0の名前は文字列終端子であってますか? #include<stdio.h> #include<stdlib.h> int main(){ typedef struct{ char Name[100]; i...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムのポインタ演算について質問があります
返信数: 19
閲覧数: 6425

Re: このプログラムのポインタ演算について質問があります

>>YuOさん
貴重な情報をありがとうございます。とても参考になりました。

回答してくれた皆さん本当にありがとうございました。
また何かあれば、そのときもどうぞよろしくお願いします。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムのポインタ演算について質問があります
返信数: 19
閲覧数: 6425

Re: このプログラムのポインタ演算について質問があります

>>へにっくすさん へにっくすさんの方法を試したら出来ました。ありがとうございます。 このような感じのプログラムになりました。 rewind(stdin)を突っ込んだら無限ループにならなくなったのですが、正直rewind(stdin)の意味がよく分かりません。 調べたところ、「キーボード バッファをクリアする」と出てきたのですが、どういう意味なのでしょうか? #include<stdio.h> #include<stdlib.h> #include<crtdbg.h> int nNum = 1; struct CharactorData{ int Hp; int Mp; struct Char...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムのポインタ演算について質問があります
返信数: 19
閲覧数: 6425

Re: このプログラムのポインタ演算について質問があります

>>たいちうさん 申し訳ありません。出力ウィンドウのデバッグのところにちゃんとメモリリークと出ていたのに見逃していました。 ありがとうございます。 >>みけCATさん scanfでaと入力したところ、確かに無限ループになりました。これどのように対策すればよいのでしょうか? あと、「mallocの戻り値がNULLでないことを確認しないと」とありますが、これはどのようにやればいいのでしょうか? あ、pPlayerがNULLかどうか調べればいいんですね。 現在このようなプログラムになりました。もうメモリリークも起きません。 #include<stdio.h> #include<stdlib.h> #...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムのポインタ演算について質問があります
返信数: 19
閲覧数: 6425

Re: このプログラムのポインタ演算について質問があります

>>Pocoさん 私のPCでslnファイルでプロジェクト開いてそこで実行したら正常に動きました。生成された(Debugフォルダの中)実行ファイルで実行したらエラーになりました。どうやら私のプロジェクトでしか正常に動かなかったようです・・・。 おそらく正常に動くようになりました。このプログラムは危険も不具合もありませんよね? #include<stdio.h> #include<stdlib.h> #include<crtdbg.h> int nNum = 1; struct CharactorData{ int Hp; int Mp; struct CharactorData *next; }...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムのポインタ演算について質問があります
返信数: 19
閲覧数: 6425

Re: このプログラムのポインタ演算について質問があります

>>h2so5さん
6という数字は、たまたま6にしたら思ったとおりにプログラムが動いてくれたのです。

>>みけCATさん
このプログラムは自分で書きました。危険なコードでしたか・・・。

>>へにっくすさん
やはりこれではダメですか・・・。mallocのメモリ確保は連続しないのですね。しかし、このプログラムは正常に動いてくれたのですが・・・。
ちょっと他のやり方考えてきます。警告ありがとうございました。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムのポインタ演算について質問があります
返信数: 19
閲覧数: 6425

このプログラムのポインタ演算について質問があります

このプログラムの31行目と50行目のことなのですが、なぜポインタ変数(ポインタ変数というかポインタ構造体?)に+6すると次のポインタ変数を表し、-6すると前のポインタ変数を表しているのでしょう?なぜ+1じゃだめなのでしょうか? 言語:C OS:Windows7 コンパイラ:VisualStudio2010 #include<stdio.h> #include<stdlib.h> #include<crtdbg.h> int nNum = 1; struct CharactorData{ int Hp; int Mp; struct CharactorData *next; }; void In...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibの3Dのコリジョン判定関数についての質問です
返信数: 16
閲覧数: 4207

Re: DxLibの3Dのコリジョン判定関数についての質問です

>>ISLeさん RollAlongWall.cppの中だけ見ればいいのですね。ありがとうございます。 あと色々おかしなこと言っててすみませんでした。 >>たいちうさん 全部やる必要はないですか。数Bの空間図形ですね。分かりました。 >>usaoさん うーん、すみません。よく理解出来ていなくておかしなこと言っていた気がします。でももう大丈夫です。 単語の意味をしっかり理解しないと会話のドッチボールが成立しなくなるんですよね・・・。 >>ソフト屋さん 助言ありがとうございます。ベクトルには座標があるものだと思ってました・・・。点P1から点P2みたいな。 これからプログラミングと数学の勉強頑張ろう...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibの3Dのコリジョン判定関数についての質問です
返信数: 16
閲覧数: 4207

Re: DxLibの3Dのコリジョン判定関数についての質問です

>>ISLeさん ああ!なるほど!単位ベクトルですか!だから私が書いたプログラムでは全て原点(0,0,0)にあったように見えたのですね。 分かってしまえば簡単ですね。 ところで「以降フレームごとに、RollAlongWall::frameUpdate関数(内部更新用)とRollAlongWall::frameRender関数(描画用)が呼び出されます」とありますが、では canvas->frameRender(); の下にある処理は気にしなくていいということですか?というかframeUpdate関数とframeRender関数の内容だけ理解出来ればいいですか? あとfor(;;)というのはwh...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibの3Dのコリジョン判定関数についての質問です
返信数: 16
閲覧数: 4207

Re: DxLibの3Dのコリジョン判定関数についての質問です

>>ISLeさん まだ法線についてよくわかりません。 というか「垂直に交わるベクトル」というのは分かるのですが、Dim .Normalの値がどうなるのか全く分かりません。 Dim .Normal.yが0なら壁なのですよね。そしてサンプルプログラムでは if( HitDim.Dim[ i ].Normal.y < 0.000001f && HitDim.Dim[ i ].Normal.y > -0.000001f ) とやっていたことから、とんでもない精度の変数だということが分かりました。 今の自分が思っているDim .Normalの値を絵に書いてみましたが、あってますか?坂は45度だとします。...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibの3Dのコリジョン判定関数についての質問です
返信数: 16
閲覧数: 4207

Re: DxLibの3Dのコリジョン判定関数についての質問です

>>ISLe()さん
なるほどです。ところでHitPolyDim.Dim.Normalは何に対して垂直なのでしょうか?また座標はどこになるんでしょうか?私の書いたプログラムだとHitPolyDim.Dim.Normalの座標は全て(x,y,z)=(0,0,0)になってしまうのですが。
あと「法線の垂直成分を摩擦に変換」というのを詳しく教えてくれませんか!とても興味を持ちました!
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibの3Dのコリジョン判定関数についての質問です
返信数: 16
閲覧数: 4207

Re: DxLibの3Dのコリジョン判定関数についての質問です

>>h2so5さん
hideさんの仰るとおりのサンプルプログラムのコメントに、書いてありました。
抜粋すると、
「XZ平面に垂直かどうかはポリゴンの法線のY成分が0に限りなく近いかどうかで判断する」
と書いてありました。

>>hideさん
知りたいのは、法線がどんな線なのかの表示です。
私がどこまでわかっているのかは、3Dは始めたばかりでわからないことだらけです。カメラの旋回やモデルのアニメーションなど簡単なことしか出来ません。
何がしたくてこの状態のプログラムになっているかは、法線の表示をしたかったのですが、なんかおかしな挙動になってしまいました・・・。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibの3Dのコリジョン判定関数についての質問です
返信数: 16
閲覧数: 4207

DxLibの3Dのコリジョン判定関数についての質問です

3Dゲームの当たり判定の話なのですが、「ステージモデルの壁」は「ポリゴンの法線のY成分が0に限りなく近いかどうか」で判断するのですよね。そこで法線ってどんな線なんだろうと思って、以下のようなプログラムを組んでみたのですが、真ん中の球としか法線が引かれないのですが、なぜでしょう?立方体のほうは反応無しです。 説明が下手ですみません。このままだと球としか壁判定が取れないような気がして・・・。 OS:Window7 コンパイラ:Microsoft Visual Studio 2010 ライブラリ:Dxライブラリ 言語:C #include "DxLib.h" #define rad(angle) (...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibでvpdファイルは使えますか?
返信数: 6
閲覧数: 1255

Re: DxLibでvpdファイルは使えますか?

出来ました!
詳しく教えて下さってありがとうございました!
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibでvpdファイルは使えますか?
返信数: 6
閲覧数: 1255

Re: DxLibでvpdファイルは使えますか?

>>同じポーズのままアニメーションフレームを持てばよいです
これはどういう意味なのでしょうか?
アニメーションフレームとはなんでしょうか?
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibでvpdファイルは使えますか?
返信数: 6
閲覧数: 1255

Re: DxLibでvpdファイルは使えますか?

ファイル変換ですか。
URL先のページに目を通してみましたが、よく分かりませんでした。
それと、出来ればMMDでやりたいので、ファイル変換は最終兵器にしたいと思います。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibでvpdファイルは使えますか?
返信数: 6
閲覧数: 1255

DxLibでvpdファイルは使えますか?

vpdファイルとはVocaloidPoseDataでMMDで作成したファイルです。
また、vpdファイルが使えなかったら、キャラクターモデルの立つときのポーズを変えたいのですが、どうすればいいでしょう?
キャラクターモデルの拡張子はpmxです。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: アクションサンプルプログラムのことで2つ質問があるのですが
返信数: 4
閲覧数: 789

Re: アクションサンプルプログラムのことで2つ質問があるのですが

あーなるほど!
勘違いしていました・・・すみません。
回答ありがとうございまいた。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: アクションサンプルプログラムのことで2つ質問があるのですが
返信数: 4
閲覧数: 789

Re: アクションサンプルプログラムのことで2つ質問があるのですが

GetNowCount・・・Windowsが起動してからの時間(単位:ミリ秒) FrameStartTime・・・一番最初に入る値がプログラム開始時のGetNowCountの値で、以降がよく分かりません。 引くことにより求まるのは、以前のFrameStartTimeへの代入から、何ミリ秒経過したかでしょうか。 GetNowCount関数のサンプル見て分かったのですが、「while( GetNowCount() - FrameStartTime < 1000 / 60 ){}」はコメント通り、1/60秒立つまで待つ処理なのですね。つまりゲームスピードを抑えているのでしょうか。でもこの部分をコメン...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: アクションサンプルプログラムのことで2つ質問があるのですが
返信数: 4
閲覧数: 789

アクションサンプルプログラムのことで2つ質問があるのですが

http://homepage2.nifty.com/natupaji/DxLib/program/ActionSample.cpp ここのサンプルプログラムについて質問があります。 一つ目はActMain関数の中の // 1/60秒立つまで待つ while( GetNowCount() - FrameStartTime < 1000 / 60 ){} // 現在のカウント値を保存 FrameStartTime = GetNowCount() ; これについてなのですが、なにをやっているのかサッパリわかりません。 これの意味を教えて欲しいです。 二つ目はCharMove関数の中の // 先ず上...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の問題で分からないのがある
返信数: 3
閲覧数: 1186

Re: C言語の問題で分からないのがある

ああ!なるほど!理解出来ました。
ありがとうございました。
あと、返信遅れて申し訳ありませんでした・・・。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の問題で分からないのがある
返信数: 3
閲覧数: 1186

Re: C言語の問題で分からないのがある

あ、圧縮して添付すればいいのか。
失礼しました・・・。
この問題の【a】、【b】、【c】に正しい解を入れるのですが、それ以前にstructの中に自分の構造体名でポインタで宣言してあるのが全く理解出来ないのですが・・・。
あとこれにもし、テストデータを与えるとして、どんな形で与えればいいのでしょうか・・・。
問題.zip
C言語の問題
(3.18 MiB) ダウンロード数: 61 回
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の問題で分からないのがある
返信数: 3
閲覧数: 1186

C言語の問題で分からないのがある

C言語の問題で分からない問題があるのですが、画像を張りたいのですが、どうすればいいのでしょうか?
画像はデスクトップにあります。
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: 3Dでのカメラ操作について
返信数: 5
閲覧数: 1330

Re: 3Dでのカメラ操作について

出来ました!ありがとうございます。 返信に時間がかかって申し訳ありませんでした。色々忙しかったもので・・・。 ソフト屋さんにはいつもお世話になっています。本当に感謝しています。 また何かあれば、よろしくお願いします。 #include "DxLib.h" #define PLAYER_MOVE_SPEED 15.0f //プレイヤーの移動速度 #define RELATIVE_POSITION 800.0f //プレイヤーからのカメラの位置 #define ROTATE_SPEED (2.0f * DX_PI_F / 180.0f) //カメラの旋回速度 typedef struct{ VEC...
by sadora3
4年前
フォーラム: C言語何でも質問掲示板
トピック: 何から勉強すればいいのでしょうか
返信数: 8
閲覧数: 1739

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

大変失礼ではありますが、横からすみません。少し気になったことがあるので質問させてください。
ソフト屋さんは「とんでもなくC++を学習するというのは難易度が高い行為なので、相当プログラミングが好きじゃないと出来ませんよ。たぶん、数あるプログラミング言語の中で最上位に属すると思います。」と仰っていますが、それほど難しいのでしょうか?どこが難しいのでしょうか?

PPJさんは、もうサイトのほうで勉強を始めてしまっていると思いますが、私はニコニコ動画にある、「ミクと学ぶC言語」という動画をおすすめしますよ。C言語になってしまいますが。私は書籍やサイトを眺めるよりこちらの方が楽しく勉強できました。

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