Джон и Смит
Объяснение:
1. Допустим дважды правду сказал Джон. Тогда Браун невиновен, а Смит - виновен. Смит, утверждая, что он невиновен, солгал. Он также солгал, обвиняя Брауна. Следовательно Браун один раз сказал правду. Проверим. Браун сказал, что это не он и не Джон, т.е. сказал правду дважды, что противоречит нашему выводу. Следовательно, Джон не мог дважды сказать правду.
2. Допустим, дважды правду сказал Браун. Тогда он невиновен, и Джон невиновен, следовательно, виновен Смит. Смит заявил что он невиновен и солгал. Он также обвинил Брауна и солгал еще раз. Значит, один раз правду сказал Браун. Эту версию мы проверяли выше, следовательно исходное допущение неверно.
3. Методом исключения получаем, что дважды правду сказал Смит. Он невиновен, а виновен Браун. Браун, говоря что он невиновен солгал, а его оправдание Джона - правда. Получается, что дважды солгал Джон. Он оправдал Брауна - и это ложь. Также ложно его обвинение Смита.
Противоречий нет, следовательно невиновны Джон и Смит
Логика игры
Есть игровое поле — простой прямоугольник с твёрдыми границами. Когда шарик касается стенки или потолка, он отскакивает в другую сторону. Если он упадёт на пол — вы проиграли. Чтобы этого не случилось, внизу вдоль пола летает платформа, а вы ей управляете с щью стрелок. Ваша задача — подставлять платформу под шарик как можно дольше. За каждое удачное спасение шарика вы получаете одно очко.
Алгоритм
Чтобы реализовать такую логику игры, нужно предусмотреть такие сценарии поведения:
игра начинается;
шарик начинает двигаться;
если нажаты стрелки влево или вправо — двигаем платформу;
если шарик коснулся стенок, потолка или платформы — делаем отскок;
если шарик коснулся платформы — увеличиваем счёт на единицу;
если шарик упал на пол — выводим сообщение и заканчиваем игру.
Хитрость в том, что всё это происходит параллельно и независимо друг от друга. То есть пока шарик летает, мы вполне можем двигать платформу, а можем и оставить её на месте. И когда шарик отскакивает от стен, это тоже не мешает другим объектам двигаться и взаимодействовать между собой.