在第一场比赛开始前的30min,裁判给予信号,表明比赛正式开幕。第二次给信号是在开始前的15min。在这时,参加比赛的马匹都要进入赛前遛马场亮相。按照裁判的信号,参赛的骑手都骑马进入跑道,给马做准备活动。马鞍的左侧和右侧都应该有号码,同程序册中的号码一样。骑手参加比赛都穿着规定样式和颜色的服装,戴着保护头盔。在比赛前的2~3min给第三次信号,骑手马上进入标有自己号码的起点上,并按起跑员的命令开始比赛。所有不参加比赛的马匹在听到第三次信号时全部应离开跑道。在比赛时,在跑道上遛马是禁止的。
赛马1. string input//处理用户的非法输入
while(getline(cin, input)){
if(input!="1"&&input!="2"&&input!="3"){
cout<<"wrong input, try again"<<endl
continue
}
else break
}
2. 第二个时间函数我建议写成一个 类:
属性:选手编号,选手花的时间,开始和结束的时间,以及中间耽误的时间,
希望我的回答能够帮到你。。。这应该是个很好的项目,好好做啊 。。
package ThreadTestpublic class HorseRacing
{
public static void main(String[] args) {
Herose black = new Herose("黑马" , 19 , 1000) // new Herose(名称,最大速度 , 赛道总长)
Herose white = new Herose("白马" , 18 , 1000)
Herose red = new Herose("红马",20 , 1000)
black.race()
white.race()
red.race()
}
}
package ThreadTest
import java.util.Timer
public class Herose{
private String name
private int maxSpeed
private int distance
public Timer timer = new Timer()
public void race(){
Runnable runnable = new Runnable(){
public void run(){
int Min = 1
int Max = getMaxSpeed()
int i = 0
int myDistance = getDistance()
int position = 0
int nowSpeed = Min + (int)(Math.random() * ((Max - Min) + 1))
while( 0 <myDistance ){
if( i >0 &&i % 10 == 0 ){
nowSpeed = Min + (int)(Math.random() * ((Max - Min) + 1))
position = getDistance()- myDistance
System.out.println( i + "秒 : " + getName() + " 位置为 " + position + "m" + " 当前速度为 " + nowSpeed +"m/s")
}
++i
myDistance = myDistance - nowSpeed
if(myDistance <= 0){
System.out.println( i + "秒 : " + getName() + "到达终点!")
}
try
{
Thread.sleep( 1000) //间隔1000毫秒 = 1秒
} catch (InterruptedException e)
{
e.printStackTrace()
}
}
}
}
new Thread(runnable).start()
}
public Herose(String name, int maxSpeed , int distance)
{
this.name = name
this.maxSpeed = maxSpeed
this.distance = distance
}
public String getName()
{
return name
}
public void setName(String name)
{
this.name = name
}
public int getMaxSpeed()
{
return maxSpeed
}
public void setMaxSpeed(int maxSpeed)
{
this.maxSpeed = maxSpeed
}
public int getDistance()
{
return distance
}
public void setDistance(int distance)
{
this.distance = distance
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)