検索結果 235 件

by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

坂道に沿って動くプログラムです。
高校生レベルの数学がわかればわかるはず、、、?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

keito94 さんが書きました:
オフトピック
ええっ!?Y座標を坂道に合わせて動かせばいいんですか!?
ちょっと甘かったです…。
y座標動かさないと坂道のぼれないやないかーいw
でもこれで不具合の原因がわかりましたね^^
移動した座標が坂道だったら、坂道の傾斜に応じてy座標を変化させてやればいいわけですね。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

マジックナンバーが定数に置き換えられてて見やすくなっていました^^ ただ(私がconst intって書いたせいかも知らないけど)定数がすべてconst intで定義されていました。 定数は別に整数である必要はなく、比較対象と同じ型にしたほうがいいと思います。 以下修正案 //collision.cpp void CCollision::GetYPosition(float* myx, float* myy, float* addx, float* addy, int* jcount, bool* gflag) { //座標を一時的に保存する。 float tempaddx = *addx; f...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

プログラムを動かしてみたところキャラクターが坂道に差し掛かると キャラが沈んだり、なぜか左右にものすごい勢いで動いたりしました。 何が悪いのかとプログラムを読もうと思ったのですが、いわゆるマジックナンバーが多く正直私レベルだと理解できません。(っていうかしたくない^p^) 出来ればマクロ、enum、定数などに置き換えたほうがいいと思います。 void CCollision::GetYPosition(float* myx, float* myy, float* addx, float* addy, int* jcount, bool* gflag) { float tempaddx = *ad...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

坂道に入ると
Run-Time Check Failure #3 - The variable 'SlopeCond' is being used without being initialized.
という例外が出て止まってしまいます@_@
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

坂道とプレイヤーの線分が交差していたらColSegments関数にtrueを返してほしくて、 でもColSegments関数はfalseを返すし、 これはColSegments関数の不具合ということですか? 違います違います!! ColSegment自体は正しく動作しています!! ColSegments関数の仕業じゃないとすれば妖怪の仕業、、、? 冗談はさておき、 http://dixq.net/forum/blog.php?u=900&b=6581 のISLeさんの投稿を見ると、 GetXPosition周りが怪しいとか、、、。 解決案としましては、 GetXPosition関数とかの修正...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

purin52002 さんが書きました: 坂道とプレイヤーの線分が交差していたらColSegments関数にtrueを返してほしくて、
でもColSegments関数はfalseを返すし、
これはColSegments関数の不具合ということですか?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

線分と線分が交差していたらtrueを返すのがColSegments関数で、
坂道とプレイヤーの線分が交差していたらColSegments関数にtrueを返してほしくて、
でもColSegments関数はfalseを返すし、
そのせいでブロック判定もうまくいかない。

ということですか?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

keito94 さんが書きました:
purin52002 さんが書きました: これは、真になるであろうパラメータを与えても真にならないということですか?
そ、そういうことではなくてですね…。
坂道のブロックにいると判定されているときに何故か真にならないということです。
purin52002 さんが書きました:理解力ががが^p^

坂道ブロックにいるときは真と判定してほしいのに、真と判定されない。
という不具合だと思ったのですが違うのですか?
理解力がががががが^p^p^
ちょっと状況がわからなくなってしまったので詳しく説明してもらってもいいですか?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

理解力ががが^p^

坂道ブロックにいるときは真と判定してほしいのに、真と判定されない。
という不具合だと思ったのですが違うのですか?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

線分の判定が真にならない。
これは、真になるであろうパラメータを与えても真にならないということですか?

だとすると(私は線分判定のアルゴリズムがよくわかっていないので)お手上げです^^;
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

坂道に入った瞬間だけ正しい値が出力されるとしたら、
  • 坂道判定で座標が修正される。->修正された座標では坂道判定にならない
  • 坂道判定に座標以外のパラメータが使われている。->一定時間以上いたら正しい値を返さない、一度だけ正しい値を返す。など(んなわけないか)
  • 小人さんが意地悪している^p^
これぐらいが私の思い付く原因ですね、、、
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ
返信数: 5
閲覧数: 647

Re: ポインタ

ベクトルと行列の掛け算は内積を使って計算できますね。 内積は同じ次元のベクトルの各要素を掛け合わせたものの総和で、 n次元のベクトルA,Bの場合、 ΣA(i)*B(i)|i=1~n になると思います。(あってるかな?) これはfor文をn回回して、A,Bの同じindexの要素をかけたものを足し合わせればいいと思います。 次に、ベクトルと行列の掛け算です。 文字だけで説明するのが私ではちょっと難しいので、説明は省略します^^; とりあえず計算方法だけ説明します。 ベクトルA,Bの内積をdot(A,B)として、ベクトルXと行列Y(i行j列)の掛け算は [ dot( X,Y( :,1 ) ) dot...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

i+2を出力した後に、坂道のブロックにいるときにはi+2が出力されるはずなのに、何故か0を出力してしまう不具合というのが確認されました。 これは坂道ブロックに入った瞬間に0を出力するということですか? それとも坂道ブロックに入った瞬間はi+2、そのご0が出力されるということですか? そして、return 0の部分では、indexの値が獲得されていないのがわかりました。 仮にreturn 0 ;にブレークポイントをつけてindexをウォッチしたなら、スコープを抜けているので値を見ることができません。 それとももしかしてreturn 0 ;を返す場合のindexの値が不定になるということだったり...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ベクトルの積
返信数: 1
閲覧数: 323

Re: ベクトルの積

http://dixq.net/forum/viewtopic.php?f=3&t=19214

なんか似たような内容のトピックがすでにあったので、
同じこと2回書くのも面倒だし、urlのトピックのほうが返信もいっぱいついてるし
向こうで返信を待ってみてはどうですか?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

日本語力が低いのでできるだけわかりやすい文章でお願いします^p^;


「ブロックとしての当たり判定」というのがなんなのかわかりませんが、19行目の

int index = Game->MapData().GetValue(i + 2, pt[j].x / cwidth, pt[j].y / cheight);

で正しい値が取得できているでしょうか?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

keito94 さんが書きました: GetChipLayerNumが上り坂を示す25行が実行された後に30行が実行されているのを確認しました。
return i+2 ; のあとにreturn 0 ; が呼ばれたってことですかね?
returnのあとにreturnが呼ばれたことがないのでわからないのですが、その場合どのような値が出力されるのでしょうか?(i+2?それとも0?)
purin52002 さんが書きました: 計算式が間違っているか、計算に使っているindexの値がおかしいかですね。
keito94 さんが書きました:デバッグして調べてみたところ、purinさんが指摘した部分に間違いはないどころか、
となると何が不具合の原因かちょっとわたしではわからないですね、、、^^;
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

最初のプログラムが見つけられませんでした^p^

このGetChipLayerNum関数に不具合があるということですよね?
値を返すのが25,30行目で、不具合が起きそうなところはsrc_x、src_yの部分ですね。

計算式が間違っているか、計算に使っているindexの値がおかしいかですね。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

slope.xに-2が代入されてしまうということはslopeに値を代入するCheckSlope関数がうまく動いていないんだとおもいます。 自分でデバッグして、原因を突き止めてから、自分で症状を改善させましたが、まだ完成ではありません。 なぜなら、このアルゴリズムで、else if(tempaddx != 0)のところへ来ないで、ブロックとして扱われてしまうからです。 if (Slope.s.x >= Player.v.x && Player.v.x < Slope.v.x || Slope.s.x <= Player.v.x && Player.v.x > Slope.v.x) { if (C...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

なぜなら、このアルゴリズムで、else if(tempaddx != 0)のところへ来ないで、ブロックとして扱われてしまうからです。 これは元のプログラム179行目~のことでいいんでしょうか? //-2を返したら、ブロックとして扱う。 if (slope.y == -1) { *gflag = true; } else if (slope.y == -2) { //ブロックとしての当たり判定。 } else { *addy = slope.y; } これを修正して //-2を返したら、ブロックとして扱う。 if (slope.y == -1) { *gflag = true; } else ...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 度数を計算
返信数: 2
閲覧数: 363

Re: 度数を計算

RAcnt[j][0]が最小値で、RAcnt[j][1]が最大値を表しているなら間違っていないような気がします。
どこか別の部分で間違えていたりして、、、?
あと正しい出力だと度数Aは12個出力されていますが間違った出力では11個出力されています。
オフトピック
プログラムが見づらいです^^;
codeタグで囲むと見やすくなるので、今後プログラムを張ることがあれば囲ってください^^
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

申し訳ないのですが、理解力が人一倍ないので一つ一つ確認していきます^^; if (Slope.s.x >= Player.v.x && Player.v.x < Slope.v.x || Slope.s.x <= Player.v.x && Player.v.x > Slope.v.x) { if (ColSegments(Slope,Player,&T1,&T2,&Vres)) { res.x = (int)x-Vres.x; res.y = (int)y-Vres.y; } } else { //何故かここへ来る。 res.x = -2; res.y = -2; return res; }...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: すいません 急ぎで解答をお願いします。
返信数: 5
閲覧数: 708

Re: すいません 急ぎで解答をお願いします。

まずは自分で書けるところまで書いてみてください。
そのあとデバッグしていきましょう。

、、、というのもやっぱり冷やかしになってしまうのかしらorz
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 18981

Re: 坂道の当たり判定を作っています。

正直ソースが多すぎて読むのが面倒です。
不具合が出ていそうな箇所をあぶりだしてほしいです。

そこでデバッグですよ!
いまこそデバッグトレーニングの成果を試すときですよ!

とりあえず坂道のアタリ判定をしているときに空中にいるとみなされる原因を探してみましょう。
  1. 判定している箇所を探す。
  2. 空中にいるとみなす計算を探す。
  3. その計算に使われている変数を探す。
  4. 変数を設定する計算を探す。
を繰り返してください。
いつか「お前、その計算結果はおかしいだろ^p^」となる処理が見つかるはずです。

原因となる処理さえ見つけられればあとは何とかなったりならなかったり、、、
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: タイピングゲームを作成しています。
返信数: 9
閲覧数: 1000

Re: タイピングゲームを作成しています。

うーん、、、わからない^^;

とりあえず気になったところだけあげて行きます。

48行目
もしもvisualstudioで書いているなら、scanfを使うとscanf_sを使えと怒られてしまうので置き換えたほうがいいかも

50行目
putsにint型のiを渡していますが、putsには文字列を渡す必要があるのでitoa関数などで文字列型にしたほうがいい気がする。

50行目
putsとuserstrを比較しているが、putsの返り値は正の値かEOFなので期待している動作にはならなさそう。

warningの原因になりそうなのはこれぐらいしか見つけられませんでした^^;
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: タイピングゲームを作成しています。
返信数: 9
閲覧数: 1000

Re: タイピングゲームを作成しています。

提示しているコードは正しいですか?

コードのコメントにはtyping.cと書いてありますが、エラーログには課題4.cと書いてあります。
あとscanf_s関数も見当たりません。

もしかして違うファイルをコンパイルしようとしてたりして、、、?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++][dlib]機械学習ライブラリ「dlib」で未解決が出ます
返信数: 1
閲覧数: 614

Re: [c++][dlib]機械学習ライブラリ「dlib」で未解決が出ます

http://dlib.net/compile.html
このページをよく読んで下さい。

リンカエラーが出る場合は「dlib / all / source.cpp」をプロジェクトに追加しろ
と書いてあります。


というわけで自己解決してしまいました^p^;

英語でも嫌がらずにドキュメントを読めということですね^^;
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++][dlib]機械学習ライブラリ「dlib」で未解決が出ます
返信数: 1
閲覧数: 614

[c++][dlib]機械学習ライブラリ「dlib」で未解決が出ます

こんにちは アテンションプリーズ! こちらに機械学習ライブラリ「dlib」を扱ったことがある方はいませんか!? dlibでdnnをしようと思い、dnn.hをincludeしたところ 「外部シンボル "USER_ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives" は未解決です。」 というエラーが出ました。 どこで何を定義すればこのエラーを解決できますか?(っていうか今まで見たことのない未解決シンボルなんですが、、、orz)...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 標準出力出来ず セグメントエラー
返信数: 4
閲覧数: 526

Re: 標準出力出来ず セグメントエラー

コード:

printf("区の名称を入力せよ: ");
scanf("%s",str1[i]);
fprintf(fp,"%s: %d\n", str1[i], population[i]);
この時点でi=Nになっているので、配列の範囲外にアクセスしているような気がします。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 関数にポインタを引数として渡すプログラムについて
返信数: 29
閲覧数: 2115

Re: C言語 関数にポインタを引数として渡すプログラムについて

引数を逆にしたのはいいのですが、読み込んだデータを不定の値で上書きしている部分が直っていないのでちゃんと動かないような気がします^^;

おそらくですが、cpにssの値をコピーしたいのはないでしょうか?
だとするとcpが左辺に来るべきだと思います。
[hr]
質問者さんに質問するのもおかしいですが、

コード:

*p+='B'-'b';
にはどんな意味があるんですか?

'A'-'a'の意味は分かったんですけど'B'-'b'の意味が分かりませんでしたorz
次の文字だから'B'-'b'っていうことですか?

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