г) Описание алгоритма.
Когда пользователь нажимает кнопку мыши, возникает событие MouseDown. Обработчик этого события собственно и осуществляет всю игру. Если флаг Go_game не равен True, тогда игра не идет и обработчик завершает свою работу. Иначе – проверка, какая кнопка нажата, левая или правая. Если левая, то вызывается процедура Move _ strelka_l (можно и Move _ strelka_r), которая перерисовывает стрелку на следующую доминошку. При нажатии правой кнопки мыши осуществляется проверка правильности выбора доминошки, и если выбор правильный, то осуществляется перерисовка: выбранная доминошка рисуется на игровом столе, перерисовываются доминошки игрока. После перерисовки – проверка на выигрыш (если количество доминошек на руках равно нулю, то - выигрыш). При выигрыше выводится диалоговое окошко с двумя кнопками, которое спрашивает игрока, хочет ли он продолжить игру.
Если игрок нажмет «да», то игра начинается заново (счет увеличивается, происходит инициализация); если же игрок нажал «нет», то игра дальше не продолжается, а выполняется процедура End_game.
Затем, если игра все еще продолжается, вызывается процедура select компьютера. Происходит выбор доминошки компьютера, прорисовка на игровом столе и проверка на выигрыш. Если игрок нажал правую кнопку мыши в тот момент, когда стрелка указывала на базар, то происходит увеличение доминошек у игрока, их перерисовка и перерисовка количества доминошек на базаре.
д) Описание интерфейса.
Интерфейс представлен ниже на двух рисунках: на первом – во время игры, на втором – при оконченной игре.

Рис.1.

Рис.2.