館9章において

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
yusha

館9章において

#1

投稿記事 by yusha » 11年前

コード:

double x, y, mx, my, naname = 1;
にて=1となる理由がわかりません。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 館9章において

#2

投稿記事 by みけCAT » 11年前

それは残念ですね。
質問はありますか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

yusha

Re: 館9章において

#3

投稿記事 by yusha » 11年前

なぜ=1となるのか教えていただけますか?

=0とすると斜め移動しかできなくなるのですが、そこでなぜ1という数字を使ったのか理解できません。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 館9章において

#4

投稿記事 by みけCAT » 11年前

「ch.cnt++」でなぜカウントを1ずつ加算していくのかと同様に、
2とか0.5とかにするより1にしたほうがわかりにくくなったり冗長になったりせず、最適だから1にしたのだと思います。
別に=1.0と書いてもいい気がします。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

yusha

Re: 館9章において

#5

投稿記事 by yusha » 11年前

ですが、2やその他の数にすると移動速度が変わったりするので、何か理由があるものと考えています。

また、0だとなぜ移動に制限がかかるのかも理解できません。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 館9章において

#6

投稿記事 by みけCAT » 11年前

yusha さんが書きました:ですが、2やその他の数にすると移動速度が変わったりするので、何か理由があるものと考えています。
8.0/2.0でも4.0/1.0でも同じ4.0という数字がでるので、
わざわざ8.0/2.0を計算するより4.0という数字を最初から用意し、
補正の必要がないときは4.0/1.0で4.0を出す、というのがわかりやすいからだと思います。
これはyushaさんにとって「理由」ではないのですか?
yusha さんが書きました:また、0だとなぜ移動に制限がかかるのかも理解できません。
4.0/0.0はinfなので、座標にinfを足したらinfになります。
その結果座標は画面外になるので、更新されません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

yusha

Re: 館9章において

#7

投稿記事 by yusha » 11年前

これは

コード:

x += mx / naname, y += my / naname;
でのことのことですよね?

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 館9章において

#8

投稿記事 by みけCAT » 11年前

yusha さんが書きました:これは

コード:

x += mx / naname, y += my / naname;
でのことのことですよね?
多分そうだと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

yusha

Re: 館9章において

#9

投稿記事 by yusha » 11年前

そう考えると理解できた気がします。

ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る