Nie możesz wybrać więcej, niż 25 tematów
Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
|
- // the event
- KBHit kb;
-
- class MetronomeEvent extends Event{ int value; }
-
- class Metronome {
- MetronomeEvent metronomeEvent;
- spork ~pulse();
-
- fun void listen(){
- while (true){
- metronomeEvent => now;
- <<<"Metronome got event " + metronomeEvent.value>>>;
- if (metronomeEvent.value==0){
- spork ~pulse();
- }
- }
- }
-
- fun void pulse(){
- 1::second => now;
- 0=>metronomeEvent.value;
- metronomeEvent.signal();
- }
-
- fun void signal(){
- 1=>metronomeEvent.value;
- metronomeEvent.signal();
- }
- }
-
- Metronome m;
- spork ~m.listen();
-
- // time-loop
- while( true )
- {
- kb => now;
- while( kb.more() )
- {
- <<< "ascii: ", kb.getchar() >>>;
- m.signal();
- }
- }
|