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