Utiliser le nom de cas: Lancer la simulation d'avion.NET Avion Simulator
Portée: Avion Flight Simulator
Niveau: User but
Acteur principal: utilisateur
- commence l'utilisateur simulateur d'avion
- Demander à l'utilisateur une hauteur maximale (plafond)
- Demander à l'utilisateur pour une hauteur minimum (plancher)
- simulateur d'avion commence à partir d'une position en vol, aucun décollage ou d'atterrissage
- avion monte à la hauteur maximale
- avion descend à la hauteur minimun
- Repeate les étapes 5 et 6 , jusqu'à ce que l'utilisateur termine la simulation
Voici ma question. Dans .NET, quel minuteur correspond le mieux à la classe Avion, devrait-il s'agir d'un minuteur Windows Forms, d'un minuteur basé sur un serveur ou d'un minuteur Threading? J'essaie de faire monter/descendre l'avion à une vitesse déterminée par l'intervalle de la minuterie. J'espère que cela a du sens.
J'ai besoin d'éclaircissements à ce sujet, s'il vous plaît, aidez-moi! Voici ma classe
using System; en utilisant System.Timers;
espace de noms ConsoleApplication1
{
class Airplane
{
public Airplane()
{
_currentAltitude = 0;
Timer _timer = new Timer();
_timer.Start();
Console.WriteLine("airplane started");
Console.ReadKey();
}
public const int MAXALLOWABLEHEIGHT = 30000;
public const int MINALLOWABLEHEIGHT = 15000;
private int _currentAltitude;
public int CurrentAltitude
{
get
{
return _currentAltitude;
}
set
{
_currentAltitude = value;
}
}
private bool airplaneIsDead = false;
// Define the delegate types
public delegate void GoneTooHigh(string msg);
public delegate void GoneTooLow(string msg);
// Define member variables of the above delegate types
private GoneTooHigh MaxHeightViolationList;
private GoneTooLow MinHeightVioloationList;
// Add members to the invocation lists using helper methods
public void OnGoneTooHigh(GoneTooHigh clientMethod)
{
MaxHeightViolationList = clientMethod;
}
public void OnGoneTooLow(GoneTooLow clientMethod)
{
MinHeightVioloationList = clientMethod;
}
void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
if (_currentAltitude < MAXALLOWABLEHEIGHT)
{
_currentAltitude++;
}
else
{
_currentAltitude--;
}
}
}
}
Je ne suis pas nécessairement préoccupé par des intervalles de temps égaux. Mon objectif est de «simuler» un «taux d'augmentation ou de diminution d'altitude». Mon but est de retarder l'augmentation ou la diminution. Voir ma question de suivi pour plus de clarification, http://stackoverflow.com/questions/1866026/model-view-seperation-airplane-simulator – dannyrosalex