Turing/Event-Driven Design
< Turing
Event-driven design is used in most GUI programs. Text-based text-editors like edit.com are event-driven to the extent that they wait for an event then execute their code. Real-time event-driven code must allow for the user to not input any information in a given iteration of the main program loop.
The computer checks for keyboard and mouse data at more or less regular intervals, and executes subroutines based on this data. Event-driven logic is required for real-time-tactics programs or other 'live' simulations. On the other foot, strategy and zero-player-games are well suited to a 'pause-often' or 'turn-based' model.