このレーサープログラムを機能させるのにあらゆる種類の困難があります。抽象メソッドを持つ抽象レーサー クラスと、そこから派生した他の 2 つのクラスがあります。
メインプログラムクラスで配列を取得しましたが、エラーが発生しindex [0]
、[1]
配列サイズは変数宣言で指定できません ('new' 式で初期化してみてください)
次に、クラス、構造体、またはインターフェイスのメンバー宣言で
無効なトークンを示す = 記号のエラー'='
新しい Racer は型を返さなければなりません
メインクラスは
public class Program
{
ApplicationUtilities.DisplayApplicationInformation();
ApplicationUtilities.DisplayDivider("Start Racer Program");
ApplicationUtilities.DisplayDivider("Prompt for Racer information and create first Racer");
Racer[] myarray = new Racer[2];
myarray[0] = new Racer(HotRod);
myarray[1] = new Racer(StreetTuner);
public CollectRacerInformation(HotRod);
}
抽象 Racer クラスは
public abstract class Racer
{
private string racerName;
private int racerSpeed;
private Engine engine;
public Racer();
public Racer(string name, int speed, Engine engine);
Engine engine();
public abstract bool IsDead();
}
私の派生した HotRod クラスは
public class HotRod : Racer
{
private bool blower = true || false;
public HotRod();
public HotRod(string name, int speed, Engine engine);
public override bool IsDead()
{
Engine engine1 = new Engine();
engine1 = Engine1;
Random rnd = new Random();
rnd.NextDouble();
bool dead = false;
if (racerSpeed > 50 && rnd.NextDouble() > 0.6)
if (engine1.horsePower < 300 && blower == true)
dead = false;
else
dead = true;
else if (racerSpeed > 100 && rnd.NextDouble() > 0.4)
if (engine1.horsePower >= 300 && blower == true)
dead = true;
else
dead = false;
else
dead = false;
return dead;
}
public override string ToString()
{
string output;
output = "\n============ HotRod Information ============";
output += "\n\t Racer's Name:\t" + racerName;
output += "\n\t Car's Speed:\t" + carSpeed;
output += "\n\t Engine Cylinders:\t" + engineCylinders;
output += "\n\t Engine Horsepower:\t" + engineHorsePower;
output += "n\t Racer's Type:\t" + racerType;
output += "n\t Racer with Blower:\t" + carBlower;
output += "n\t Still Working?:\t" + IsDead;
return output;
}
}
次に、派生した StreetTuner クラスは
public class StreetTuner : Racer
{
private bool nitrous;
public StreetTuner();
public StreetTuner(string name, int speed, Engine engine);
public bool IsDead
{
get { return IsDead; }
set
{
if (speed > 50 && rnd.NextDouble() > 0.6)
if (horsePower < 300 && blower == true)
IsDead = false;
else
IsDead = true;
else if (speed > 100 && rnd.NextDouble() > 0.4)
if (horsePower >= 300 && blower == true)
IsDead = true;
else
IsDead = false;
}
}
}