0

実行中の秒間に障害物にぶつかった回数をカウントするロボットのプログラムを作成しています。回数を数えるには何を使えばいいのか知りたいです。

例えば;

if (robot.isObstacle);

isObstacle が発生するたびにカウントを開始し、障害物がなくなるとカウントを停止します。

Finch fRobot = new Finch();


    fRobot.setWheelVelocities(250,250);
    long before = System.currentTimeMillis();
    while (System.currentTimeMillis() - before < msFinch*1000)



     if(fRobot.isObstacle() == true);{
         System.out.println(obstacleCount);
         obstacleCount++;

     }

         if(fRobot.isObstacle() == false);{
         System.out.println("No Obstacles hit");
     }

これはうまくいかないようです。私は何か間違ったことをしたことを知っています。

4

1 に答える 1

3

あなたのWhileループは怪しいようです。おそらく、そこで新しいブロックを開始したいと思うでしょう。

while (System.currentTimeMillis() - before < msFinch*1000) {

あなたのif構文は間違っています。;条件の後を削除します。

 if(fRobot.isObstacle() == true) {
     System.out.println(obstacleCount);
     obstacleCount++;

 }

     if(fRobot.isObstacle() == false) {
     System.out.println("No Obstacles hit");
 }
于 2014-03-10T15:31:44.950 に答える