Так как в начале освоения Blitz понимание что такое типы и умения
работать с ними является достаточно важны этапом, я решил написать
небольшую статью по этому вопросу. Итак начнем! Все наши
данные находятся в переменных (конечно же мы можем сохранять их в
файлах, но во время работы программы мы все равно помещаем их в
переменные). Часто пользоваться большим количеством переменных не
удобно. Например. Есть фирма в которой работает определенное количество
сотрудников. По каждому из них у менеджера есть определенные данные.
Такие как возраст, пол, должность и другие. Было бы неудобно если бы
эта информация размещалась на разных листах. Поэтому её размещают на
одном листе – бланке, где заполняют соответствующие поля. Та же
ситуация и с данными в Блице. Например. У нас есть данные, касающиеся
игрока: здоровье, скорость. Будет неудобно создавать отдельные
переменные. В крайнем случае так можно поступить, но при условии что
объект которого касаются эти данные – один. Если же объектов больше
одного – использование типов просто необходимо. Тип можно
рассматривать как массив данных. Однако в обычном массиве элементы
отличаются номером, один массив может иметь данные только одного типа.
В отличии от обычного массива в типах элементы имеют не номер, а имя и
массив может иметь элементы с данными разных типов. Операторы необходимые при работе с типами: Type name– объявляет тип name. Field name– объявляет переменную name внутри типа End Type – закрывает данный тип
На примере нашего игрока:
Type PlayerType
Field Life
Filed Speed#
End Type
Переменные внутри типа можно указывать и через запятую (Field Life,Speed#) Дальше необходимо присвоить данный тип конкретному объекту. Сделаем это так:
Global Player.PlayerType
Теперь мы можем присвоить типу конкретные значения:
Player.PlayerType = New PlayerType
Player\Life = 100
Player\Speed = 5.5
Теперь мы всегда сможем обратится к этим данным:
If PlayerHit = True Then Player\Life = Player\Life – 10
Другой пример. В нашей игре есть 10 таков с номерами от 1 до 10.
Type TankType
Field Life
Filed ID
End Type
Global Tank.TankType
Теперь создаем эти самые 10 танков.
For i = 1 To 10 Tank.TankType = New TankType Tank\Life = 100 Tank\ID = i Next
Необходимо «уничтожить» танк под номером 6 например:
If Tank\ID = 6 Then Tank\Life = 0
Ну вот и все.
|