Возможно вы искали: 'EITtris'

May 23 2025 04:17:03
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96276818
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18385
• Обзор The Walking ... 18829
• Обзор DMC: Devil M... 19902
• Обзор на игру Valk... 15900
• Обзор на игру Stars! 17786
• Обзор на Far Cry 3 17976
• Обзор на Resident ... 16045
• Обзор на Chivalry:... 17531
• Обзор на игру Kerb... 18000
• Обзор игры 007: Fr... 16647
Превью о играх
• Превью к игре Comp... 17983
• Превью о игре Mage... 14484
• Превью Incredible ... 14740
• Превью Firefall 13502
• Превью Dead Space 3 16360
• Превью о игре SimC... 14753
• Превью к игре Fuse 15460
• Превью Red Orche... 15571
• Превью Gothic 3 16369
• Превью Black & W... 17377
Главная » Статьи » Разное » Таблицы переходов 2.0

Таблицы переходов 2.0

Таблицы переходов 2.0 Что же такое таблицы переходов? По моему это аналог массивов. Как и к массиву, так и к таблице переходов обращение ведется по индексу. В качестве индекса у таблицы переходов выступает переменная, а правильнее сказать ее значение. Разберем принцип создания и работы таблицы переходов. Для создания таблицы переходов используется следующий опкод:

0871: init_jump_table $peremen total_jumps 7 0 @метка_выхода jumps 0 @метка1 1 @метка2 2 @метка3 3 @метка4 4 @метка5 5 @метка6 6 @метка7 // опкод должен быть записан одной строкой


total_jumps 7 – общее количество переходов, в нашем случае равно семи.

$peremen – переменная, по значению которой и будет осуществляться переход на определенную метку. Отсчет ведется с 0.

@метка_выхода – выход из таблицы.
jumps 0 @метка1 - 6 @метка7 – метки переходов, то есть те метки на которые будет осуществляться переход согласно значению переменной. Цифра 0 перед меткой @метка1 означает то, что если переменная $peremen = 0 то будет произведен переход на метку1 и т.д.

Максимальное количество переходов в строке не может превышать 7. Если же необходимо большее количество переходов, то в паре с опкодом 0871: используется еще и опкод 0872:

0871: init_jump_table $peremen total_jumps 8 0 @метка_выхода jumps 0 @метка1 1 @метка2 2 @метка3 3 @метка4 4 @метка5 5 @метка6 6 @метка7
0872: jump_table_jumps 7 @метка8 -1 @метка_выхода -1 @метка_выхода -1 @метка_выхода -1 @метка_выхода -1 @метка_выхода -1 @метка_выхода -1 @метка_выхода -1 @метка_выхода


Все отсутствующие переходы должны быть заполнены так -1 и метка выхода. В нашем случае это выглядит так -1 @метка_выхода. Так же они заполняются и в случае если переходов меньше 7.

Теперь посмотрим, как же работает таблица переходов.

create_thread @JumpT


:JumpT
03A4: name_thread 'JumpT'
$CHECK=0

:JumpT_1
wait 0 ms
04C4: create_coordinate $X $Y $Z from_actor $PLAYER_ACTOR offset 1.0 3.0 0.0
$Z -=1.1
gosub @Jump_table
actor.Create($Actor,7,$MODEL,$X, $Y, $Z)
actor.Health($Actor)= 1000
07FE: set_actor $Actor fighting_style_to 22@ 6
if
$CHECK ==3
jf @JumpT_2
01B2: give_actor $Actor weapon 5 ammo 3000 // Load the weapon model before using this

:JumpT_2
05E2: actor $Actor kill_actor $PLAYER_ACTOR

:JumpT_3
wait 0 ms
if
actor.Dead($Actor)
jf @JumpT_3
wait 2000 ms
actor.DestroyInstantly($Actor)
$CHECK +=1

:JumpT_4
wait 0 ms
if
4 > $CHECK
jf @JumpT_5
wait 1000 ms
jump @JumpT_1

:JumpT_5
model.Destroy(#VHMYELV)
model.Destroy(#VWMYBOX)
model.Destroy(#WMYCR)
model.Destroy(#OMYKARA)
model.Destroy(#BAT)
end_thread

:Jump_table
0871: init_jump_table $CHECK total_jumps 4 0 @EXIT_JT jumps 0 @JUMP_0 1 @JUMP_1 2 @JUMP_2 3 @JUMP_3 -1 @EXIT_JT -1 @EXIT_JT -1 @EXIT_JT

:JUMP_0
model.Load(#VHMYELV)
038B: load_requested_models

:JUMP_0_1
wait 0 ms
if
model.Available(#VHMYELV)
jf @JUMP_0_1
04AE: $MODEL = 82
22@ = 5
jump @EXIT_JT

:JUMP_1
model.Load(#VWMYBOX)
038B: load_requested_models

:JUMP_1_1
wait 0 ms
if
model.Available(#VWMYBOX)
jf @JUMP_1_1
04AE: $MODEL = 81
22@ = 6
jump @EXIT_JT

:JUMP_2
model.Load(#WMYCR)
038B: load_requested_models

:JUMP_2_1
wait 0 ms
if model.Available(#WMYCR)
jf @JUMP_2_1
04AE: $MODEL = 100
22@ = 7
jump @EXIT_JT

:JUMP_3
model.Load(#OMYKARA)
model.Load(#BAT)
038B: load_requested_models

:JUMP_3_1
wait 0 ms
if and
model.Available(#OMYKARA)
model.Available(#BAT)
jf @JUMP_3_1
04AE: $MODEL = 203
22@ = 8
jump @EXIT_JT

:EXIT_JT
return




Принцип работы.

Переменная $CHECK=0
Командой gosub @Jump_table мы обращаемся к таблице переходов и сразу же производится переход на первую метку, т.е. :JUMP_0 , не забываем что отсчет ведется с 0.

Получаем данные, которые там находятся:

:JUMP_0
model.Load(#VHMYELV)
038B: load_requested_models

:JUMP_0_1
wait 0 ms
if
model.Available(#VHMYELV)
jf @JUMP_0_1
04AE: $MODEL = 82
22@ = 5
jump @EXIT_JT
и прыгаем на метку выхода.

:EXIT_JT
return
Далее возвращаемся на следующую строку после команды gosub @Jump_table.
Создаем актера, устанавливаем ему стиль борьбы и здоровье. Проверяем, равна ли переменная 3 и если равна то даем ему оружие, а в противном случае сразу идем на метку :JumpT_2 и даем команду актеру атаковать игрока. Делаем проверку, умер ли актер и если умер, то удаляем его, увеличиваем переменную на единицу $CHECK +=1, производим проверку 4 > $CHECK и если больше, то идем на метку jump @JumpT_1. Теперь в таблице переходов будет выбрана метка @JUMP_1, поскольку $CHECK=1 и т.д.
718 Прочтений •  [Таблицы переходов 2.0] [13.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Таблицы переходов 2.0 Ukraine Vova 13.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка