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



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


Глава 25. TV-выход на Arduino 
341 

vk
— скорость движения "игрока" (проверка входов A0, A1); 

vo_10
— скорость изменения цифры "игрока"; 

vo_11
— скорость появления объектов-цифр; 

vo_12
— скорость движения объектов-цифр; 

count_objects
— кол-во объектов-цифр на поле; 

level
уровень игры

balls
— кол-во баллов. 
Код структуры 
GAME
представлен в листинге 25.7. 
Листинг 25.7 
int MAX_X=31; 
int MAX_Y=14; 
// структура данных игры 
struct GAME // структура для данных игры 

int xk; // координата x(/4) игрока 
int yk; // координата y(/6) игрока 
int tekCursor; // текущее значение курсора 
int blinkCursor; // текущее состояние блинка курсора 
int vblink; // скорость blink в vk 
long vk; // скорость движения игрока - проверка входов A0,A1 
long vo_10; // скорость изменения цифры игрока 
long vo_11; // скорость появления цифр 
long vo_12; // скорость движения цифр 
int count_objects; // кол-во объектов на поле 
int level; // уровень игры 
int balls; // кол-во баллов 
}; 
int MAX_OBJ=30; 
int FIGURA[30][3]={{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, 
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, 
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, 
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, 
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, 
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0} 
}; 
25.6.2. Управление положением "игрока"
с помощью джойстика 
Положение "игрока" на экране определяется отклонением джойстика. Выводы 
джойстика подключены к аналоговым портам A0 и A1 платы Arduino. Опрос пор-


342 
Часть III. Практическое применение Arduino 
тов происходит через время, определенное параметром 
GAME.vk
, эти данные обраба-
тываются функцией 
map()
, которая пропорционально переносит значение из теку-
щего диапазона 0–124 в новый диапазон (значения ширины и высоты экрана).
Затем это значение переводится в координаты знакоместа. В это знакоместо необ-
ходимо переместить изображение символа "игрока", предварительно поместив
в предыдущее положение "игрока" символ пробела. Для отображения "игрока" ис-
пользуется мигающий символ — цифра и пробел. Все эти операции производит 
функция 
set_iam()
, содержимое которой приведено в листинге 25.8. 
Листинг 25.8 
//****************** установка нового положения игрока 
void set_iam() 

TV.set_cursor(min(123,GAME1.xk*4),min(84,GAME1.yk*6)); 
TV.print(" "); 
GAME1.xk=map(analogRead(A0), 0, 1024, 0, 128); 
GAME1.yk=map(analogRead(A1), 0, 1024, 0, 96); 
GAME1.xk=GAME1.xk/4; 
GAME1.yk=GAME1.yk/6; 
GAME1.vblink--; 
if(GAME1.vblink<0) 

GAME1.blinkCursor=1-GAME1.blinkCursor; 
GAME1.vblink=5+GAME1.blinkCursor*5; 

TV.set_cursor(min(123,GAME1.xk*4),min(84,GAME1.yk*6)); 
if(GAME1.blinkCursor==1) 
TV.print(GAME1.tekCursor); 
else 
TV.print(" "); 

Символ, отображающий "игрока", меняется через время, определенное параметром 
GAME.vo_10
, вызовом функции 
set_new_cursor()
, изменение происходит случайным 
образом с помощью функции 
random()
. Содержимое функции 
set_new_cursor()
представлено в листинге 25.9. 
Листинг 25.9 
//****************** установка нового вида символа игрока 
void set_new_cursor() 

GAME1.tekCursor=random(0,10); 



Download 12,28 Mb.

Do'stlaringiz bilan baham:
1   ...   180   181   182   183   184   185   186   187   ...   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