>> h2so5さん
ありがとうございます。
また検証用ができ次第お願いするかもしれません。
>> naohiro19さん
はい、そういった現状なのは承知の上です。
検索結果 123 件
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: DirectPlayのパケットロスの可能性について
- 返信数: 3
- 閲覧数: 3809
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: DirectPlayのパケットロスの可能性について
- 返信数: 3
- 閲覧数: 3809
DirectPlayのパケットロスの可能性について
こんにちは。 ネット対戦ができるゲームを作っているものです。 実はその通信にDirectPlay(のラッパーライブラリ)を用いています。 しかし、どうもパケットロスが発生している可能性があり ローカルの実験だとぜんぜん発生しないので DirectPlayを用いた開発を経験している方にお聞きしたいのですが DirectPlayはパケットロスを発生しうるのでしょうか? MicroSoftのDirectPlay発表時には「通信は保証される」とのことだったらしいのですが 当時の開発者の間では「怪しい」とのことらしいです。 (ラッパーライブラリ製作者様から聞きました) もし取り扱ったことがある方がいらっ...
- 11年前
- フォーラム: 作品お披露目掲示板
- トピック: 東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
- 返信数: 13
- 閲覧数: 30115
Re: 東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
SSありがとうございます。
そのSSは過去のヴァージョンですね。
最新ですとマップが表示されるようになっています。
すみません、動画の方では随時更新しているのですが、こっちは手を加えていませんでしたね。
あとバグの報告どうもです。
直しておきます。
そのSSは過去のヴァージョンですね。
最新ですとマップが表示されるようになっています。
すみません、動画の方では随時更新しているのですが、こっちは手を加えていませんでしたね。
あとバグの報告どうもです。
直しておきます。
- 11年前
- フォーラム: 作品お披露目掲示板
- トピック: 東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
- 返信数: 13
- 閲覧数: 30115
Re: 東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
ちなみに途中参加状態で戦闘には参加できません。現状は。
終わるのをまつことになります。
Naoさん
ん、それはバグかもしれません。
が、こちらでそんな症状は起こったことがないのでできたらSSを見せてくださいませんか?
終わるのをまつことになります。
Naoさん
ん、それはバグかもしれません。
が、こちらでそんな症状は起こったことがないのでできたらSSを見せてくださいませんか?
- 11年前
- フォーラム: 作品お披露目掲示板
- トピック: 東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
- 返信数: 13
- 閲覧数: 30115
Re: 東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
>>Tatuさん
先ほどは対戦ありがとうございました。
SSありがとうございます!お手数掛けさせてしまい申し訳ございません。
頂いた情報を元に直していこうと思います。
掲示されたご提案ご指摘は全て検討させて頂きます!
またゲーム内でお会いできましたら幸いでございます(*´ω`*)
先ほどは対戦ありがとうございました。
SSありがとうございます!お手数掛けさせてしまい申し訳ございません。
頂いた情報を元に直していこうと思います。
掲示されたご提案ご指摘は全て検討させて頂きます!
またゲーム内でお会いできましたら幸いでございます(*´ω`*)
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: スピードメーターの円について
- 返信数: 13
- 閲覧数: 6302
Re: スピードメーターの円について
SetDrawArea関数でメモリがある部分だけを描画範囲に指定するか
赤い直線を描く時に座標を求めていると思いますので,内側の座標を繋いで円を作るとかでしょうか.
赤い直線を描く時に座標を求めていると思いますので,内側の座標を繋いで円を作るとかでしょうか.
- 11年前
- フォーラム: 作品お披露目掲示板
- トピック: 東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
- 返信数: 13
- 閲覧数: 30115
- 11年前
- フォーラム: 作品お披露目掲示板
- トピック: 東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
- 返信数: 13
- 閲覧数: 30115
Re: 東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
みけさん
あらら、そのバグは直したような気がしてたんですが
まだ直ってなかったようです。
詳しく見てみます。ありがとですー。
(追記)
おおう、ほんとだ!
ネット対戦時だけを見ててCPUの方を確認してなかった。
直します。
(追記)
手元の方で修正完了しました。
あらら、そのバグは直したような気がしてたんですが
まだ直ってなかったようです。
詳しく見てみます。ありがとですー。
(追記)
おおう、ほんとだ!
ネット対戦時だけを見ててCPUの方を確認してなかった。
直します。
(追記)
手元の方で修正完了しました。
- 11年前
- フォーラム: 作品お披露目掲示板
- トピック: 東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
- 返信数: 13
- 閲覧数: 30115
東方二次創作ゲーム 「弾幕ごっこ」 ネット対戦対応ver
本作品は東方projectの2次創作ゲームです。 3D空間を自由にとびまわって敵を倒すゲームです。 C言語とDXライブラリとEffekseerとMMDとgDP(DirectPlay)を使って製作しました。 一通りのゲームシステムの構築やネット対戦を実装し、通信量の削減、バグ取りの過程を経て 体裁は整ってきたので、今までは日記の方で細々と報告してましたが こちらのほうにお引越しすることにしました。 それなりのスペックが要求されますが、一度遊んでみてはいかがでしょうか? 一回の対戦を終わらせるのに最短で17秒なので時間も取りません! ご一緒に対戦してみませんか? 最新紹介動画はこちらから! [ni...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: フォントを利用した文字の表示について
- 返信数: 4
- 閲覧数: 2938
Re: フォントを利用した文字の表示について
// 指定がないのでフォントハンドルをグローバル変数に int letter_m; // 関数の外でこうやってもできませんがそうやってませんか? // int letter_m = CreateFontToHandle("メイリオ", 40, 5, DX_FONTTYPE_ANTIALIASING_8X8); // スタート画面の処理 int gpstart(){ static int count; // カウントアップ count = (count+1)%90; // タイトル表示 DrawFormatStringToHandle(50,150,GetColor(255,255,255),...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXLib関数:Segment_Segment_MinLength()が最短距離を計算しない不具合について
- 返信数: 3
- 閲覧数: 3576
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXLib関数:Segment_Segment_MinLength()が最短距離を計算しない不具合について
- 返信数: 3
- 閲覧数: 3576
Re: DXLib関数:Segment_Segment_MinLength()について: 長さ0の線分≠点?
ありがとです。
そうでしたか。
検証して明らかにおかしいとなった場合は御報告に伺おうかと思います。
そうでしたか。
検証して明らかにおかしいとなった場合は御報告に伺おうかと思います。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXLib関数:Segment_Segment_MinLength()が最短距離を計算しない不具合について
- 返信数: 3
- 閲覧数: 3576
DXLib関数:Segment_Segment_MinLength()が最短距離を計算しない不具合について
結構どうでも良い話かもしれませんが、Segment_Segment_MinLength()について、 私はゲームの当たり判定にこの関数を使っています。 片方に弾の位置の線分、もう片方にキャラの位置の線分を渡しています。 これで、例えば5フレームごとに当たり判定を行うことにしても漏れなく判定できるわけです。 ただ、この関数、片方の線分の長さが0になると、最短距離を計算してくれません。 数学的には、長さ0の線分=点と解釈するのは間違っていますか? もし数学的に等しいなら、片方もしくは両方の線分の長さが0の時でも最短距離を計算してくれるよう要望を出したいのですが。 といっても、別にこちら側のプログラ...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列の計算について
- 返信数: 2
- 閲覧数: 2025
Re: 配列の計算について
まず、どこがどう分からないのか教えてくださいませんか? ぱっと見ですが、いくつかです。 ・ i = (sumv -(sum * sum / count)) / (count - 1); で0で割る瞬間があります。(count==1の時) ・ aveとdevはfloat等の浮動小数点型ではなくていいのですか? ・ minは0ではなくて大きな数で初期化するべきではないでしょうか? 現状、入力と計算を同時にこなしている状態になっていて、バグが出やすい設計になっていると思われますので 入力を受け付け、配列markへ値を格納するところと配列markを使って計算を行うところをきっちり分けた方がいいと思います。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: PMD+VMDのモーションデータのDxLibModelViewerの読み込みについて
- 返信数: 7
- 閲覧数: 6049
Re: PMD+VMDのモーションデータのDxLibModelViewerの読み込みについて
DXライブラリ管理人様からご回答いただきましたので、上記URLにアクセスすれば詳しい内容を閲覧できることを記しておきます.
一言で申し上げますと,
DXライブラリはpmdモデルデータの"回転連動"に対応していないので
その設定を解除したうえでモーションを作成するように
とのことです.
以上,報告になります.
本件に関わってくださった各位に感謝申し上げます.
一言で申し上げますと,
DXライブラリはpmdモデルデータの"回転連動"に対応していないので
その設定を解除したうえでモーションを作成するように
とのことです.
以上,報告になります.
本件に関わってくださった各位に感謝申し上げます.
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: PMD+VMDのモーションデータのDxLibModelViewerの読み込みについて
- 返信数: 7
- 閲覧数: 6049
Re: PMD+VMDのモーションデータのDxLibModelViewerの読み込みについて
少し途方に暮れてしまったので…;
DXライブラリ管理人様に認知して頂くことでご助言を頂戴したく,下記URLにてマルチポストを行いました.
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=3051
DXライブラリ管理人様に認知して頂くことでご助言を頂戴したく,下記URLにてマルチポストを行いました.
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=3051
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: PMD+VMDのモーションデータのDxLibModelViewerの読み込みについて
- 返信数: 7
- 閲覧数: 6049
Re: PMD+VMDのモーションデータのDxLibModelViewerの読み込みについて
トントン様
自前での検証ありがとうございます。
やっぱりそう見えますよね。。。
一度、MovelViewerのダウングレードを検討してみます。
softya様
腕には特にIKは使用しておりません。
なお、主に足にIKを用いてますが、そちらは難なく動いているようですね。
自前での検証ありがとうございます。
やっぱりそう見えますよね。。。
一度、MovelViewerのダウングレードを検討してみます。
softya様
腕には特にIKは使用しておりません。
なお、主に足にIKを用いてますが、そちらは難なく動いているようですね。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: PMD+VMDのモーションデータのDxLibModelViewerの読み込みについて
- 返信数: 7
- 閲覧数: 6049
Re: PMD+VMDのモーションデータのDxLibModelViewerの読み込みについて
トントン様
お忙しい中、貴方の貴重なお時間を割いていただいたことにまず感謝申し上げます。
MMDが私の想定の動きです。
001ですが、腕の開きが微妙に違いませんか?
MMD上だと割と閉じているのですが、ModelViewer上だと開きが大きい気がします。
ということは、やはり私の環境の問題なのでしょうか(´・ω・`)
状況が少しでも嬉しい方向に傾くよう努力してみます。
ありがとうございました。
>>表情
そうですね。 他に伝染しちゃいますねw
お忙しい中、貴方の貴重なお時間を割いていただいたことにまず感謝申し上げます。
MMDが私の想定の動きです。
001ですが、腕の開きが微妙に違いませんか?
MMD上だと割と閉じているのですが、ModelViewer上だと開きが大きい気がします。
ということは、やはり私の環境の問題なのでしょうか(´・ω・`)
状況が少しでも嬉しい方向に傾くよう努力してみます。
ありがとうございました。
>>表情
そうですね。 他に伝染しちゃいますねw
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: PMD+VMDのモーションデータのDxLibModelViewerの読み込みについて
- 返信数: 7
- 閲覧数: 6049
PMD+VMDのモーションデータのDxLibModelViewerの読み込みについて
こんにちわ。 一つ試して頂きたいことがあるのですが、こちらに添付したPMDとVMDのデータを用いて MMD上で再生されるモーションと、DxLibModelViewer上で再生されるモーションが異なる(DxLibModelViewer上でおかしくなる)現象が発生して困っています。 これは私だけの環境の問題なのか分かりませんので、環境がある方は再生してみていただけませんか? そのPMDで使用したいVMDは000,001,002,003,009,010です。 あとのは使用しません。 なお、添付したPMDデータは再配布可のものになっております。 私のDXライブラリのバージョンは3.10cです。 (追記...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXライブラリとEffekseerの親和性について
- 返信数: 4
- 閲覧数: 7439
Re: DXライブラリとEffekseerの親和性について
解決しました。 いろいろ修正した結果なのですが、 一番大きなミスがeffekseerの付属ヘルプに記載されていた、 (以下、EffekseerのHelp引用) "気を付けない点としては、Effekseerの描画はDXライブラリの仕様により、何らかの半透明の画像、もしくはそれに準ずる何かを描画した後でないと有効になりません。ゲーム中に組み込む場合は余程のことがない限り、問題にならないと思いますが、サンプルのような短いコードの場合は先に何かを描画します。 " を忘れていたことです。 // エフェクトの描画 void DrawBEffect(void){ // 情報取得 GRAPHHANDLE Ha...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXライブラリとEffekseerの親和性について
- 返信数: 4
- 閲覧数: 7439
Re: DXライブラリとEffekseerの親和性について
ありがとうございます。
そんな感じですよね。どこかが非同期なんでしょう…(´・ω・`)
とりあえず、その辺りを中心に捜査してみます。回答ありがとうございました。
そんな感じですよね。どこかが非同期なんでしょう…(´・ω・`)
とりあえず、その辺りを中心に捜査してみます。回答ありがとうございました。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXライブラリとEffekseerの親和性について
- 返信数: 4
- 閲覧数: 7439
DXライブラリとEffekseerの親和性について
こんにちわ。C言語とDXライブラリとEffekseerと用いてTPSのゲームの製作をしているものです。 先日も以下のようなトピックで投稿させていただきましたが、 その中で、もう少し問題点がはっきりしてから再度質問させて頂く旨の意志を提示させて頂いてました。 Effekseerについて http://dixq.net/forum/viewtopic.php?f=3&t=13226#p106016 問題点の本質としては、"エフェクトがうまく再生されない"ということです。 元のトピックでは[解決!]がついてしまっているので、結構スルーされてしまっているのではないかと不安になったので、 問題点がはっき...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: Effekseerについて
- 返信数: 10
- 閲覧数: 9019
Re: Effekseerについて
さらに、もう一個有用な情報です。
mv1モデルデータに対して、モーションデータを取り除くと、正常に動作をすることが判明しました。
悪さをしているのは、モーションデータのような気がします。
ちょっと、私のレベルでは修正できないような問題の気がしております。
これら一連の現象に関して、なにか情報がありましたら、ぜひお願い致します。
mv1モデルデータに対して、モーションデータを取り除くと、正常に動作をすることが判明しました。
悪さをしているのは、モーションデータのような気がします。
ちょっと、私のレベルでは修正できないような問題の気がしております。
これら一連の現象に関して、なにか情報がありましたら、ぜひお願い致します。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: Effekseerについて
- 返信数: 10
- 閲覧数: 9019
Re: Effekseerについて
No9の問題に対して、少し進展がありました。 調査の結果、キャラクタの描画を無くすと正常にエフェクトが再生されるようです。 (他のモデルデータ、地形などは描画おkでした。) //キャラを描画 void DrawPlayer(void){ for(int i=0;i<PCNUM;i++){ if(!CheckCameraViewClip(Pc[i].Pos)){ MV1SetPosition(Pc[i].Handle.Model,VGet(Pc[i].Pos.x,Pc[i].Pos.y,Pc[i].Pos.z)); MV1SetRotationXYZ(Pc[i].Handle.Model,VGe...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: Effekseerについて
- 返信数: 10
- 閲覧数: 9019
Re: Effekseerについて
無事、位置と角度は完璧に合わせてエフェクトを描画できるようになりました。 ただし、自分以外のキャラクタが、そのエフェクトを出現させた場合、 エフェクトの中心点がカメラの視野の外側に来てないと描画しないという現象が発生して困っています。 (エフェクトの中心点は発射位置です。) 以下のような感じです。 fail.zip // エフェクト用 static ::Effekseer::Manager* BManager = NULL; static ::EffekseerRenderer::Renderer* BRenderer = NULL; static ::Effekseer::Effect* B...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: Effekseerについて
- 返信数: 10
- 閲覧数: 9019
Re: Effekseerについて
きたああああああ! hajimata.png 試行錯誤の末、ようやく角度が合いました。 原因は3点あり、そのうちの1つがかなり厄介でした。 1つ目は、Effekseer側とDXライブラリ側でカメラの視野角設定がずれていたこと。 2つ目は、Effekseer側とDXライブラリ側で座標系が違っていたこと。(しばらくeffekseer側は右手座標系設定でした) 3つ目についてですが、回転がうまくいかなかったことです。 先ほど行列を使うという案が出ていたので、それを使って変換をしたら動いたのですが、 それまでは、行列を使わずに、xyzそれぞれの軸に対して回転角度を指定して回転をしてくれる関数(Effe...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 棒グラフについて
- 返信数: 7
- 閲覧数: 3804
Re: 棒グラフについて
printf("\n"); で改行だけできますよ!
if文で適切なタイミングで呼び出してあげてください。
if文で適切なタイミングで呼び出してあげてください。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ 九九
- 返信数: 27
- 閲覧数: 16887
Re: C++ 九九
for(j = n1 ; j <= n2 ; j++){ for(i = 1;i <= 9; i++){ printf("%3d",i); if(i%3==0){ putchar('\n'); } } putchar('\n'); } 実は、このコードのprintf("%3d",i);のiの式だけを適切なものに変えてあげればそれで目的の動作をするようになるのですよ。 // jは最初はn1(=2とする)で、 j <= n2 (n2=3とする)を満たす間、ループしますよね? // なので、繰り返しの最初の変数の値は、i=1, j=2ですね。 この時の、出力値として望ましいのは、"2"の段の"1"...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ 九九
- 返信数: 27
- 閲覧数: 16887
Re: C++ 九九
for(j = n1 ; j <= n2 ; j++){ for(i = 1;i <= 9; i++){ printf("%3d",i); if(i%3==0){ putchar('\n'); } } putchar('\n'); } さて、終盤ですね。 このコードでは、n1に2、n2に4を入れても、 1 2 3 4 5 6 7 8 9 と出てしまうと思います。 何故かというと、printf("%3d", i );だからです。 for(i = 1;i <= 9; i++) で、iの値が1から9まで増えていくからですね。 このように、iを使って1の段を表現しています。 2の段を表現するにはpr...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ 九九
- 返信数: 27
- 閲覧数: 16887
Re: C++ 九九
for(i = n1 ; i <= n2 ; i++){ for(i = 1;i <= 9; i++){ printf("%3d",i); if(i%3==0){ putchar('\n'); } } } ああ、ごめんなさい。 変数iが両for文に使われてしまっていますね。 for(j = n1 ; j <= n2 ; j++){ for(i = 1;i <= 9; i++){ printf("%3d",i); if(i%3==0){ putchar('\n'); } } } のように片方をjに変えておきましょう。 あと、適切なところにputchar('\n');を追加しないと表示がおかしく...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: Effekseerについて
- 返信数: 10
- 閲覧数: 9019
Re: Effekseerについて
ソースを覗いて、ヘッダ等で関数とその引数を確認した後に、じゃあこの関数は何やってるんだろ?ってcppの方を覗くと
Cerには見慣れないtemplateとかnewとか::とかバンバン出てきて、ドキッとしてしまいます.
行列も使用できるようですね.有難うございます.
今は分からないところが漠然としすぎてるので,ここ一点がわからん!ってなった時に改めて質問します.
もうちょっと試行錯誤します!
# 今までCで全部何とかなってきたので,言語の壁の厚さを感じたは初めてです.
# 使用を迫られてから学べばいいじゃん!と思っていましたが,ついにその日が訪れたのでしょうか.
Cerには見慣れないtemplateとかnewとか::とかバンバン出てきて、ドキッとしてしまいます.
行列も使用できるようですね.有難うございます.
今は分からないところが漠然としすぎてるので,ここ一点がわからん!ってなった時に改めて質問します.
もうちょっと試行錯誤します!
# 今までCで全部何とかなってきたので,言語の壁の厚さを感じたは初めてです.
# 使用を迫られてから学べばいいじゃん!と思っていましたが,ついにその日が訪れたのでしょうか.
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: Effekseerについて
- 返信数: 10
- 閲覧数: 9019
Re: Effekseerについて
はい、それはごもっともで、少し覗いてみたのですが
ちょっとC++の解読が知識的に難ありだったので、何か文書の存在の情報があれば嬉しいなと思って投稿しました。
ちょっとC++の解読が知識的に難ありだったので、何か文書の存在の情報があれば嬉しいなと思って投稿しました。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: Effekseerについて
- 返信数: 10
- 閲覧数: 9019
Re: Effekseerについて
// エフェクト管理用インスタンスの生成 g_manager = ::Effekseer::Manager::Create( 2000 ); g_manager->SetLocation(g_handle, Pc.Pos.x,Pc.Pos.y,Pc.Pos.z);//位置 g_manager->SetRotation(g_handle, Bullet[i].Rot.x,Bullet[i].Rot.y,Bullet[i].Rot.z);//回転 g_manager->SetScale(g_handle,10.0f,10.0f,10.0f);//倍率 以上のように、各軸に対する回転角を受け付ける...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: Effekseerについて
- 返信数: 10
- 閲覧数: 9019
Effekseerについて
普段、C言語とDXライブラリを用いてTPSのゲームを作っている者です。 本日、Effekseerというエフェクトを作ってDXライブラリのゲームにも組み込める神ライブラリを知って早速組み込んでみたのですが、 その関数群をどう扱ったらよいのか理解するのに難航しております。 画像のように、撃った方向とは違う方向にレーザーが射出しているので、 多分どこかの値がミスっているのでしょうが、 心当たりが多すぎてもうどうしようか悩んでいます。 (ちなみに、Effekseer抜きでは上手く動かせるので、 おそらく、Effekseer側とDXライブラリ側のカメラの投影行列や座標系の同期とかがおかしいんだと思います...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ 九九
- 返信数: 27
- 閲覧数: 16887
Re: C++ 九九
for(i = 1;i <= 9; i++){ printf("%3d",i); if(i%3==0){ putchar('\n'); } } はい、これで、 1 2 3 4 5 6 7 8 9 は出来ましたね。 次は、これ全体を囲む感じで、for文を追加し、 ここまできたら、それを複数回(=n2 - n1 + 1)繰り返すプログラムに改良してみてください(for文を 3 2回使ってください) 何の段から?:2 何の段まで?:4 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 となるコードを書いてください。 今回追加するfor文は ...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ 九九
- 返信数: 27
- 閲覧数: 16887
Re: C++ 九九
そうです.
というわけで,
for( i = 1 ; i<=9 ; i++ ){
printf("%3d", i);
if(その条件) 改行;
}
という形でも
1 2 3
4 5 6
7 8 9
は作れますね。
for文を2回使う方法、こちらの方法、どちらでもおkだと思います!
というわけで,
for( i = 1 ; i<=9 ; i++ ){
printf("%3d", i);
if(その条件) 改行;
}
という形でも
1 2 3
4 5 6
7 8 9
は作れますね。
for文を2回使う方法、こちらの方法、どちらでもおkだと思います!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ 九九
- 返信数: 27
- 閲覧数: 16887
Re: C++ 九九
エクセレントです.
では,それと同じ動作をする,だけどもうちょっとコンパクトなコードを目指してみましょう.
あなたがつくってくれたコードの一部分をピックアップして,
for(i = 1;i <= 3; i++){
printf("%3d",i*1);
}
putchar('\n');
をさらにもう一個for文を使って,3回繰り返して,
1 2 3
1 2 3
1 2 3
と出力するプログラムを書いてみてください.
では,それと同じ動作をする,だけどもうちょっとコンパクトなコードを目指してみましょう.
あなたがつくってくれたコードの一部分をピックアップして,
for(i = 1;i <= 3; i++){
printf("%3d",i*1);
}
putchar('\n');
をさらにもう一個for文を使って,3回繰り返して,
1 2 3
1 2 3
1 2 3
と出力するプログラムを書いてみてください.
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ 九九
- 返信数: 27
- 閲覧数: 16887
Re: C++ 九九
じゃあfor文の動作の理解を深めるために,for文で遊んでみましょう。
for文のかっこの中身をこうすると、どう出力されると思いますか?
for(i = 1; i<=9; i++)
123456789ですよね。
では、こうだとどうですか?
for(i = 1; i<=6; i++)
さらにはこれはどうですか?
for(i = 4; i<=6; i++)
for文のかっこの中身をこうすると、どう出力されると思いますか?
for(i = 1; i<=9; i++)
123456789ですよね。
では、こうだとどうですか?
for(i = 1; i<=6; i++)
さらにはこれはどうですか?
for(i = 4; i<=6; i++)
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ 九九
- 返信数: 27
- 閲覧数: 16887
Re: C++ 九九
そのようになるソースコードをここに張り付けてくれませんか?
追記:
1 2 3 4 5 6 7 8 9
と出力するソースコードは,ご存知の通り
for( i = 1 ; i <= 9 ; i++ ){
printf("%3d",i);
}
ですよね。
問題の
1 2 3
4 5 6
7 8 9
ですが,考え方としては,"(3文字の列の後に改行を入れる)を3回繰り返す"ことになりますね
では,前段階として,3文字の数字列の後に改行を入れて出力するプログラムを書いてここに張り付けてください。
追記:
1 2 3 4 5 6 7 8 9
と出力するソースコードは,ご存知の通り
for( i = 1 ; i <= 9 ; i++ ){
printf("%3d",i);
}
ですよね。
問題の
1 2 3
4 5 6
7 8 9
ですが,考え方としては,"(3文字の列の後に改行を入れる)を3回繰り返す"ことになりますね
では,前段階として,3文字の数字列の後に改行を入れて出力するプログラムを書いてここに張り付けてください。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ 九九
- 返信数: 27
- 閲覧数: 16887
Re: C++ 九九
for(i = 1;i <= 9; i++){ for(j = 1; j <=9; j++) printf("%3d",i*j); putchar('\n'); } # なんか表示が変になる つまり、あなたは1の段から9の段まで順番に出力することができているということですね。 では、その中の1の段だけを取り出して、 1 2 3 4 5 6 7 8 9 とだけ出力するプログラムを書いてみてください。 (for文を1回使ってください) 次に、 その文字を3つに区切って出力するプログラムに改良してみてください(for文を2回使ってください) 1 2 3 4 5 6 7 8 9 ここまでき...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームプログラミングの初心者程度の学習方法について
- 返信数: 26
- 閲覧数: 13600
Re: ゲームプログラミングの初心者程度の学習方法について
>楽しみにしてます。
…あ、あれ?アップするって言って、あれ?w
これはたいちうさんが作ってくれるでしょうね(チラッ
実はそのコードは今はいない大学の研究室のCDにしかないのですよ。
今は違う大学にいるので。取り寄せないといけませんね。でも、softyaさんなら6秒で作れちゃいそうです。
…あ、あれ?アップするって言って、あれ?w
これはたいちうさんが作ってくれるでしょうね(チラッ
実はそのコードは今はいない大学の研究室のCDにしかないのですよ。
今は違う大学にいるので。取り寄せないといけませんね。でも、softyaさんなら6秒で作れちゃいそうです。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームプログラミングの初心者程度の学習方法について
- 返信数: 26
- 閲覧数: 13600
Re: ゲームプログラミングの初心者程度の学習方法について
Priestさん 動画拝見しました。 終盤草食動物が一気に増える所とか、見ていて飽きないですね。 大学で慌てて単位を掻き集めていた頃の数理生物学を思い出しました。 面白いので似たようなルールで私も作ってみます。 紹介してみた甲斐が今ここに! 実はこれには続きがあって、遺伝子を文字列で模した物を用意し、交配によってそれらが受け継がれていく様子を見れるようにしました。 それで、その遺伝子によって行動が変化するようにしました。 結果、優秀な遺伝子が残るというメカニズムっぽいものをこの単純なシミュレーションで示すことができました。 是非作ったら日記でアップするなりで見せてくださいね! こういった類の...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
やったね!おつかれさまでした!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
おっと、そのおかしいと思った結果を貼り付けてみてください。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
おめでとうございます! 補足入れますね。 まず、#defineは関数外に出しておいた方がいいと思います。 調べたところ、#defineは関数の中にあっても、その#defineの下全てに反映されるようです。 ともあれ、何かをインクルードした後に#defineはまとめられた方がみやすいでしょう。 次にこれです。 value=(x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]); D=sqrt(value); 実は何とかの何乗をやるのに役立つ関数があります。 それはpow(a,b);でa^bとなります。なので、 D=sqrt( pow( x[i]-x[j] ...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
申し訳ないです。
先ほどlmいらないといいましたが、必要かもです。
先ほどlmいらないといいましたが、必要かもです。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
#include<math.h>
はソースコードに入っていますか?
はソースコードに入っていますか?
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
-lmはつける必要はありません。 というか、こっちでコンパイルしてみたらできましたよ? 実行結果は以下のようになりました。 No.0: x,y=?3,4 No.1: x,y=?5,6 No.2: x,y=?3,2 No.3: x,y=?1,1 No.4: x,y=?5,7 sqrt(8.000000)=2.828427 sqrt(4.000000)=2.000000 sqrt(13.000000)=3.605551 sqrt(13.000000)=3.605551 sqrt(8.000000)=2.828427 sqrt(20.000000)=4.472136 sqrt(41.000000)=...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
エラーが出た時にはそのエラーコードを貼り付けてください。
とりあえず、32行目のprintfの"が全角です。
return文に;がないです。
初級者さんの手法だと今のif(i!=j)の比較がいらなくなるのもでかいですね。
ただこっちのほうが直感的かなぁと思ったのでこうしました。
とりあえず、32行目のprintfの"が全角です。
return文に;がないです。
初級者さんの手法だと今のif(i!=j)の比較がいらなくなるのもでかいですね。
ただこっちのほうが直感的かなぁと思ったのでこうしました。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
結果出力時にその最短距離も出力するようにすればいいと思います。
正常に動きましたか?
【追記】
main()のところをint main()に修正してください。
それに伴いmain関数の最後にreturn 0;を入れることをお忘れなくです。
正常に動きましたか?
【追記】
main()のところをint main()に修正してください。
それに伴いmain関数の最後にreturn 0;を入れることをお忘れなくです。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
課題でstudent A さんが書きました:組み合わせ(i,j)の保存とはどういうことでしょうか?
>2 点間で最も近い距離とその2 点の座標の組
を出力するよう求められています。
「最も近い距離」はMinimumdistanceを使って出力すればいいとして、では「2 点の座標の組」はどうしましょう?
というのがポイントです。
ここで、最短距離が更新された時にそのiとjの値をなにかの変数に保存しておけば、そこから、2点両方の座標が参照できます。
そうすれば「2 点の座標の組」の出力も可能ですよね。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
なかなかいい感じに仕上がってきましたね。 ですが、変数名にスペースを入れることはできないのでそれを修正してください。 そうすれば動くのではないかと思います。 完成したら色々補足入れますね。 【追記】 と、思ったら、 for(i=0;i<NUMPOINTS;i++){ printf("No.%d: x,y=?",i); scanf("%d%d",&x[i],&y[i]) の、 ・for文が閉じていません。 ・scanfに;がありません。 【さらに追記】 組み合わせ(i,j)の保存もしっかりとね! 【さらにさらに追記】 変数定義時に;がないところがあります。 【さらにさらにさらに追記】 scanf...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
なるほど!!iとjについてはわかりました。 iとjが等しくない時に距離が求められるようになりますよね!? ということは for(i=0;i<NUMPOINTS;i++){ for(j=0;j<NUMPOINTS;j++){ if(i==j){ D=(x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]) こんな感じでしょうか あ、i==jでは「iとjが同じ時」という意味になってしまいますよ! あと、Dの求める式も良いところまでいってますが、少しだけ違うようです。 >D(X1, Y 1,X2, Y 2) ={(X1-X2)^2+(Y1-Y2)^2}^1/2...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
scanf内が違うということですが、下のように直したのですがこれで大丈夫でしょうか? scanf("%d%d",&x[i],&y[i]): 少し違います。scanfは「ユーザーが""内の形式通りに入力した時に、%dの位置にあたる数字(だけではないけれど)を変数に入力してくれる」のような意味でとらえてください。 なので、仕様通りにx値とy値の間にコンマを入れるようにしなければならない場合、"%d,%d"のようにする必要があります。 例えば、scanf("%da%d",&x ,&y );とすると、4a5と入力することでxに4,yに5が入るはずです。いろいろやって試してみましょう。 また最短距離に...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
一つの座標点を一度に入力する方法としてはOKですが、満たすべき仕様的にはscanf内が少し違います。
それだと、
[入力]3 5
としないと、x=3 y=5となってくれません。改行もなくておkです。
それだと、
[入力]3 5
としないと、x=3 y=5となってくれません。改行もなくておkです。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームプログラミングの初心者程度の学習方法について
- 返信数: 26
- 閲覧数: 13600
Re: ゲームプログラミングの初心者程度の学習方法について
C言語を学び始めて3年がたったくらいにOpenGLに出会ってから変わりましたね。
正直これまでのコンソールで文字を出力して何が面白いんだこれは状態からの脱却でした。
私は何かうねうね動いてそれを見る系のが好きだったので、最初はライフゲームでした。
↓こんな感じの
[nico]http://www.nicovideo.jp/watch/sm14594073[/nico]
今思うと、この頃から3D指向でした。(ライフゲームを3Dにする必要はない。)
それで、少しゲームプログラミングから離れて、今は3Dシューティング製作に励む感じとなっています。
正直これまでのコンソールで文字を出力して何が面白いんだこれは状態からの脱却でした。
私は何かうねうね動いてそれを見る系のが好きだったので、最初はライフゲームでした。
↓こんな感じの
[nico]http://www.nicovideo.jp/watch/sm14594073[/nico]
今思うと、この頃から3D指向でした。(ライフゲームを3Dにする必要はない。)
それで、少しゲームプログラミングから離れて、今は3Dシューティング製作に励む感じとなっています。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学のC言語の演習問題がわからないので質問します。
- 返信数: 30
- 閲覧数: 15069
Re: 大学のC言語の演習問題がわからないので質問します。
一つの座標点を一度に入力できるようにする方法 これは、 scanf("%d,%d",&x,&y); でいけます。""内のコンマの部分を変えれば、そういう風に入力しないといけない様にもできます。 最短距離の出し方がわからなくて困っています。 こういう風にしてみてください。 最短距離を格納する変数の定義; 最短になる組み合わせを格納する変数の定義; 最短距離をできるだけ大きい数で初期化; 組み合わせも使われてない数字で初期化; for(全ての座標点iについて){ for(全ての座標点jについて){ if(iとjが同じ点じゃなければ){ その組み合わせの距離aを求める; if(最短距離 > 距離a...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 見ているモデルを中心にカメラを回転させたい(DXLib)
- 返信数: 45
- 閲覧数: 22788
Re: 見ているモデルを中心にカメラを回転させたい(DXLib)
動きとしてはOKだと思います。
では、実際にカメラとモデルを用意して、カメラがモデルを周回するプログラムを書いてみましょうか。
では、実際にカメラとモデルを用意して、カメラがモデルを周回するプログラムを書いてみましょうか。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: オセロで、石を反転する範囲の捜索の仕方がわかりません
- 返信数: 125
- 閲覧数: 47833
Re: オセロで、石を反転する範囲の捜索の仕方がわかりません
int IshiCount = WhiteLine( 1 , 1 , 1 , 1 , SIRO, 0 ); int WhiteLine( int x , int y , int Way_x , int Way_y , int Color , int count){ if(BanData[ y ][ x ] == WALL ){ return count; } BanData[ y ][ x ] = Color; WhiteLine( x + Way_x , y + Way_y , Way_x , Way_y , Color , count + 1 ); } こうでしょうか? 処理を追ってみま...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 見ているモデルを中心にカメラを回転させたい(DXLib)
- 返信数: 45
- 閲覧数: 22788
Re: 見ているモデルを中心にカメラを回転させたい(DXLib)
softya(ソフト屋) さんが書きました: 今気づきましたが、angleとangle2は起点が同じなのでこうですね。
ということなので、angle2の起点はangleではないのですか?softya(ソフト屋) さんが書きました: angle2 主人公からのカメラのいる方向(角度)
主人公から見た角度なので常に真後ろ=180度の定数扱いにするのかなと思っていました。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 回転角度の取り扱いについて(DXライブラリ)
- 返信数: 9
- 閲覧数: 9403
Re: 回転角度の取り扱いについて(DXライブラリ)
4次元の世界の住人じゃなくてよかったですね!
もしそうなったら諦めてました。
ご指摘の内容も時々確認してみます。
ありがとでした!
もしそうなったら諦めてました。
ご指摘の内容も時々確認してみます。
ありがとでした!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 回転角度の取り扱いについて(DXライブラリ)
- 返信数: 9
- 閲覧数: 9403
Re: 回転角度の取り扱いについて(DXライブラリ)
なんということでしょう。完璧です。
本当にありがとうございました。
大きな原因としては、今までキャラの回転行列を弾の回転行列に乗算するのではなく、単純に加算していたことでした。
つ:解決押し忘れです。
本当にありがとうございました。
大きな原因としては、今までキャラの回転行列を弾の回転行列に乗算するのではなく、単純に加算していたことでした。
つ:解決押し忘れです。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 回転角度の取り扱いについて(DXライブラリ)
- 返信数: 9
- 閲覧数: 9403
Re: 回転角度の取り扱いについて(DXライブラリ)
つまり上を向けば向くほど、画像のように弾の軌跡を変更しないといけないということでしょうか?
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 回転角度の取り扱いについて(DXライブラリ)
- 返信数: 9
- 閲覧数: 9403
Re: 回転角度の取り扱いについて(DXライブラリ)
行列を使ってみました。 状況は緩和されませんでした。 VECTOR Vector={0,0,1}; MATRIX Matrix=MGetIdent(); Matrix=MMult(Matrix, MGetRotX(Bullet[i].Rot.x)); Matrix=MMult(Matrix, MGetRotY(Bullet[i].Rot.y)); Matrix=MMult(Matrix, MGetRotZ(Bullet[i].Rot.z)); Vector=VTransform(Vector,Matrix); Bullet[i].NPos.x=Bullet[i].Pos.x+Bullet[i]...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 回転角度の取り扱いについて(DXライブラリ)
- 返信数: 9
- 閲覧数: 9403
Re: 回転角度の取り扱いについて(DXライブラリ)
よく考えたらそうでした。 ちょっと試行錯誤が入った計算式なので汚いかもしれません。 追記:貼りつける式をミスしました。 Bullet[i].NPos.x=Bullet[i].Pos.x+Bullet[i].Spd*sin(Bullet[i].Rot.x+1.0f/2.0f*DX_PI)*cos(1.0f/2.0f*DX_PI-Bullet[i].Rot.y); Bullet[i].NPos.y=Bullet[i].Pos.y+Bullet[i].Spd*cos(Bullet[i].Rot.x+1.0f/2.0f*DX_PI); Bullet[i].NPos.z=Bullet[i].Pos.z+...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 回転角度の取り扱いについて(DXライブラリ)
- 返信数: 9
- 閲覧数: 9403
回転角度の取り扱いについて(DXライブラリ)
c言語+DXライブラリで3次元シューティングを作っています。 まずは、こちらをご覧ください。 Fail0.png このように、キャラクタの向いている方向を軸として放射状に展開するような弾を撃ちたいのです。 垂直方向の角度がついていない場合、以上のように美しい円を描きます。 そして、真下(真上)を向いたときの射撃をしてみた画像です。 Fail1.png 全然美しくないです。 これを、どのような角度からのカメラから見ても最初の画像のような円形を描くようにしたいのですが難航しています。 弾の回転角度を計算する式は以下のようになっています。 Bullet[j].Rotは弾の向きです。 Vec2はキャラ...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 時間の取得について
- 返信数: 8
- 閲覧数: 3347
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 時間の取得について
- 返信数: 8
- 閲覧数: 3347
Re: 時間の取得について
インデントを揃えるというのはそうではなくて、こういうことです。 time_t t; time_t FFF; time_t GDS,SSK,GPSD; time_t time(time_t *timer); time_t ppp1,ppp2,ppp3; ・・・(この間、省略します) //時間取得 SSK=time(&t); FFF=SSK%60; SSK-=FFF; SSK=SSK/60; GDS=SSK%60; SSK-=GDS; SSK=SSK/60; GPSD=SSK%24-3; ppp1=GPSD; ppp2=GDS; ppp3=FFF; //マウスポインタの座標を取得 GetMouse...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列とポインタ
- 返信数: 6
- 閲覧数: 3441
Re: 文字列とポインタ
ポインタは難しいですからね。頑張ってください。
一件落着でしたら、解決!ボタンを押しておいてくださいね!
一件落着でしたら、解決!ボタンを押しておいてくださいね!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列とポインタ
- 返信数: 6
- 閲覧数: 3441
Re: 文字列とポインタ
そうですね。tomo.xxx さんが書きました:このようにしたところ
警告: assignment makes integer from pointer without a cast
という警告が出たのですが、これは(str + i)が指すアドレスの中身にdstのアドレスを代入しようとするから警告が出るのでしょうか?
普通に使っていればそんなことはする必要はありませんけど、コード文法的には間違っていないので、
エラーは吐かない感じです。
それに、str+iはchar型(1byte)ですので、代入しようとするとdstのアドレス値が大きすぎて値が維持できない可能性が高いですね。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列とポインタ
- 返信数: 6
- 閲覧数: 3441
Re: 文字列とポインタ
*(str + i) = dst というのはdstのアドレスを*(str + i)に入れているのでしょうか? それともdstの中身 '-' を ' '(空白)に入れているのでしょうか? dstの中身 '-' を str+iが指すアドレスの中身にいれています。 ポインタ型として宣言された変数の代入の際には: *がついている時は、そのポインタが差すアドレスの中身に代入します。 ついていない時は、そのポインタが持つアドレス値に代入します。 宣言のときの*と、代入の時の*で混乱するかもしれませんが…。 int *a; a=3; // aは3番地を指すようになる *a=3; // aの指すアドレスの中...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 見ているモデルを中心にカメラを回転させたい(DXLib)
- 返信数: 45
- 閲覧数: 22788
Re: 見ているモデルを中心にカメラを回転させたい(DXLib)
ところで、これについてはできましたか?softya(ソフト屋) さんが書きました: r 回転半径。カメラと主人公の距離の事で 500 とします。
angle 主人公の見ている方向(角度)
angle2 主人公からのカメラのいる方向(角度) つまり見ている方向であるangleの逆方向。
sin/cos三角関数。
cx 主人公とカメラのx方向の相対距離
cz 主人公とカメラのz方向の相対距離
これを全て図に書き入れて下さい。
【追記】
えっー!↓
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 見ているモデルを中心にカメラを回転させたい(DXLib)
- 返信数: 45
- 閲覧数: 22788
Re: 見ているモデルを中心にカメラを回転させたい(DXLib)
angleは0度でangle2は180度になりますね。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 分割コンパイル時のグローバル変数の使い方について
- 返信数: 14
- 閲覧数: 9057
Re: 分割コンパイル時のグローバル変数の使い方について
ありがとうございます!
やはり人によって意見が分散する話題になりますね。
現段階では私にはどちらがいいのか判断が下せませんが、そのような利点があることを頭の片隅に置いときつつ
作業を進めようと思います!
やはり人によって意見が分散する話題になりますね。
現段階では私にはどちらがいいのか判断が下せませんが、そのような利点があることを頭の片隅に置いときつつ
作業を進めようと思います!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 見ているモデルを中心にカメラを回転させたい(DXLib)
- 返信数: 45
- 閲覧数: 22788
Re: 見ているモデルを中心にカメラを回転させたい(DXLib)
カメラの座標はx,zともにあらゆる値を取ります。
現在はxz平面上のみ考えるということでyは常に0になりますけどね。
【追記】
今気付いたのですが、私の描いた図だと回転方向が逆になってます。本当は時計回りなのでお間違えのないようにお願いします。
現在はxz平面上のみ考えるということでyは常に0になりますけどね。
【追記】
今気付いたのですが、私の描いた図だと回転方向が逆になってます。本当は時計回りなのでお間違えのないようにお願いします。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 見ているモデルを中心にカメラを回転させたい(DXLib)
- 返信数: 45
- 閲覧数: 22788
Re: 見ているモデルを中心にカメラを回転させたい(DXLib)
EIYUUさん
どのxを指していますか?EIYUU さんが書きました: これは、xは、0でいいのでしょうか
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 分割コンパイル時のグローバル変数の使い方について
- 返信数: 14
- 閲覧数: 9057
Re: 分割コンパイル時のグローバル変数の使い方について
結合度的には同じってことでいいですよね?
ありがとうございます!
ありがとうございます!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 分割コンパイル時のグローバル変数の使い方について
- 返信数: 14
- 閲覧数: 9057
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 分割コンパイル時のグローバル変数の使い方について
- 返信数: 14
- 閲覧数: 9057
Re: 分割コンパイル時のグローバル変数の使い方について
ありがとうございます!
他のご指摘も順次対応してみようと思います!
適切なところへまとめようと思います。softya(ソフト屋) さんが書きました:変更後のやつで、とりあえず集めた感じのものが結構ありますね。
Num.cpp
Shader.cpp
Team.cpp
なんとかPCを隠蔽できるように試行錯誤してみます。softya(ソフト屋) さんが書きました: あと、公開している構造体の多さも気になるところですね。
うまく隠蔽すると公開する構造体自体が減るはずです。
PCとか公開する必要がないんじゃないでしょうか? → データの抽象化が不十分でファイル間の結合度が高い証拠かと。
他のご指摘も順次対応してみようと思います!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 分割コンパイル時のグローバル変数の使い方について
- 返信数: 14
- 閲覧数: 9057
Re: 分割コンパイル時のグローバル変数の使い方について
お二人方の返答を参考にしながら修正してみたのですが、いかがでしょうか?
修正前と修正後のコードを添付してみます。
分割している意味がこれで出てきているのでしょうか?
もし変なところがありましたら教えて頂きたく思います。
修正内容:
extern宣言廃止
コードの分割に関して、オブジェクト指向を意識
【追記】
修正前にあたるものが修正し始めた時の中途半端なものでした。
main内がおかしいのでご了承を・・・。
修正前と修正後のコードを添付してみます。
分割している意味がこれで出てきているのでしょうか?
もし変なところがありましたら教えて頂きたく思います。
修正内容:
extern宣言廃止
コードの分割に関して、オブジェクト指向を意識
【追記】
修正前にあたるものが修正し始めた時の中途半端なものでした。
main内がおかしいのでご了承を・・・。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 見ているモデルを中心にカメラを回転させたい(DXLib)
- 返信数: 45
- 閲覧数: 22788
Re: 見ているモデルを中心にカメラを回転させたい(DXLib)
ではヒントです。
この絵とsoftyaさんの掲示した変数要素の定義を見比べて、穴埋めをしてみてください。
この絵とsoftyaさんの掲示した変数要素の定義を見比べて、穴埋めをしてみてください。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 分割コンパイル時のグローバル変数の使い方について
- 返信数: 14
- 閲覧数: 9057
Re: 分割コンパイル時のグローバル変数の使い方について
なるほど、とりあえずグローバル変数を消してからオブジェクトを整理するかと思ってましたが、逆なんですね。softya(ソフト屋) さんが書きました: オブジェクトに必要な変数は出来るだけオブジェクト内のファイルスコープ変数にしてしまいます。
やっぱり変ですよね。
理解しました。ありがとうございました!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 分割コンパイル時のグローバル変数の使い方について
- 返信数: 14
- 閲覧数: 9057
Re: 分割コンパイル時のグローバル変数の使い方について
現在、参照渡しや値渡しを駆使してグローバル変数撲滅作戦を遂行中ですが、 // プロトタイプ宣言 void GameInit(GAME *Game, MAP *Map, FONT *Font, GRAPHHANDLE *Handle, SHADER *Shader); void KeyConfigInit(KEYCON *KeyCon, KEYCON *PadCon); void PlayInit(GAME *Game, PC *Pc, CAMERA *Camera, TEAM *Team, NUM *Num, GRAPHHANDLE Handle, int PlayerID); void Pc...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 分割コンパイル時のグローバル変数の使い方について
- 返信数: 14
- 閲覧数: 9057
Re: 分割コンパイル時のグローバル変数の使い方について
涼雅さん
グローバル変数は使用するべきではないのですね。
なるほど、分割手法について、
Draw(描写), Control(プレイヤーやCPUの入力受付) , Move(キャラやカメラの移動), Shot(攻撃全般), Stage(フィールドの効果), Direction(演出), Main のように、行為に対して分割してしまいました。
オブジェクト思考という言葉は存じてますが、意識したことはありませんでした。
ありがとうございます!
softyaさん
ありがとうございます、参考にさせていただきます!
グローバル変数は使用するべきではないのですね。
なるほど、分割手法について、
Draw(描写), Control(プレイヤーやCPUの入力受付) , Move(キャラやカメラの移動), Shot(攻撃全般), Stage(フィールドの効果), Direction(演出), Main のように、行為に対して分割してしまいました。
オブジェクト思考という言葉は存じてますが、意識したことはありませんでした。
ありがとうございます!
softyaさん
ありがとうございます、参考にさせていただきます!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 分割コンパイル時のグローバル変数の使い方について
- 返信数: 14
- 閲覧数: 9057
分割コンパイル時のグローバル変数の使い方について
C言語でゲームを作っています。 ソースコードは複数に分割し、分割コンパイルとなっております。 main.cpp, draw.cpp, Stage.cppの3つのファイルがあるとします。 main.cppにグローバル変数として、構造体の実体が以下のように定義されています。 // 構造体実体定義 PC Pc[PCNUM]; CAMERA Camera; BULLET PcBullet[SHOTMAX]; MAP Map[MAPNUM]; GAME Game; KEYCON KeyCon,PadCon; SHADER Shader; FONT Font; DRAW Draw[DRAWMAX]; GR...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
- 返信数: 18
- 閲覧数: 9657
Re: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
>冗長でメンテナンス性の悪い
そうですよね。。。
URLについてはあす以降にじっくりと拝見しようと思います。
見つけていただいてありがとうございます!
そういうの、リファレンスにどんどん乗せて欲しいところですが…w
そうですよね。。。
URLについてはあす以降にじっくりと拝見しようと思います。
見つけていただいてありがとうございます!
そういうの、リファレンスにどんどん乗せて欲しいところですが…w
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
- 返信数: 18
- 閲覧数: 9657
Re: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
すごい細かいことですが…、
先ほどの12,13ブレンドだと、上下動モーションの比率の差が出る影響で、上下動の幅にぶれが生じて変に見えてしまうかもしれません。
先ほどの12,13ブレンドだと、上下動モーションの比率の差が出る影響で、上下動の幅にぶれが生じて変に見えてしまうかもしれません。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
- 返信数: 18
- 閲覧数: 9657
Re: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
softyaさん
検証の結果、12,13ブレンドでうまくいくことが確認できました!
長時間の検証にお付き合いいただき本当にありがとうございました。
次は行列ですか。 行列かぁ…。
検証の結果、12,13ブレンドでうまくいくことが確認できました!
長時間の検証にお付き合いいただき本当にありがとうございました。
次は行列ですか。 行列かぁ…。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: コマンドプロンプトで遊ぶポーカー
- 返信数: 9
- 閲覧数: 6656
Re: コマンドプロンプトで遊ぶポーカー
例えば、上記のコードだと、どのカードを交換するか入力させるところありますよね?
そのあたりに、もしPLAYER1だったら今まで通り入力を促し、PLAYER2だったらランダムにcの値を決めるようなif文を追加する方法があります。
そのあたりに、もしPLAYER1だったら今まで通り入力を促し、PLAYER2だったらランダムにcの値を決めるようなif文を追加する方法があります。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: モーションを再生したい!(DxLib)
- 返信数: 6
- 閲覧数: 3972
Re: モーションを再生したい!(DxLib)
そのエラーの直接的な回答になるか分かりませんが、
PlayTime+=100.0f;
って進めすぎではないですか?
totaltimeを一瞬で上回って、Playtime=0;になっている可能性があります。
PlayTime+=1.0f;
位にしておきましょう。
PlayTime+=100.0f;
って進めすぎではないですか?
totaltimeを一瞬で上回って、Playtime=0;になっている可能性があります。
PlayTime+=1.0f;
位にしておきましょう。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: コマンドプロンプトで遊ぶポーカー
- 返信数: 9
- 閲覧数: 6656
Re: コマンドプロンプトで遊ぶポーカー
もし何も分からないのであれば、
いっそのこと、全部ランダムに行動するCPUをまず作ってみませんか?
初期段階として、配られたカード1枚1枚に対して残すか残さないかの2択をランダムに選択するCPUをば!
賢くするのはそれからでも良いと思います。
いっそのこと、全部ランダムに行動するCPUをまず作ってみませんか?
初期段階として、配られたカード1枚1枚に対して残すか残さないかの2択をランダムに選択するCPUをば!
賢くするのはそれからでも良いと思います。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
- 返信数: 18
- 閲覧数: 9657
Re: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
梨樹さん
ありがとうございます!
実は行列を使った回転、移動、拡大縮小をやったことがないので、少し手間取りそうです。
softyaさん
その件については、まだ検証できていませんが、後ほど検証させていただきます。
結果は失敗した場合のみ動画でアップします。
>アニメーションを適用したモデルに、首のフレームからMV1GetFrameLocalWorldMatrixでマトリクス得て、これを回転、再びMV1SetFrameUserLocalMatrixでセットするで行けるかもしれません。
上記の通り行列になじみはありませんが、余力があれば検証してみます!
ありがとうございます!
実は行列を使った回転、移動、拡大縮小をやったことがないので、少し手間取りそうです。
softyaさん
その件については、まだ検証できていませんが、後ほど検証させていただきます。
結果は失敗した場合のみ動画でアップします。
>アニメーションを適用したモデルに、首のフレームからMV1GetFrameLocalWorldMatrixでマトリクス得て、これを回転、再びMV1SetFrameUserLocalMatrixでセットするで行けるかもしれません。
上記の通り行列になじみはありませんが、余力があれば検証してみます!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語の課題です
- 返信数: 2
- 閲覧数: 1708
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: コマンドプロンプトで遊ぶポーカー
- 返信数: 9
- 閲覧数: 6656
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
- 返信数: 18
- 閲覧数: 9657
Re: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
返答ありがとうございます。
こちらでさらに検証したところ、
上下動のモーションは歪みに影響はないことが分かりました。
首の回転について、例えば、
x軸回転: 4.5度
y軸回転: 80度
z軸回転: 7.8度
↓
x軸回転: 5.3度
y軸回転: -80度
z軸回転: 6.2度
のように、y軸回転以外の角度が微妙に違うと変形を起こしてしまうようです。
これを、
x軸回転: 0度
y軸回転: 80度
z軸回転: 0度
↓
x軸回転: 0度
y軸回転: -80度
z軸回転: 0度
とすると、上下移動があってもうまく回ります。
つまり、複数軸の回転が重なるとおかしくなるような気がします。
こちらでさらに検証したところ、
上下動のモーションは歪みに影響はないことが分かりました。
首の回転について、例えば、
x軸回転: 4.5度
y軸回転: 80度
z軸回転: 7.8度
↓
x軸回転: 5.3度
y軸回転: -80度
z軸回転: 6.2度
のように、y軸回転以外の角度が微妙に違うと変形を起こしてしまうようです。
これを、
x軸回転: 0度
y軸回転: 80度
z軸回転: 0度
↓
x軸回転: 0度
y軸回転: -80度
z軸回転: 0度
とすると、上下移動があってもうまく回ります。
つまり、複数軸の回転が重なるとおかしくなるような気がします。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: コマンドプロンプトで遊ぶポーカー
- 返信数: 9
- 閲覧数: 6656
Re: コマンドプロンプトで遊ぶポーカー
具体的にはどのようなエラーが出ますか?
ヘッダファイルも貼ってくださるとこちらも検証できます。
とりあえず、226行目とかおかしくはないですか?
ヘッダファイルも貼ってくださるとこちらも検証できます。
とりあえず、226行目とかおかしくはないですか?
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
- 返信数: 18
- 閲覧数: 9657
Re: MMDを用いたアニメーションにおいて姿勢を変えずに首だけを傾ける手法について(DXライブラリ)
顔以外をデフォルト位置にして、顔を90度と-90度に傾けたものを用意しアニメーションさせると、右向きと左向きが交互に出ました。
そして、それぞれを45度,-45度にしてみたところ!
首が回りました!
【追記】
しかし、元のデータでうまくいかなかった原因はなんでしょうか?
回転以外のパラメータが変に影響してしまうのでしょうか。
そういった意味では、この実装は厳しそうですか?
そして、それぞれを45度,-45度にしてみたところ!
首が回りました!
【追記】
しかし、元のデータでうまくいかなかった原因はなんでしょうか?
回転以外のパラメータが変に影響してしまうのでしょうか。
そういった意味では、この実装は厳しそうですか?