Архивы рубрики: Игры

Разнообразие игр для Андройд

Все владельцы этого современного устройства могут похвастаться его многофункциональностью и удобством. Андройд специально разработан для того, чтобы совмещать в себе множество различных свойств, которые не может выполнять другой подобный смартфон или обычный телефон. Любители именно этого современного аппарата могут спокойно заходить в Интернет и скачивать различную информацию, общаться в социальных сетях и, наконец, играть в онлайн игры, которые поражают воображение своим многообразием и возможностями.

Игры для Андройд создаются современными разработчиками с такой точностью изображения, что захватывает дух! Ведь для него возможны любые разрешения  и процессы, все, о чем вы могли мечтать для Андройд реальность. Его разные модели  поддерживают 3D, 4D форматы изображения, а все благодаря уникальным способностям Андройд. Игры для Андройд разрабатываются различного направления  и жанра – это и гонки, стрелялки, аркады, экшены и многие другие. Менеджеры по продажам разрабатывают рейтинги той или иной игры, а разработчики уже самостоятельно делают свое дело. Можно скачать Pocket God для Android любой версии и наслаждаться игрой в любое доступное время.

Существует множество разнообразных игр, к примеру, одна из последних, которые были разработаны специально для Андройд – это dead trigger. Сюжет заключается в том, что в конце 2012 вся человеческая цивилизация погибнет, экономические отношения полностью разрушатся, и деньги утратят свою силу и влияние. Суть этой игры заключается в том, чтобы бороться с зомби, которые готовы ежеминутно убивать. На самом деле – это люди, которые были поражены страшным вирусом, от которого очень многие погибли, а остальные превратились в этих монстров. С ними и приходится сражаться любителям  шутеров, ведь эта игра, в действительности, та же самая стрелялка, только графика качественней, да и сюжет немного интересней обычного. Платформа: android 2.3+.

Можно еще представить себя Человеком – Пауком и бороться со злом. Именно такая игра theamazingspider-man для Андройд. Платформа: android 2.2+. Это версия для старшей модели Андройд, чем первая игра, но  от этого ничем не хуже. Суть игры заключается в том, чтобы противостоять злу в подобии Ящера и его коварной банды, а  вы, как бесстрашный Человек – Паук, будете бороться и ним, спасать мир от его злых намерений. Графика – отличная, разрешение Андройд позволяет наблюдать различные спецэффекты игры, саундтреки подобобраны неплохо, поэтому звук можно и не отключать во время игры. Ваш герой наделен множеством способностей и это теще больше захватывает в игру.

Дата публикации 16.07.2012, 16:23

Операционная система PalmOS для программиста

За последние 9 лет (c 1993) в мире персональных компьютеров появился новый участник – карманный персональный компьютер (КПК). Большую роль в распространении этого вида компьютерной техники сыграли устройства на базе операционной системы PalmOS, которая появилась в 1996 году. За последующие 6 лет в свет вышло более 5 версий PalmOS (1.0 – 4.1). Большим изменениям PalmOS никогда не подвергалась, причины это кроются в том, что для PalmOS создавалось очень много программ (это продолжается и по сей день), и вторая причина это то, что аппаратная часть КПК на базе PalmOS всегда оставалась неизменной (см. таблицу).

Пятая версия PalmOS, которая появилась несколько месяцев назад, полностью переработана для работы на новой аппаратуре. КПК на базе PalmOS 5 еще не успели распространиться, и показать себя в работе.

В этом обзоре рассматривается структура операционной системы PalmOS версий 3.0-4.1. Предполагается, что читатель знаком с операционной системой PalmOS как пользователь.

 

Общие сведения
PalmOS однозадачная операционная система.
Поддерживает графический интерфейс (диалоги, кнопки, списки, шрифты, … )
Приложения PalmOS одно-потоковые, событийно ориентированные.
В PalmOS есть своя файловая система.
Пользователь в PalmOS не работает ни с папками, ни с файлами. Пользователь “видит” только приложения и документы с которыми работает данное приложение.
В PalmOS нет таких понятий: “загрузка операционной системы” и “завершение работы”. Вместо этого PalmOS “умеет делать” легкий рестарт (Reset) и полный рестарт (Hard Reset).
PalmOS Состоит из модулей (Manager) и библиотек (Library), например Memory Manager – модуль управления памятью, Data Manager – модуль управления файловой системой, Библиотека TCP/IP. (см. рис 1). Модуль это неотъемлемая часть PalmOS, а библиотеки можно добавлять и удалять.
Каждый модуль и библиотека предоставляет документированное API для приложений.
Автоматически управляет питанием. Например, PalmOS может полностью остановить процессор, при этом приложение ничего не заметит.
PalmOS является ОС с микро ядром (Micro Kernel OS), основное качество такого типа ОС это гарантировано малое время реакции на любое внешние событие. (микро ядро AMX, разработано фирмой Kadak)
PalmOS поддерживает только один процессор — Motorolla DragonBall 68К ,

