Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Початок. 37 : Приціл(Xp-5,Yp); { стрілка вліво }



Олівець(1,0,255,0);

Пензель(1,0,255,0);

Прямокутник(0,0,250,250);

Xp:=100; Yp:=100;

Приціл(Xp,Yp);

Повторювати

Повідомлення(k,i,j);

Якщо k=1 то

Вибір i із

37: Приціл(Xp-5,Yp); { стрілка вліво }

38: Приціл(Xp,Yp-5); { стрілка вгору }

39: Приціл(Xp+5,Yp); { стрілка вправо }

40: Приціл(Xp,Yp+5); { стрілка вниз }

кінець

докиНе (k=1) та (i=27) { клавіша Esc }

кінець.

Таким чином, обидва об’єкти реалізовані, але окремо. Тепер об’єднаємо їх в одній програмі. Зрозуміло, що в розділі описів треба перелічити всі змінні та помістити обидві процедури.

Виникає ще одна проблема. Приціл повинен весь час перебувати на передньому плані. Якщо мішень пролітає через точку, в якій перебуває приціл, то вона не повинна затирати його. Щоб зробити так, поставимо перед оператором Пауза в процедурі МішеньЛетить перевірку. У випадку, коли мішень витерла частину прицілу, перемалюємо його. Відповідний оператор матиме такий вигляд:

Якщо (abs(Xm-Xp)<10) та (abs(Ym-Yp)<10) то

Приціл(Xp,Yp);

Поставимо першим оператором циклу керування прицілом оператор повторення польоту мішені:

Повторювати МішеньЛетить

докиНе Подія;

Нехай "постріл" здійснюється клавішею «пропуск», код символу якої 32. Додамо в оператор вибору опрацювання натискання клавіші пробілу. Ми не повинні перевіряти, чи в момент пострілу мішень та приціл мали однакові координати, бо тоді попасти в мішень буде практично неможливо. Досить щоб відстань між ними була менша за 10 пікселів. Наведемо цей фрагмент програми:

32: { натиснений пробіл }

Якщо(Abs(Xm-Xp)<10) та (Abs(Ym-Yp)<10) то





Дата публикования: 2014-11-04; Прочитано: 437 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...