Ik ben bezig met het schrijven van een liftsimulatie-programma voor een gebouw van 30 verdiepingen en 1 lift.
Hiervoor schrijf ik een optimalisatie "route" voor de lift, zodat de mensen op de verschillende verdiepingen zo kort mogelijk hoeven te wachten.
Deze optimalisatie route wordt gesimuleerd bij een bepaalde snelheid van toevoeging van mensen die van de lift gebruik willen maken.
Per tijdsinterval worden op random verdiepingen mensen geplaatst met een random destination, met behulp van een timer.
De lift wordt hierbij visueel als animatie weergegeven.
Voor het runnen van de simulatie kunnen variabelen zoals :
max liftcapaciteit
interval tussen het toevoegen van nieuwe wachtende mensen (sec)
snelheid lift
verdieping gebruik
ingevoerd worden.
Hierna wordt op de knop run simulatie gedrukt en wordt de simulatie uitgevoerd.
Mijn probleem is het volgende:
Bij het runnen van de simulatie voegt het programma per tijdsinterval op een random verdieping een wachtende persoon toe.
Op het moment dat de eerste persoon in "wacht" is geplaatst op verdieping "X" met destination "Y" gaat de lift zijn optimalisatie runnen.
(visueel gaat de lift naar verdieping "X" , weergegeven in een picturebox, met behulp van een timer die iedere 0.01 sec een nieuwe lift positie tekent until de lift op verdieping "X" komt.)
Nu moet de random personen toevoeger per tijdsinterval personen blijven toevoegen op random verdiepingen.
Echter gedurende de animatie "verplaatsing lift naar verdieping X" stopt de random personen generator.
Als de lift op zijn destination is aangekomen, vervolgt het random personen proces zich pas weer
.
Dit onstaat door :
Buiten de for plaatsen van de lift image code levert eerst de gehele personentoevoeging op, waarna de lift naar de laatst ingevoerde wachtende gaat
.
Hoe kan ik deze 2 timers nu parallel laten werken??
Ik heb het complete handboek vb6 van Que (brian siler en jeff spotts), maar kan hier niks vinden over parallel gebruik van timers
.
Hiervoor schrijf ik een optimalisatie "route" voor de lift, zodat de mensen op de verschillende verdiepingen zo kort mogelijk hoeven te wachten.
Deze optimalisatie route wordt gesimuleerd bij een bepaalde snelheid van toevoeging van mensen die van de lift gebruik willen maken.
Per tijdsinterval worden op random verdiepingen mensen geplaatst met een random destination, met behulp van een timer.
De lift wordt hierbij visueel als animatie weergegeven.
Voor het runnen van de simulatie kunnen variabelen zoals :
max liftcapaciteit
interval tussen het toevoegen van nieuwe wachtende mensen (sec)
snelheid lift
verdieping gebruik
ingevoerd worden.
Hierna wordt op de knop run simulatie gedrukt en wordt de simulatie uitgevoerd.
Mijn probleem is het volgende:
Bij het runnen van de simulatie voegt het programma per tijdsinterval op een random verdieping een wachtende persoon toe.
Op het moment dat de eerste persoon in "wacht" is geplaatst op verdieping "X" met destination "Y" gaat de lift zijn optimalisatie runnen.
(visueel gaat de lift naar verdieping "X" , weergegeven in een picturebox, met behulp van een timer die iedere 0.01 sec een nieuwe lift positie tekent until de lift op verdieping "X" komt.)
Nu moet de random personen toevoeger per tijdsinterval personen blijven toevoegen op random verdiepingen.
Echter gedurende de animatie "verplaatsing lift naar verdieping X" stopt de random personen generator.
Als de lift op zijn destination is aangekomen, vervolgt het random personen proces zich pas weer
Dit onstaat door :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| for persoontoevoeging = 0 to aantalpersonen
timer1 met tijdsinterval (t)
voeg persoon op random verdieping toe
do while verdieping < destination
timer2 met klein tijdsinterval waarvoor image lift wordt getekend
current position = currentposition + 0.1
loop
next persoonstoevoeging |
Buiten de for plaatsen van de lift image code levert eerst de gehele personentoevoeging op, waarna de lift naar de laatst ingevoerde wachtende gaat
Hoe kan ik deze 2 timers nu parallel laten werken??
Ik heb het complete handboek vb6 van Que (brian siler en jeff spotts), maar kan hier niks vinden over parallel gebruik van timers
[ Voor 3% gewijzigd door chrisstructor op 11-11-2004 19:47 ]
There are 10 types of people in this world, those who understand binary and those who don't