Это теория по которой вы можете написать движок на стратегичесукую игру- в которой цель запрогать своего бота на преодаление карты с врагами и стенами. Создаем скрипт, в котором выполняется выбор проверки действия, называем его scr_if Gml:
Если проверка номер 1 то проверяем есть ли с лево стена если да, то выводим 1, но иначе выводим 0 Если проверка номер 2 то проверяем есть ли с лево враг если да, то выводим 1, но иначе выводим 0
И так вот расписываем все стороны, с разными проверками...
Теперь создаем скрипт, в котором выполняется выбор действия, называем его scr_act Gml:
Если аргумент равен 1 то двигаемся в лево Если аргумент равен 2 то стреляем в лево Если аргумент равен 3 то стреляем в верх
И так вот расписываем все стороны, с разными действиями...(желательно что бы номера и проверки предыдущего скрипта, были относительными номерам и действиям этого скрипта...
Затем пишем скрипт для создания алгоритма по пунктам, их количество зависит от количества переменных, и строчек кода которые нужно будет копирывать-вставить-переиминовать.. Я буду говарить только о 3 пунктах, а остальные будет не сложно создать: Gml:
//это в создании конечно if_n[1]=0;//выбераем номер проверки(для скрипта scr_if) p1_then[1]=;//выбераем номер действия (для скрипта scr_act) if_n[2]=0; p1_then[2]=0; if_n[3]=0; p1_then[3]=0;
Теперь даем возможность выбора действий для игрока: например так вот: //это нужно сделать в саму игру, это что то вроде меню перед игрой...
Вот таким вот образом игрок в игре сможет настраивать переменные алгоритма. Это надо сделать самому… Сделать это нужно так: Рисуем( номер пункта + “условие:” + переменная_номера_условия_под_текущем_пунктом +“действие”+ переменная_номера_действия_под_текущем_пунктом) Ещё делаешь кнопки которые будут менять значения переменных…
Теперь само осуществление действий. Ставим этот код в шаг героя:
//это конечно тяжеловато разобрать, но думаю если помучатся то всё получется if( skr_if(if_n[1])){// Проверяем условие под номером Значения перемнной номер_условие_под_пунктом1 skr_act(p1_then[1]);//выполняем действие под номером значения переменной номер_действия_под_пунктом1 } if( skr_if(if_n[2])){ skr_act(p1_then[2]); } if( skr_if(if_n[3])){ skr_act(p1_then[3]); } местам грамотнасть меня покидала, так что не бейти за ошибки )))
Автор:ZXC76
|