私人?易變?靜電?布爾?gameOver?=?假的;//用來標記是否有人到達終點,到達終點後遊戲結束。
//如何實現烏龜
靜電?班級?烏龜?器物?可運行{
私人?易變?int?總計?=?0;//用來記錄自己走了多遠。
@覆蓋
公共?作廢?run()?{
而(!遊戲結束){
int?壹步?=?(int)(math . random()* 5+1);//生成壹個隨機數1-5
總計?+=?步;
試試?{
thread . sleep(200);
}?接住?(中斷異常?e)?{
//?托多?自動生成?接住?街區
e . printstacktrace();
}
}
}
公共?int?getTotal(){
回歸?總計;
}
}
//如何實現兔子
靜電?班級?兔子?器物?可運行{
私人?易變?int?總計?=?0;
@覆蓋
公共?作廢?run()?{
而(!遊戲結束){
int?壹步?=?(int)(math . random()* 5+1);
總計?+=?步;
試試?{
thread . sleep(200);
}?接住?(中斷異常?e)?{
//?托多?自動生成?接住?街區
e . printstacktrace();
}
}
}
公共?int?getTotal(){
回歸?總計;
}
}
/**
?*?@param?壹個參數名
?*/
公共?靜電?作廢?main(String[]?args)?{
//?托多?自動生成?方法?煙蒂
決賽?烏龜?烏龜?=?新的?烏龜();
決賽?兔子?兔子?=?新的?兔子();
新的?線(烏龜)。start();
新的?線(兔子)。start();
//下面有壹個線程,相當於比賽過程中的裁判。他每隔壹段時間就會查看是否有人到達終點,如果有人到達,就會宣布此人獲勝,遊戲結束。
新的?線程(新?Runnable(){
@覆蓋
公共?作廢?run()?{
//?托多?自動生成?方法?煙蒂
而(!遊戲結束){
int?托倫。=?tortoise . gettotal();//得到烏龜前進的距離。
int?拉伯倫?=?rabbit . gettotal();//獲取兔子行進的距離。
System.out.println("烏龜:"+torLen+",兔子"+兔子);
如果(托倫?& gt=?100?& amp& amp?拉伯倫?& lt100){
System.out.println("烏龜贏了!!!");
gameOver?=?真實;
}別的?如果(拉伯倫?& gt=?100?& amp& amp?托倫。& lt100){
System.out.println("兔子贏了!!!");
gameOver?=?真實;
}別的?如果(拉伯倫?& gt=100?& amp& amp?托倫。& gt=?100){//這裏有可能兩個人同時到達終點。
System.out.println("同時到達終點!!!");
gameOver?=?真實;
}
試試?{
thread . sleep(210);
}?接住?(中斷異常?e)?{
//?托多?自動生成?接住?街區
e . printstacktrace();
}
}
}
}).start();
}