car.cs
来自「asp.net经典案例资料」· CS 代码 · 共 78 行
CS
78 行
using System;
public class Car
{
public delegate void FireHandler();
public event FireHandler Fire;
private int speed;
public int Speed{
get { return speed; }
}
private DateTime lastTime;
private double lastPosition;
public double Position
{
get
{
return lastPosition
+ (DateTime.Now - lastTime).TotalSeconds * speed;
}
}
public Car()
{
speed = 0;
lastPosition = 0;
}
public void Stop()
{
lastPosition += (DateTime.Now - lastTime).TotalSeconds * speed;
speed = 0;
Console.WriteLine("Car is stoping...");
}
public void Run()
{
if(speed != 0)
return;
else
{
speed = 10;
lastTime = DateTime.Now;
}
Console.WriteLine("Car is running...");
}
public void GearUp()
{
if(speed == 0)
return;
lastPosition += (DateTime.Now - lastTime).TotalSeconds * speed;
lastTime = DateTime.Now;
speed += 10;
if(speed > 100)
{
if(Fire != null)
Fire();
else
throw new Exception("The car is on fire...");
}
}
public void GearDown()
{
if(speed == 0)
return;
lastPosition += (DateTime.Now - lastTime).TotalSeconds * speed;
lastTime = DateTime.Now;
speed -= 10;
if(speed < 0)
speed = 0;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?