Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Turbo Pascal Определите, какое самое большое введённое число - положительное или отрицательное? https://www.cyberforum.ru/ turbo-pascal/ thread2581905.html
С клавиатуры вводится n целых чисел. Числа находятся в промежутке от -5000 до 5000. Определите, какое самое большое введённое число - положительное или отрицательное?
Turbo Pascal Работа с массивами
Перепечатал код по книге ОСНОВЫ Турбо-Паскаля. Фаронов В.В. 1992 год. стр. 93 – 94. Массивы в Турбо Паскале во многом схожи с аналогичными типами данных в других языках программирования....
Turbo Pascal Удалить слова, содержащие все повторяющиеся буквы первого слова, из последовательности символов Дана последовательность символов, состоящая из слов. Удалить слова, которые содержат все повторяющиеся буквы первого слова, с сохранением структуры пробелов. Вывести на экран отредактированный текст... https://www.cyberforum.ru/ turbo-pascal/ thread2581724.html Turbo Pascal Вывести количество непересекающихся палиндромов в строке без пробелов https://www.cyberforum.ru/ turbo-pascal/ thread2581723.html
Дана последовательность символов, не содержащая пробелов. Вывести на экран количество непересекающихся подпоследовательностей, являющихся палиндромами. Длина палиндрома - не менее двух символов....
Сделать анимированную графическую программу Turbo Pascal
Сделать любую анимированную графическую программу
Turbo Pascal Найти совпадающие элементы двух массивов с одинаковыми индексами https://www.cyberforum.ru/ turbo-pascal/ thread2581391.html
Заполните случайными числами в диапазоне от 1 до 10 два массива: А и B. Найдите и выведите на экран только те элементы этих массивов, значения которых совпадают. Например, если А = В = 6, то на экран...
Turbo Pascal Отсортировать слова по первой букве. Среди слов, начинающихся на одну и ту же букву, отсортировать слова по возрастанию Дана последовательность символов, состоящая из слов. Словом называется последовательность строчных английских букв, ограниченных справа и слева любым количеством пробелов. Первое слово может не иметь... https://www.cyberforum.ru/ turbo-pascal/ thread2580550.html Turbo Pascal Если в обеих строках чаще всего встречается одна и та же буква, то вывести на экран сообщение "да", иначе – "нет"
Даны две строки символов, состоящие из строчных английских букв, не содержащие пробелов. Если и в той и в другой строке символов чаще всего встречается одна и та же буква, то вывести на экран...
Turbo Pascal Вывести на экран слова, в которых отсутствует буквы, встречающиеся в строке максимальное число раз Дана строка символов, состоящая из слов. Вывести на экран слова, в которых отсутствует буквы, встречающиеся в строке максимальное число раз. https://www.cyberforum.ru/ turbo-pascal/ thread2580546.html Turbo Pascal Изобразить процесс перемещения упругого шарика в замкнутом пространстве прямоугольной формы https://www.cyberforum.ru/ turbo-pascal/ thread2580129.html
Разработать программу, имитирующую процесс перемещения упругого шарика в замкнутом пространстве прямоугольной формы. Начальное направление и скорость движения шарика должны задаваться произвольно.
Turbo Pascal Множества
Даны 2 уравнения А и В. Написать программу которая будет выводить множества на числовых прямых. На первой прямой будет указана разность А\В (-бесконечности; -10) и (-4; -2,5]. На второй прямой...
Turbo Pascal Вывод "Загрузка..." в одну строчку https://www.cyberforum.ru/ turbo-pascal/ thread2579725.html
Привет, нужно сделать так чтобы сначала была надпись Загрузка и каждую секунду к ней добавлялась одна точка, что то типо того: Загрузка Загрузка. Загрузка.. Загрузка... Загрузка....
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5994 / 3570 / 2505
Регистрация: 22.11.2013
Сообщений: 10,169
Записей в блоге: 1
10.02.2020, 20:15 0

!ИГРА! метеориты - Turbo Pascal - Ответ 14243005

10.02.2020, 20:15. Показов 308. Ответов 1
Метки (Все метки)

Ответ

Прежде всего, нужно немного поменять цикл обработки нажатий клавиш. ReadKey блокирует выполнение программы до нажатия клавиши, а у вас должно что-то происходить даже когда клавиша не нажата. Поможет функция KeyPressed. Заодно стоит чуть поменять отрисовку -- нет смысла перерисовывать объект, если координаты не изменились
Pascal
  repeat
    Delay(100);
    {
      обрабатываем движение прочих объектов
    }
    if KeyPressed then begin
      Ch:=UpCase(ReadKey);
      case Ch of
        #0:
          begin
            Ch:=ReadKey;
            case Ch of
              LEFT:  if x>1  then begin Draw(x,y,False); Dec(x); Draw(x,y,True); end;
              RIGHT: if x<77 then begin Draw(x,y,False); Inc(x); Draw(x,y,True); end;
              UP:    if y>2  then begin Draw(x,y,False); Dec(y); Draw(x,y,True); end;
              DOWN:  if y<22 then begin Draw(x,y,False); Inc(y); Draw(x,y,True); end;
            end;
          end;
      end;
    end;
  until Ch=ESC;
В таком варианте просится обертка вроде:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var x, y: Integer;
procedure DrawRel(dx, dy: Integer);
begin
  Draw(x,y,False);
  Inc(x,dx); Inc(y,dy);
  Draw(x,y,True);
end;
...
            case Ch of
              LEFT:  if x>1  then DrawRel(-1,0);
              RIGHT: if x<77 then DrawRel( 1,0);
              UP:    if y>2  then DrawRel(0,-1);
              DOWN:  if y<22 then DrawRel(0, 1);
            end;


Вернуться к обсуждению:
!ИГРА! метеориты Turbo Pascal
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2020, 20:15
Готовые ответы и решения:

Игра в «Одиннадцать предметов», игра Баше.
прошу помощи в создании программы! Разработать программную модель следующей игры двух...

Метеориты в консольной игре
Например я хочу в своей первой консольной игре добавить пули или астероиды, чтобы они появлялись в...

Задача "Метеориты"
Здравствуйте! Всех с праздниками! Помогите решить задачу! Ход решения мне ясен, интересует код....

Бюджет 4500 гр. Конфигурация работа в Office, AutoCAD, игра Assassin, онлайн игра World of Tanks
Собираю компьютер для сестры. Основные требования: работа в Microsoft Office, AutoCAD, игра...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2020, 20:15

Игра в загадки. Загадать загадку. Если ответ верен – поздравить пользователя. Затем сообщить, что игра окончена.
Всем привет! Меня зовут VitoScaletta, совсем недавно начал обучаться JS, но очень тяжело в голову...

Как сделать так, чтобы при нажатии на кнопку "Новая игра" игра начиналась заново?
Как сделать так, чтобы при нажатии на кнопку &quot;Новая игра&quot; игра начиналась заново? unit1.cpp void...

Игра слов, игра Scrabble
Задание: Создать программу для решения задачи построения слова из некоторого множества букв (игра...

Игра Кости, игра с компьютером
Всем привет! Делаю консольную игру Кости. Условия такие: 1) Перед игрой все игроки бросают...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.