QuakeC Manual / QuakeC Мануал: 3.Переменные и типы данных

← →
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

3.1. Типы

railgun 20.03.13 в 18:51

0

Множество значений, и набор примитивных операций, которые реализуют основные аспекты его семантики

railgun 20.03.13 в 18:56

0

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

railgun 20.03.13 в 18:59

0

Вы не можете определить новые типы из существующих.В частности, вы не можете определить новые структуры или

railgun 20.03.13 в 18:59

0

объекты.Эти ограничения делают QuakeC неблагоприятным по сравнению с BASIC.

railgun 20.03.13 в 19:01

0

Вы можете добавить поля только для наиболее важных типов в QuakeC: ентити.

railgun 20.03.13 в 19:02

0

3.2. Простые типы

railgun 20.03.13 в 19:02

0

3.2.1.1. Пустые типы

railgun 20.03.13 в 19:03

0

void_declaration => void

railgun 20.03.13 в 19:04

0

Пустой результат, в основном, используется для определения процедуры (т. е. функции, которые не возвращают результат на всех).

railgun 20.03.13 в 19:04

0

3.2.1.2. Типы с плавающей точкой

railgun 20.03.13 в 19:05

0

floating_point_declaration => float name

railgun 20.03.13 в 19:05

0

Значение с плавающей точкой.Float также используется для хранения Булевых(TRUE, FALSE) значений; целочисленных(integer) значений, таких как

railgun 20.03.13 в 19:11

0

счетчики, либо флаги.

railgun 20.03.13 в 19:11

0

Анализ двусмысленности присутствует с отрицательными константами: "a-5" (5 вычитается из а) будет анализироваться как

railgun 20.03.13 в 19:14

0

"a", затем "-5", что приведет к ошибке. Отделим "-" от цифры пробелом ("а - 5"), чтобы получить надлежащее

railgun 20.03.13 в 19:16

0

свойство.

railgun 20.03.13 в 19:16

0

3.2.1.3. Векторные типы

railgun 20.03.13 в 19:19

0

vector_declaration => vector name

railgun 20.03.13 в 19:20

0

Вектор состоит из трех координат с плавающей точкой.Используется для обозначения позиции или направления в 3D-пространстве.

railgun 20.03.13 в 19:21

0

Обратите внимание, что одинарные кавычки (') окружают вектор.Не используйте двойные кавычки,они зарезервированы для строк.

railgun 20.03.13 в 19:22

0

Если вы объявляете вектор foobar, то вы можете получить его поля x, y и z,с float типами: foobar_x,

railgun 20.03.13 в 19:23

0

foobar_y, и foobar_z.

railgun 20.03.13 в 19:23

0

3.2.1.4. Строковые типы

railgun 20.03.13 в 19:24

0

string_declaration => string name

railgun 20.03.13 в 19:24

0

Представляет собой строку символов.Используется для указания имени файла или сообщения, которые будут транслироваться игрокам.Используйте

railgun 20.03.13 в 19:25

0

”\n “ для новой строки.\" может быть использован, чтобы включить кавычки (") в строке.

railgun 20.03.13 в 19:28

0

3.2.1.5. Типы ентити

railgun 20.03.13 в 19:29

0

entity_declaration => entity name

railgun 20.03.13 в 19:29

0

Ентити представляет объекты в игре, такие как вещи, игроков или монстров.Например, этот тип

railgun 20.03.13 в 19:31

0

ентити self и other.Тип ентити представляет собой структурированный тип, состоящий из полей.

railgun 20.03.13 в 19:32

0

3.2.2. Типы полей

railgun 20.03.13 в 19:33

0

В отличие от других типов, тип ентити является ссылкой на экземпляр структурированного объекта, который содержит

railgun 20.03.13 в 19:34

0

информацию самых разных видов, она хранится в полях объекта ентити.Каждому полу дается имя и

railgun 20.03.13 в 19:37

0

тип.

railgun 20.03.13 в 19:37

0

Некоторые поля не хранят значения;вместо этого, они хранят функцию, которая будет выполняться при определенных

railgun 20.03.13 в 19:38

0

условиях, вызванных методов..

railgun 20.03.13 в 19:40

0

Если QuakeC был объектно-ориентированным языком программирования,метод функции отличался бы от

railgun 20.03.13 в 19:42

0

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

railgun 20.03.13 в 19:42

0

Поскольку QuakeC в настоящее время стоит,все определения поля-определения полей ентити.Таким образом, в вашем

railgun 20.03.13 в 19:47

0

коде можно добавить определение нового поля, а компилятор будет интерпретировать его как продолжение

railgun 20.03.13 в 19:48

0

определения ентити.

railgun 20.03.13 в 19:48

0

Вот все возможные определения полей ентити, с их типами:

railgun 20.03.13 в 19:49

0

.float name

railgun 20.03.13 в 19:49

0

.string name

railgun 20.03.13 в 19:49

0

.vector name

railgun 20.03.13 в 19:49

0

.entity name

railgun 20.03.13 в 19:50

0

3.2.3. Зарезервированные типы полей

railgun 20.03.13 в 19:50

0

DEFS.QC,первый файл,который читает компилятор,тут должны быть определены поля ентити и

railgun 20.03.13 в 19:52

0

все другие поля.Данное определение жестко запрограммированно, и не может быть изменено без необходимости перекомпиляции

railgun 20.03.13 в 19:53

0
Минутку...

Следующая страница →