カウントについて

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

カウントについて

#1

投稿記事 by 胡椒 » 15年前

龍神録のプログラムでは、ステージカウントを表示するとカウントが一秒で60増えますよね。

でも↓の
#include <stdio.h>

int main(){
int cnt;
cnt=0;
while(1){
printf("%d\r",cnt);
cnt++;
}
fflush(stdin);
getchar();
return(0);
}
というコードではあっという間にものすごい数が増えてしまいます。
一応
#include <stdio.h>

int main(){
int cnt,s;
cnt=0;
while(1){
s=cnt/100;
printf("%d\r",s);
cnt++;
}
fflush(stdin);
getchar();
return(0);
}

とすればそれなりの(龍神録と似た)数になりますが、これはどうしてでしょうか?
龍神録の中には
s=cnt/100;
の部分が見当たらなくて、そのようなことをしているとは思わないのですが・・・

シエル

Re:カウントについて

#2

投稿記事 by シエル » 15年前

下記をお読み下さい。
http://dixq.net/g/51.html

Dixq (管理人)

Re:カウントについて

#3

投稿記事 by Dixq (管理人) » 15年前

下のプログラムはたまたま似たような値が出ているだけで関連性は全くないです。
ループは1億回位一瞬でまわってしまいますから、printfをかかなければものすごいいきおいで増加することでしょう。
プログラムの中ではprintf自体の処理に時間がかかっているので、遅くなり、100で割ると似たような数値が表示されているだけです。

概要はシエルさんが示されているリンク先をご覧ください。
しかしこれでは60FPSぴったりに出来ないので、ぴったりにしたい時はもっと長い目で見て修正する必要があります
その辺についてはこちらに書いています。
http://dixq.net/rp/43.html

胡椒

Re:カウントについて

#4

投稿記事 by 胡椒 » 15年前

ありがとうございます。
よくわかりました。

閉鎖

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