А в чем проблема? Если проблема в верстке, то можно использовать какой-нибудь фреймворк, например: bootstrap, в котором такая разметка реализуется, с помощью ряда+3 стобцов.
Каждой кнопке в data-* атрибут можно указать ее ID.
Дальше подписать кнопки на событие клика и при обработке получать номер кнопки и сверять с номером ответа.
Загружать картинку, показывать \ скрывать текст, менять текст кнопок - все легко реализуется с помощью того же jQuery.
(просто меняем css \ value)
Если заморачиваться, можно подключить фреймворк и для работы JS. (например какой-нибудь Аngular?)