今晩は、宜しくお願いします。
ランダムに*を発生させて、動いているようなプログラムをつくりたいと思って、下のようなコードをかいて時間をスリープさせてやりましたが、何故か単に表示が遅くなるだけで、実際に*がRand関数
により発生して、ゆれるような表示ができません.
どこをどのように修正してやればよいのでしょうか。
宜しくご教示お願い致します。
=============================================================
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
char str[20] ;
int pos = 10 ;
int j ;
srand( time( NULL ) ) ;
do
{
Sleep(500);
for(j = 1 ; j < pos ; j ++ )
{
putchar(' ');
}
putchar('*');
putchar('\n');
switch ( rand() %3 )
{
case 0:
continue ;
break;
case 1:
pos = pos + 1 ;
break; default :
pos = pos - 1 ;
break;
}
} while(pos > 0 && pos < 1000 );
return 0 ;
}
時間をスリープさせて動くプログラムをつくりたい
Re:時間をスリープさせて動くプログラムをつくりたい
どこが、問題なのでしょうか?
Sleep(500);
と書かれていますので、0.5秒周期で画面が更新されます。
これは意図されて書かれたものでは無いのでしょうか?
それと*自身は左右に揺れて表示されますので、意図通り動いているみたいなのですが。
Sleep(500);
と書かれていますので、0.5秒周期で画面が更新されます。
これは意図されて書かれたものでは無いのでしょうか?
それと*自身は左右に揺れて表示されますので、意図通り動いているみたいなのですが。
Re:時間をスリープさせて動くプログラムをつくりたい
時間をスリープ == 表示が遅く
ですがスリープに期待している動作は何でしょうか
あと実行環境は何でしょう(OSやコンパイラー等)
ですがスリープに期待している動作は何でしょうか
あと実行環境は何でしょう(OSやコンパイラー等)
Re:時間をスリープさせて動くプログラムをつくりたい
必要な情報を出さなければ、どこで質問しても同じです。
http://oshiete1.goo.ne.jp/qa5357892.html
http://oshiete1.goo.ne.jp/qa5357892.html
Re:時間をスリープさせて動くプログラムをつくりたい
こういう事がしたかったのかな?
環境はVC++ 2008 Exp Edition で WinXP Proと仮定しています。
環境はVC++ 2008 Exp Edition で WinXP Proと仮定しています。
#include <stdio.h> #include <stdlib.h> #include <time.h> #include<string.h> #include<windows.h> #define MAX (1000) int main(){ int pos=10,i; srand((unsigned)time(NULL)); while(pos> 0 && pos< MAX){ system("cls"); for(i=0;i<MAX;i++) putchar((i==pos)?'*':' '); pos += rand()%3 - 1; Sleep(500); } return 0; }