Пособие по написанию WAP-сайтов

       

Рассмотрение приложения blotMachme



Рассмотрение приложения blotMachme

При запуске приложения SlotMachine WML-страница SlotMachine.wml выводит наэкран приглашение пользователю начать игру. Чтобы реализовать игорный автомат, приложение задействует переменные, которые соответствуют трем рядампо три колонки. Для ссылки на переменные в программном коде используютсяимена rlcl, rlc2, rlc3 и так далее. Вывод на экран значений переменных выполняется в виде таблицы размером три на три. WML-страница SlotMachine.wml реализуется с помощью следующего программного кода:

&lt?xml version="1.0"?&gt &lt!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"&gt

&ltwml&gt

&lthead&gt

&ltmeta http-equiv="Cache-Control" content="max-age=0" forua="true"/&gt

&lt/head&gt

&ltcard id="SlotMachine"&gt

&ltonevent type="ontimer"&gt

&ltgo href="#Init" /&gt

&lt/onevent&gt

&lttimer name="InitTime" value="600" /&gt

&ltp align="center" mode="nowrap"&gt



Slot Machine&ltbr/&gt

&lttable align="center" columns="5"&gt

&lttr&gt

&lttd&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "minus" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "minus" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "minus" /&gt&lt/td&gt &lttd> &lt/td&gt

&lt/tr&gt

&lttr&gt

&lttd&gt=&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "minus" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "minus" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "minus" /&gt&lt/td&gt &lttd&gt=&lt/td&gt




&lt/tr&gt

&lttr&gt

&lttd> &lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "minus" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "minus" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "minus" /&gt&lt/td&gt &lttd> &lt/td&gt

&lt/tr&gt

&lt/table&gt

&ltdo type="accept" label="Start"&gt

&ltgo href="#Init" /&gt

&lt/do&gt

&lt/p&gt

&lt/card&gt

&ltcard id="Init"&gt

&ltonevent type="onenterforward"&gt

&ltrefresh&gt

&ltsetvar name="r1c1" value="minus" /&gt &ltsetvar name="r1c2" value="minus" /&gt &ltsetvar name="r1c3" value="minus" /&gt

&ltsetvar name="r2c1" value="dollarsign" /&gt &ltsetvar name="r2c2" value="dollarsign" /&gt &ltsetvar name="r2c3" value="dollarsign" /&gt

&ltsetvar name="r3c1" value="minus" /&gt &ltsetvar name="r3c2" value="minus" /&gt &ltsetvar name="r3c3" value="minus" /&gt

&ltsetvar name="cash" value="100" /&gt

&ltsetvar name="LoopCounter" value="0" /&gt

&ltsetvar name="SpinTime" value="1" /&gt

&lt/refresh&gt

&lt/onevent&gt

&ltp align="center" mode="nowrap"&gt

Slot Machine&ltbr/&gt

&lttable align="center" columns="5"&gt

&lttr&gt

&lttd> &lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r1c1)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r1c2)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r1c3)" /&gt&lt/td&gt &lttd> &lt/td&gt



&lt/tr&gt

&lttr&gt

&lttd&gt=&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r2c1)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r2c2)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r2c3)" /&gt&lt/td&gt &lttd&gt=&lt/td&gt

&lt/tr&gt

&lttr&gt

&lttd> &lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r3c1)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r3c2)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r3c3)" /&gt&lt/td&gt &lttd> &lt/td&gt

&lt/tr&gt

&lt/table&gt

$$$(cash)

&ltdo type="accept" label="Spin"&gt

&ltgo href="SlotMachineSpin.wml" /&gt

&lt/do&gt

&lt/p&gt

&lt/card&gt

&lt/wml&gt