Система управления памятью одна из важнейших частей PalmOS которая во многом определяет архитектуру операционной системы и ее особенности.

Физически память расположена на картах (Card) памяти, которые нумеруются – 0, 1, … . Каждая карта памяти может иметь RAM и ROM сегменты (RAM – random access memory, ROM – read only memory).

PalmOS делит все пространство RAM сегмента на Dynamic Heap и Storage Heap. Storage Heap это эквивалент диска (HDD), там находятся только файлы. Dynamic Heap это эквивалент обычной памяти (Heap). В Dynamic Heap находятся все динамические объекты приложения, операционной системы, библиотек, модулей, а также стек (в момент выполнения, код приложения не находится в Dynamic Heap).

В PalmOS код приложения не загружается в Dynamic Heap для выполнения. Зачем, если приложение и так в памяти ? выполнение происходит по месту (inplace), т.е. все программы, как и сама PalmOS, всегда выполняются прямо из Storage Heap. Это прозрачно для приложений.

Т.к. ROM это сегмент памяти “только для чтения”, то соответственно там находится только файлы. Например, большинство моделей КПК имеет карту памяти – Card0, и в ROM сегменте этой карты находятся файлы операционной системы со встроенными приложениями. Приложение может получить список всех карт, и указать с какой картой оно будет работать (например, файловый менэджер “Filez” позволяет выбрать номер карты с которой нужно получить список всех файлов).

Размеры Dynamic Heap и Storage Heap определяются операционной системой при инициализации и зависят от общего размера памяти в КПК. Обычно размер Dynamic Heap 32-256Кб. Работать с Памятью можно через API модуля Memory Manager. Этот модуль поддерживает всю внутреннюю структуру памяти, его используют все остальные модули.

Язык программирования VВА

Алфавит и лексемы языка

Язык программирования VВА предназначен для написания кода программы. Он обладает своим алфавитом, который включает:
1) строчные и прописные буквы латинского алфавита (А, В,…, Z, а, b,…, z);
2) строчные и прописные буквы кириллицы (А — Я, а — я);
3) неотображаемые символы, используемые для отделения лексем друг от друга;
4) специальные символы, участвующие в построении конструкций языка: + -*-\ ^ = ><[](). :{}’&©;
5) цифры от 0 до 9;
6) символ подчеркивания «_»;
7) составные символы, воспринимаемые как один символ: = .

Программный код VВА является последовательностью лексических единиц (лексем), которые записаны в соответствии с принятыми синтаксическими правилами, которая реализует нужную семантическую конструкцию.

Лексема является единицей текста программы, имеющей определенный смысл для компилятора, и которая не может быть разбита в дальнейшем. Идентификатор представляет собой последовательность букв, цифр и символов подчеркивания.

Объявление переменных. Переменные являются объектами, которые предназначены для хранения данных. Перед применением переменных в программе необходимо их объявлять (декларировать). Правильный выбор типа переменной обеспечивает эффективное использование памяти компьютера.

Объекты, значения которых не изменяются и не могут быть изменены во время выполнения программы, называются константами: именованными и неименованными.

Перечни используются для декларации группы констант, которые объединяются общим именем, к тому же они могут быть объявлены только в разделе глобальных объявлений модуля или формы. Декларация массивов. Выделяют два вида переменных — простые переменные и переменные структурного вида. Массивы бывают одномерными и многомерными.

Операция присваивания. После декларации значение переменной может оказаться произвольным, а для присвоения переменной необходимого значения применяется операция присваивания. Математические операции используются для записи формулы, представляющей собой программный оператор, который содержит числа, переменные, операторы и ключевые слова.

Операции отношения могут привести к появлению значения, причем существует только два результирующих значения: истина и ложно.
Логические операции используются в логических выражениях, это происходит при существовании нескольких условий выбора в операциях отношения.

 

VBA представляет собой подмножество VB

VBA представляет собой подмножество VB и включает средства образования приложений VB, его структуры данных и управляющие структуры, возможность создания пользовательских типов данных. Также как и VB, VBA является системой визуального программирования, управляемого событиями. В нем имеется возможность создания форм со стандартным набором элементов управления и написания процедур, обрабатывающих события, которые возникают при тех или иных действиях системы и конечного пользователя. Также он позволяет
использовать элементы ActiveX и автоматизации. VBA представляет собой полноценную систему программирования, но не имеет полный набор возможностей, которыми обладает последняя версия VB.

