Proccesingのプログラム作成について


質問させていただきます

現在proccesingで簡単なサイコロを振るプログラムを作っています。  
動きとしてはクリックされるまでランダムに出目を表示し、クリックすると出目の表示を停止させるプログラムを目標としています

[code]

    float d=random(6);
    
    void setup() {
      size(250, 250);
      rect(50, 50, 150, 150);
      fill(255,0,0);
      ellipse(125,125,30,30);
    }
    
    void draw() {
      if(d==0){
      fill(255,0,0);
      ellipse(125,125,30,30);
      }else if(d==1){
      fill(0,0,0);
      ellipse(85,85,30,30);
      fill(0,0,0);
      ellipse(165,165,30,30);
      }else if(d==2){
      fill(0,0,0);
      ellipse(125,125,30,30);
      fill(0,0,0);
      ellipse(85,85,30,30);
      fill(0,0,0);
      ellipse(165,165,30,30);
      }else if(d==3){
      fill(0,0,0);
      ellipse(85,85,30,30);
      fill(0,0,0);
      ellipse(165,85,30,30);
      fill(0,0,0);
      ellipse(85,165,30,30);
      fill(0,0,0);
      ellipse(165,165,30,30);
      }else if(d==4){
      fill(0,0,0);
      ellipse(125,125,30,30);
      fill(0,0,0);
      ellipse(85,85,30,30);
      fill(0,0,0);
      ellipse(165,85,30,30);
      fill(0,0,0);
      ellipse(85,165,30,30);
      fill(0,0,0);
      ellipse(165,165,30,30);
      }else if(d==5){
      fill(0,0,0);
      ellipse(85,85,30,30);
      fill(0,0,0);
      ellipse(165,85,30,30);
      fill(0,0,0);
      ellipse(85,165,30,30);
      fill(0,0,0);
      ellipse(165,165,30,30);
      fill(0,0,0);
      ellipse(165,125,30,30);
      fill(0,0,0);
      ellipse(85,125,30,30);
        } 
      }
    
[/code]

ここからどうしたらいいか色々試してみたのですがうまくいきませんでした  
回答やアドバイスを頂けると嬉しいです。




`random()`
関数の返り値がfloat、つまり小数だという所がバグの原因になっていそうです。返り値が小数なのに`==`で整数値と比較しても期待した動作にはなりません。この場合は
`int(random(6))`
とするなどして整数値に丸めるのが良いでしょう（[ドキュメント](https://processing.org/reference/random_.html)にもそう書いてあります）。

以下は、全体の組み方のおおまかな例です。詰まったら参考にしてください。

> 1\. 「サイコロが回っている」と「サイコロが止まっている」という状態を表すための変数を1つ作ります。  
>  2\. マウスがクリックされたらこの状態変数をチェックして切り替えます。これには `mouseClicked()` を使う方法があります。  
>  3\. `draw()` の中では状態変数をチェックして、「サイコロが回っている」ならサイコロの値 `d`
> を切り替えます。必要なら、タイマーを使ってサイコロが切り替わるスピードを遅くすることもできるでしょう。  
>  4\. 描画する前には `background()` 関数などを使って画面をリセットする必要があるでしょう。

