Top >C言語、Java 練習プログラム集

4. ステーション

■ C 言語による作成例

#include <stdio.h>

void main()
{
    char    szRule[] = 
        "列車は時速100km/hで走っています。駅までの距離は500mです。\n"
        "ブレーキを強くしたり、弱くしたりしながら駅に停車してください。\n"
        "ブレーキは毎回、1段階だけ強くしたり弱くしたりできます。\n"
        "--------------------------------------------------------------\n";
    int reply;

    printf( szRule );

    do
    {
        int remain = 500;    // 残りの距離
        int speed = 100;     // スピード
        int brake = 0;       // ブレーキの強さ
        int second;          // 経過秒数

        for( second = 0 ; speed > 0 ; second++ )
        {
            int i;

            for( i = 0 ; i < ( remain / 10 ) ; i++ )
                printf( "_" );

            printf( "□□□\n" );

            printf( "残り距離 %dm 速度 %dkm/h ブレーキの強さ %d\n",
                    remain, speed, brake );
            printf( "ブレーキの強さは?(2=強く、1=弱く、0=そのまま)" );
            scanf( "%d", &reply );

            if( reply == 2 )
                brake++;
            else if( reply == 1 && brake > 0 )
                brake--;

            if( speed > brake )
                speed -= brake;
            else
                speed = 0;

            remain -= ( ( ( speed * 10 ) + 35 ) / 36 );
        }

        printf( "%d秒 駅までの距離 %dmで停止しました。\n", second, remain );

        printf( "もう一度やりますか?(1=Yes; 0=No!)" );
        scanf( "%d", &reply );

    }while( reply !=0 );
}
AKABAS
NEZEN