Программирование в среде VBA обладает рядом особенностей. В частности, в ней нельзя создавать проект независимо от этих приложений.
Из-за того что VBA является визуальной системой, программист способен создавать видимую часть приложения, которая является основой интерфейса «программа — пользователь». Благодаря ему производится взаимодействие пользователя с программой. На принципах объектно-ориентированного подхода, который реализуется в VBA применительно к приложениям, выполняемым под управлением Windows, разрабатывается программный интерфейс.

Характерным для данных приложений является то, что на экране в любой момент присутствует множество объектов (окон, кнопок, меню, текстовых и диалоговых окон, линеек прокрутки). С учетом алгоритма программы пользователь обладает определенной свободой
выбора относительно использования этих объектов. То есть он может сделать щелчок по кнопке, перенести объект, ввести данные в окно и т. п. При создании программы программист не должен ограничивать действия пользователя, он должен разрабатывать программу, правильно реагирующую на любое действие пользователя, даже неправильное.

Для любого объекта определяется ряд возможных событий. Одни из событий происходят от действий пользователя (щелчок или двойной щелчок мыши, перенос объекта, нажатие клавиши клавиатуры и т. п.). Случается, что некоторые события происходят в результате свершения других событий: окно открывается или закрывается, элемент управления становится активным или теряет активность.

Любое из событий проявляется в определенных действиях программы, а виды возможных действий можно разделить на две группы.
1. Действия первой группы, которые являются следствием свойств объекта, устанавливающихся из некоторого стандартного перечня свойств, которые задаются системой программирования VBA и самой системой Windows. К примеру, свертывание окна после щелчка по
кнопке Свернуть.
2. Вторую группу действий на события может определить только программист. Для любого возможного события отклик обеспечивается созданием процедуры VBA. Теоретически возможно создать процедуру для каждого события, но практически программист запол-
няет кодом процедуры только для событий, представляющих в данной программе интерес.

Свойствами-участниками являются свойства, которые задают вложенные объекты.
Объекты способны реагировать на события — инициируемые пользователем и генерируемые системой. События, инициируемые пользователем, появляются, например, при нажатии клавиши, щелчке кнопками мыши.

 

Netscape Navigator

По мнению пользователей, данный модуль работает очень прилично и иногда даже превосходит в скорости работы органов управления ActiveX сам Internet Explorer. Но надежность его вызывает нарекания. Если очень долго и интенсивно работать со страницами, которые
насыщены компонентами ActiveX, то в итоге можно встретить ошибку, которая приводит к зависанию Netscape.

Но с этим вполне можно было бы мириться, если бы не некоторая техническая трудность. Netscape Navigator не различает тег , и потому, даже если подключен модуль ScriptActive, это не вызывает органы управления, вводимые этим тегом. Вызов подключаемых модулей Netscape осуществляется с помощью тега . Это означает, что авторам, которые стремятся, чтобы органы управления на их страницах
работали в обоих броузерах, следует продублировать информацию тега в теге . А для того, чтобы заставить Internet Explorer не обращать внимания на этот не нужный ему (как известно, Internet Explorer поддерживает этот тег и даже
может работать с подключаемыми модулями Netscape), этот тег располагают внутри соответствующей пары тегов … .
Подобный выход из положения используется в HTML довольно часто — применяя какой-нибудь новый тег, автор в целях совместимости располагает между этим тегом и парным ему закрывающим что-нибудь, что будет видеть только старый броузер, игнорирующий новый тег. Новый броузер, который распознает этот тег, наоборот, должен игнорировать все, что расположено внутри парного тега. Так выглядит тег , информация которого по-вторена во вложенном теге :

WIDTH = 320
HEIGHT = 240
CLASSID = «clsid:0D5C3F21-6DF8-11CF-AAEB-
02608C9EA5BF»
CODEBASE = «http:—www.ncompasslabs.com-ActiveXocx-nbillbrd.ocx»
DATA = «http:—www.ncompasslabs.com-ActiveX-inline-billboard.ods»
> WIDTH = 320
HEIGHT = 240
SRC = «BillBoard.ods»
CODE = «http:—www.ncompasslabs.com-ActiveX-ocx-nbillbrd.ocx»
Slideshow = 1
LocalButtons = 0
Delay = 1
>

 

Сценарии и документы

