Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2014, 09:50   #1
Кутяшка
Пользователь
 
Регистрация: 17.02.2014
Сообщений: 18
По умолчанию Графика. Обработка кодов клавиш

Помогите пожалуйста вот с такой вот задачкой, которую нужно сделать в паскале ABC.
"На экране появляются точки произвольного цвета в произвольном месте. При нажатии клавиши «V» картинка «замирает», по нажатию клавиши «W» выставление точек продолжается, по нажатию «К» * экран очищается, процесс выставления точек начинается вновь. Выход по Esc."
Кутяшка вне форума Ответить с цитированием
Старый 12.05.2014, 10:27   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

А что вызывает затруднения? Пример обработки кодов клавиш есть в online help.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 12.05.2014, 10:37   #3
Кутяшка
Пользователь
 
Регистрация: 17.02.2014
Сообщений: 18
По умолчанию

Про кнопки я уже прочитала. Непонятно как сделать "На экране появляются точки произвольного цвета в произвольном месте". А дальше я по ходу разберусь.
Кутяшка вне форума Ответить с цитированием
Старый 12.05.2014, 11:17   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Кутяшка Посмотреть сообщение
Непонятно как сделать "На экране появляются точки произвольного цвета в произвольном месте". А дальше я по ходу разберусь.
вариант 1.
реально точки:
Код:
uses CRT, GraphABC;

var k : char;
 x, y : integer;

begin
  Randomize;
  SetWindowSize(600,480);
  k := #0;
  repeat
    x := Random( WindowWidth )+1;
    y := Random( WindowHeight )+1;

    SetPixel(x,y,clRandom);

    if KeyPressed then k := ReadKey();
    Delay(200);
  until k= #27;

  ClearWindow;
end.


вариант 2.
маленькие кружочки:
Код:
uses CRT, GraphABC;

var k : char;
 x, y : integer;

begin
  Randomize;
  SetWindowSize(600,480);
  k := #0;
  repeat
    x := Random( WindowWidth )+1;
    y := Random( WindowHeight )+1;

    {SetPixel(x,y,clRandom); }
    // если точки на вид слишком маленькие, то можно выводить кружочки
    SetPenColor(clRandom);
    SetBrushColor(penColor);
    Circle(x,y,3);
    if KeyPressed then begin
       k := ReadKey();
       if k='k' then ClearWindow;
    end;
    Delay(200);
  until k= #27;

  ClearWindow;
end.

Последний раз редактировалось Serge_Bliznykov; 12.05.2014 в 11:20.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.05.2014, 15:42   #5
Кутяшка
Пользователь
 
Регистрация: 17.02.2014
Сообщений: 18
По умолчанию

Огромное спасибо)))))))
Кутяшка вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработка клавиш из dll AntyDES C# (си шарп) 5 23.10.2012 12:42
Обработка клавиш на TListBox Melanholly Общие вопросы Delphi 2 31.10.2011 14:06
обновление в блоге - Расшифровка скан-кодов клавиш Pblog Обсуждение статей 0 31.05.2011 21:30
Перехват и подмена кодов клавиш чужого окна Hedgehog Безопасность, Шифрование 3 23.04.2007 16:05