Simple implementation using C++ and the ncurses library.