Двуязычие броузера Internet Explorer делает осмысленным или необходимым применение атрибута LANGUAGE тега для указания языка сценария. При этом, поддержка двух языков вызвала введение дополнительного необязательного аргумента в тех функциях, одним из аргументов которых служит строка кода. Например, функция setTimeout (), которая имеет в Netscape Navigator два аргумента, теперь мо-
жет использовать третий аргумент, который сообщает данной функции, как интерпретировать строку кода в одном из аргументов — как программу на JavaScript или на VBScript.

Необходимо помнить, что хотя вариант языка JavaScript, применяемый Internet Explorer, и называется «JScript» во всех официальных документах Microsoft, на синтаксис языка это никак не повлияло — во всех местах, где необходимо указать один из двух языков, допустимыми вариантами служат либо «JavaScript», либо «VBScript». В целом JScript является довольно сильным облегченным вариантом JavaScript. Особенно если срав-
нивать его с тем JavaScript, который поддерживает Netscape Navigator 3.0.

Многих методов, событий, объектов нет вообще, некоторые копировались из Netscape Navigator в большой спешке, и даже в синтаксисе имеются некоторые значительные упрощения — в частности, числовые значения больше не объекты. Очевидно, много сценариев для Netscape Navigator вызовут переделки, прежде чем их сможет осуще-
ствить Internet Explorer. Но в настоящий момент Microsoft даже не подготовила официальной документации на свой вариант JavaScript; все, что можно найти на сервере Microsoft, — это документ, называемый «Microsoft Internet Explorer Scripting Object Model», содержащий перечисление поддерживаемых JScript объектов и их свойств и методов.

Рассмотрим, что такое «ActiveX Documents». «Документы ActiveX» дают Интернету то, к чему для рядового пользователя Windows и сводится технология OLE. К примеру, когда в окне Microsoft Word возникает обычная таблица Excel, с которой можно делать все то же самое, что и в самом Excel. Так же HTML-документ способен теперь включать в себя документы любого другого формата, для которых существуют программы просмотра, которые удовлетворяют стандартам OLE.

Для того чтобы человек мог, не покидая своего броузера, познакомиться с содержимым документа в определенном формате X, должны выполняться два условия. Первое — для данного формата должна иметься программа просмотра, которая способна играть роль
OLE-сервера. Второе — такая программа должна присутствовать на компьютере пользователя. Ясно, что оба эти условия значительно ограничивают практическое применение этой идеи. Даже несмотря на то, что для любых приложений, которые входят в Microsoft Of-
fice, существуют бесплатно распространяемые программы просмотра (Word Viewer, Excel Viewer и т. п.), рассчитывать на их наличие на каждом компьютере не способна даже корпорация Microsoft, не говоря уже о других, не известных фирмах, форматах и программах. Ясно, что о переносе на другую операционную систему здесь не может быть и речи.

 

Практикум Active X | Введение в Active X

Рассмотрим, как применяются теоретические сведения на практике. Попробуем написать небольшой HTML-файл, вызывающий один из органов управления ActiveX, которые разработала фирма Microsoft, — модуль для образования плавного перехода цветов (градиента). Рассмотрев документацию на данный компонент, можно узнать соответствующий ему идентификатор CLSID и URL-адрес одной его копии на сервере Microsoft, на которую возможно будет сослаться. При этом в том же месте можно отыскать список параметров и их значений, способный принимать этот орган управления, в частности:

StartColor и EndColor

Два цвета, плавный переход между которыми можно увидеть на экране, задаются в простом для HTML виде «#rrggbb», где rr, gg и bb — шестнадцатеричная величина красной, зеленой и синей составляющих цвета.

Direction

Направление градиента: 0 — горизонтальное, 1 — вертикальное, 2 — радиальное от центра к краям и т. д. Теперь необходимо заполнить атрибуты тега и учесть нужное количество тегов . Такой вид имеет текст рассматриваемого HTML-файла:

Пример вызова органа управления Acti-
veX

Данный градиент на вид не отличен от простого графического файла:

ID = «grad1»
CLASSID = «clsid:017C99A0-8637-11CF-A3A9-
00A0C9034920»
CODEBASE = «http:—activex.microsoft.com-controls-
iexplorer-iegrad.ocx#Version = 4,70,0,1161»
WIDTH = 200
HEIGHT = 100
>


Открытие такого файла в броузере Internet Explorer станет причиной довольно заметной паузы, во время которой в строке состояния появится надпись «Installing components…». При этом броузер связывается с сервером, который упомянут в атрибуте CODEBASE, и перекачивает с него файл, в котором находится компонент ActiveX (перед этим нужно подключиться к сети).