Первые два элемента WML-страницы сообщают WAP-браузерам версию WAP-спецификации, которую поддерживает приложение. В данном случае WML-страница совместима с XML 1.0 и описанием типа документа (DTD) версии 1.1, разработанным ассоциацией WAP Forum. Любая WML-страница, размещаемаяпосле информации о версии, начинается с тега <WML>. В конце каждой WML-страницы должен находиться соответствующий тег </WML>, который завершаетэлементы WML-страницы. Теги <HEAD> и </HEAD>, располагающиеся после тега<WML>, позволяют указывать данные о WML-странице, включая метаданные и информацию управляющую доступом

Элемент <meta> позволяет определять для WML-страницы метаинформацию. Внашем случае параметр http~equiv=Cache-Control сообщает WAP-браузеру, чтоданная часть метаинформации относится к системе кэширования памяти.


Аналогично, параметр content=max-age= o сообщает браузеру, что максимальное время, в течение которого должно выполняться кэширование WML-страницы, равнонулю секунд; то есть, браузер должен не запоминать, а повторно загружать данные с сервера каждый раз, когда поступает запрос. Для данной книги нулевоезначение было выбрано, чтобы помочь читателю в разработке программы. Привыборе нулевого значения каждый раз, когда происходит изменение, это изменение передается на телефон. В реально эксплуатируемом приложении статическое меню, подобное рассматриваемому здесь, по-видимому, должно использовать интервал хранения, установленный по умолчанию, равным 30 дням. Наконец, параметр forua="true" определяет, что данное значение Cache-Controlпредназначено для телефона и не должно удаляться каким-либо промежуточнымагентом.

При запуске приложения выполняется ветвление программного кода и переходна локальную карту Init, которая присваивает символам верхнего и нижнего ряда знаки минуса, а символам среднего ряда - знаки доллара. Кроме того, для отображения в таблице пиктограмм, таких как бубны и черви, карта Init используетв элементе <img> опцию localsrc. С помощью опции localsrc приложение получает пиктограммы из ПЗУ телефона.

Когда пользователь выбирает кнопку Spin (Вращение), приложение вызываетWML-страницу SlotMachineSpin.wml, со следующим программным кодом:

&lt?xml version="1.0"?&gt &lt!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"&gt

&ltwml&gt

&lthead&gt

&ltmeta http-equiv="Cache-Control" content="max-age=0" forua="true"/&gt

&lt/head&gt

&ltcard id="Spin"&gt

&ltonevent type="ontimer"&gt

&ltgo href="SlotMachine.wmls#Spin()" /&gt

&lt/onevent&gt

&lttimer name="SpinTime" value="1" /&gt

&ltp align="center" mode="nowrap"&gt



Slot Machine&ltbr/&gt

&lttable align="center" columns="5"&gt

&lttr&gt

&lttd> &lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r1c1)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r1c2)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r1c3)" /&gt&lt/td&gt &lttd> &lt/td&gt

&lt/tr&gt

&lttr&gt

&lttd&gt=&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r2c1)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r2c2)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r2c3)" /&gt&lt/td&gt &lttd&gt=&lt/td&gt

&lt/tr&gt

&lttr&gt

&lttd> &lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r3c1)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r3c2)" /&gt&lt/td&gt &lttd&gt&ltimg alt="" src="" localsrc= "$(r3c3)" /&gt&lt/td&gt &lttd> &lt/td&gt

&lt/tr&gt

&lt/table&gt

$$$(cash)

&lt/p&gt

&lt/card&gt

&lt/wml&gt

Чтобы выполнить операцию «вращения барабанов» игорного автомата, WML- страница использует таймер, который заставляет приложение делать паузу в долю секунды между вызовами функции Spin. Каждый раз, когда срабатывает таймер, WML-страница вызывает функцию Spin, находящуюся в файлеSlotMachine.wmls в виде программного кода WMLScript. Для определения значенийпеременных rlcl, rlc2 и так далее, функция Spin использует случайные числа.После завершения функцией обработки, для которой она предназначена, WML-страница выводит на экран новые установки.


Содержание раздела