Проекты с использованием контроллера Arduino



Download 12,28 Mb.
Pdf ko'rish
bet187/215
Sana22.02.2022
Hajmi12,28 Mb.
#109180
1   ...   183   184   185   186   187   188   189   190   ...   215
Bog'liq
Petin V A - Proekty s ispolzovaniem kontrollera Arduino Elektronika 2014


Часть III. Практическое применение Arduino 
Листинг 25.13 
//****************** изменение набранных баллов 
void change_balls(int ball) 

GAME1.balls=GAME1.balls+ball; 
if(GAME1.balls<0) 
start_game(); 
if(GAME1.balls>(GAME1.level+1)*100) 
new_level(GAME1.level); 
set_data_tablo(); 

25.6.6. Переход на новый уровень 
При переходе на новый уровень игры осуществляется установка новых значений 
для скорости генерации и скорости перемещения объектов-цифр. Первоначально 
предполагалось менять и значение скорости изменения цифры "игрока" и скорости 
его движения, но в ходе испытания игры решено было от этого отказаться. Дейст-
вия установки значений переменных для нового уровня игры производятся в функ-
ции 
new_level()
, содержимое которой представлено в листинге 25.14. 
Листинг 25.14 
//****************** изменение уровня игры 
void new_level(int tek_level) 

GAME1.level++; 
GAME1.vo_10=5000; 
GAME1.vo_11=2000-(GAME1.level-1)*100; 
GAME1.vo_12=1000-(GAME1.level-1)*100; 

25.6.7. Отображение данных игры на табло 
Табло с данными игры находится внизу экрана. Здесь отображаются текущие зна-
чения количества набранных баллов и уровень игры. При изменении счетчика бал-
лов "игрока" происходит вызов функции 
set_data_tablo()
, которая изменяет значе-
ние количества набранных баллов и уровень игры в переменных структуры 
GAME
и на табло. Содержимое функции 
set_data_tablo()
представлено в листинге 25.15. 
Листинг 25.15 
//****************** вывод данных на табло 
void set_data_tablo() 

TV.print(20,91," balls= "); 


Глава 25. TV-выход на Arduino 
347 
TV.print(70,91," level= "); 
TV.print(48,91,GAME1.balls); 
TV.print(98,91,GAME1.level); 

25.6.8. Звуковое сопровождение игры 
Для звукового оформления игры мы используем функцию 
tone(frequency, 
duration)
библиотеки 
TVOut
. При достижении объектом-цифрой низа игрового по-
ля (функция 
go_object()
) воспроизводится звук 
TV.tone(294,200)
, при столкнове-
нии игрока и объекта-цифры (функция 
collision()
) — звук 
TV.tone(740,200)
. Если 
вы захотите в проект вставить фрагмент из последовательного воспроизведения 
нескольких нот, после вывода каждой ноты командой 
tone(frequency, duration)
необходимо вставлять командой 
delay()
задержку длительностью не меньшей, чем 
параметр 
duration
. Так, в листинге 25.16 организовано последовательное воспроиз-
ведение двух нот с паузой. 
Листинг 25.16 
TV.tone(294,200); 
TV.delay(400); 
TV.tone(740,200); 
25.6.9. Основной цикл игры 
Основной цикл программы состоит из вызова рассмотренных нами функций 
set_iam()
,
collision()
,
go_object()
,
set_new_object()
,
set_new_cursor()
через 
промежуток времени, установленный в переменных 
GAME.vk
,
GAME.vo_10
,
GAME.vo_11
,
GAME.vo_12
. Содержимое функции 
game1()
представлено в листин-
ге 25.17. 
Листинг 25.17 
int game1() 

//while(GAME1.balls>0 && GAME1.level<6) 
//{ 
long time2=millis(); 
//TV.delay(GAME1.xk); 
if(time2-time11>GAME1.vk) 
{set_iam(); 
collision(); 
time11=time2; 

if(time2-time12>GAME1.vo_12) 
{go_object();time12=time2;} 


348 
Download 12,28 Mb.

Do'stlaringiz bilan baham:
1   ...   183   184   185   186   187   188   189   190   ...   215




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish