Е
"РЛ" - НАЧИНАЮЩИМ
Е
OutByte:
; вывод байта из аккумулятора
j nb
TI , $
; ждем завершения предыдущей передачи
clr
ТІ
; сбросим флаг
mov
SBUF, A
; начнем передачу байта
ret
InByte:
; ввод байта
jnb
mov
clr
ret
в аккумулятор
R I,
$
A, SBUF
RI
ждем завершения приема байта
получим принятый байт
сбросим флаг, разрешив прием следующего
Как видите, ничего сложного, кроме того, что из
подпрограммы ОШВу1е не будет возврата, если флаг
Т1 был ошибочно установлен до ее вызова, а из 1пВу1е
не произойдет возврат до тех пор, пока не будет при-
нят байт, что может не произойти никогда (например,
если иАЯТ неверно сконфигурирован или просто уст-
ройство ни к чему не подключено). В результате вы-
полнение вашей программы может быть практически за-
морожено, т.е. программа “зависнет”. Эти два момента
требуют особой осторожноРти от разработчика при ис-
пользовании этих функций. В качестве домашнего за-
дания, попробуйте самостоятельно найти решения вы-
шеуказанных проблем, а именно: написать варианты
подпрограмм
О Ш В у1е
и
1пВу1е,
которые все-таки не
будут приводить к зависаниям в ранее упомянутых
случаях.
Р Х
П р о д о л ж е н и е в № 1 /2 0 0 8 ]
П р о гр а м м и р о в а н и е и гр ы - э т о с е р ь е з н ы й п р о е к т, тр е б у ю щ и й
в р е м е н и и д е н е г. Н а с е го д н я ш н и й д ен ь с то и м о с ть с о зд а н и я х о р о -
ш е й ко м п ь ю те р н о й и гр ы м о ж е т д о с т и га т ь 15 м лн. евро . М ы ж е с
вам и с о зд а д и м п р о сту ю к о м п ь ю т е р н у ю и гр у “Я п о н с ки й кр о с с в о р д ”.
Ринат Мязитов
231306, Республика Беларусь,
Гродненская обл.,
Лидский р-н, г. Берёзовка,
ул. Ленина, д. 21а, кв. 54.
E-mail:
R am il-333@ tu t.b y
На обдумывание и создание
игры у меня ушло около 40-50 мин.
Оговорюсь сразу: кто не умеет раз-
гадывать японские кроссворды,
можете не читать или же научитесь
разгадывать ©.
Наш компьютерный вариант не
сложный и его можно модернизи-
ровать. Приступим!
Открываем Borland C++ Builder, со-
здаем новый проект (File ->
New -»
Application).
Я на листике в клеточку начер-
тил вот такую елочку - размером
7x7 клеточек
(р и с . 1)
- и написал
В
}
Рис. 1
по вертикали и по горизонтали чис-
ла (сколько нужно закрашивать,
чтобы получилась такая елочка).
Теперь задаемся следующими
вопросами:
- чем будут клеточки в нашей
программе (каким компонентом);
- чем будут наши боковые и го-
ризонтальные линии с цифрами;
- и каким образом при нажатии
на клеточку она будет закраши-
ваться.
Клетки у нас - это компоненты
Т Р ап е!,
как мы понимаем 7 * 7 = 49
клеток (ТРапе!).
Верхние и боковые цифры мы
запишем при помощи компонента
ТБаЬе!,
у нас их будет 8.
, ) ,1 И
, 1 г V Л ^
Напомню, что эти компоненты
размещены на Панели компонен-
тов. на вкладке
S ta n d a rd (рис. 2).
Теперь просто разместим 49
компонентов
T P an el,
и 8 компонен-
тов
T L a b e l,
как показано на следу-
ющей схеме
(та б л и ц а 1).
Таблица 1
Label 1
Label2
1,2, 3 ,4 , 5, 6, 7
Label3
8,9,10,11,12,13,14
Label4 15,16,17,18,19,20,21
Label5 22,23,24,25,26,27,28
Label6 29,30,31,32,33,34,35
Label7 36,37,38,39,40,41,42
Label8 43,44,45,46.47,48.49
eject I Rurl Component database Tools Window Help
!
«
s
кнопка Run
6
□'
Standard ; Additional ï
System! Data Access і DaiaControbi cMHoress 1
DaMâee
Cÿ
3
ЇГ % | A |(Sr || | - » и [ *
* I f i i l l ^
î= | ^
; BDE
1?
----------------------- ^ 3 ^
.........
1111
компанент Label
Рис. 2
Компанент Panei
3 2
Ij Радиолюбитель - 1
2 /2 0 0 7
предыдущая страница 32 Радиолюбитель 2007-12 читать онлайн следующая страница 34 Радиолюбитель 2007-12 читать онлайн Домой Выключить/включить текст