Есть игровое поле — простой прямоугольник с твёрдыми границами. Когда шарик касается стенки или потолка, он отскакивает в другую сторону. Если он упадёт на пол — вы проиграли. Чтобы этого не случилось, внизу вдоль пола летает платформа, а вы ей управляете с щью стрелок. Ваша задача — подставлять платформу под шарик как можно дольше. За каждое удачное спасение шарика вы получаете одно очко.
Алгоритм
Чтобы реализовать такую логику игры, нужно предусмотреть такие сценарии поведения:
игра начинается;
шарик начинает двигаться;
если нажаты стрелки влево или вправо — двигаем платформу;
если шарик коснулся стенок, потолка или платформы — делаем отскок;
если шарик коснулся платформы — увеличиваем счёт на единицу;
если шарик упал на пол — выводим сообщение и заканчиваем игру.
Хитрость в том, что всё это происходит параллельно и независимо друг от друга. То есть пока шарик летает, мы вполне можем двигать платформу, а можем и оставить её на месте. И когда шарик отскакивает от стен, это тоже не мешает другим объектам двигаться и взаимодействовать между собой.
Логика игры
Есть игровое поле — простой прямоугольник с твёрдыми границами. Когда шарик касается стенки или потолка, он отскакивает в другую сторону. Если он упадёт на пол — вы проиграли. Чтобы этого не случилось, внизу вдоль пола летает платформа, а вы ей управляете с щью стрелок. Ваша задача — подставлять платформу под шарик как можно дольше. За каждое удачное спасение шарика вы получаете одно очко.
Алгоритм
Чтобы реализовать такую логику игры, нужно предусмотреть такие сценарии поведения:
игра начинается;
шарик начинает двигаться;
если нажаты стрелки влево или вправо — двигаем платформу;
если шарик коснулся стенок, потолка или платформы — делаем отскок;
если шарик коснулся платформы — увеличиваем счёт на единицу;
если шарик упал на пол — выводим сообщение и заканчиваем игру.
Хитрость в том, что всё это происходит параллельно и независимо друг от друга. То есть пока шарик летает, мы вполне можем двигать платформу, а можем и оставить её на месте. И когда шарик отскакивает от стен, это тоже не мешает другим объектам двигаться и взаимодействовать между собой.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(135,150,300); a.Println;
end.
Пример
259 236 185 153 260 288 245 189 168 257 243 279 191 162 253 286 286 254 256 175 170 295 195 299 201 183 291 195 165 266 280 195 194 207 193 274 243 191 151 211 264 265 229 169 225 240 298 232 162 159 252 254 252 236 269 265 191 187 253 226 297 200 173 202 278 198 235 284 269 279 193 245 252 195 211 205 216 176 223 261 185 209 182 156 163 175 243 258 238 229 233 205 238 225 214 214 242 176 192 177 154 163 264 183 267 157 152 207 174 214 199 164 265 292 191 238 167 167 188 252 255 278 196 190 196 289 156 176 281 298 264 189 285 196 256