Разработка пошаговой стратегии. Как сделать стратегию. Подготовка к работе

Привет всем! Сейчас я расскажу вам как сделать простую ртс-ку (РТС - RTS - Real Time Strategy то есть стратегия в реальном времени) открываем гамак 8.1 (на 8.0 работоспособность не гарантируется) создаём объект objControl, то есть это будет наш главный объект создаём событие создания (Create) Добавить событие => Создание (Add event => Create) событие создание делается всего один раз - при создании, нажимаем на вкладку control в правом вертикальном меню и нажимаем ПКМ по Execute code (Выполнить код) и пишем код (лучше всего не копировать код, а писать его самому, так гораздо легче запомнить):

200?"200px":""+(this.scrollHeight+5)+"px");">startx=0; //Объявляем переменную начала точки по х
starty=0; //Объявляем переменную начала точки по у
draw_rect=false; //Не рисуем прямоугольник выбора


Переменная: часть памяти, которая содержат информацию. Они имеют своё имя, с помощью которого Вы можете обратиться к ним. Переменные в GML могут содержать реальное число или строку. К примеру, стол - это переменная, деревянный или стеклянный - значение
Теперь создаём событие шага (Step, Add Event = > Step) и выполняем операцию заново (нажимаем ПКМ по Execute code (Выполнить код)):

200?"200px":""+(this.scrollHeight+5)+"px");">
if mouse_check_button_pressed(mb_left) //Если ЛКМ нажата
{
draw_rect=true; //Мы рисуем прямоугольник
startx=mouse_x; //Стартовая х позиция = положение х мыши
starty=mouse_y; //Стартовая у позиция = положение у мыши
with all selected=false; //Это пока не объявленная переменная, что она будет делать мы узнаем позже
}

If mouse_check_button_released(mb_left) //Если ЛКМ отпущенна
{
draw_rect=false; //Мы не рисуем прямоугольник
for(i=0;i<=instance_number(par);i+=1) //Читайте про цикл for ниже
{
ii=instance_find(par,i); //Мы ищем пока не сделанный объект
if(collision_rectangle(startx,starty,mouse_x,mouse_y,ii,true,false)) //Вот наш прямоугольник коллизии (соприкосновения)
{
ii.selected=true;
}
}
}

Код большой и сложный, пока мы узнаем про оператор условия if:
Код с if выполняется так:

200?"200px":""+(this.scrollHeight+5)+"px");">
if (условие)
{
действие
}

Также в нём может быть оператор else (иначе), пример:

200?"200px":""+(this.scrollHeight+5)+"px");">if (условие)
{
действие
}
else
{
действие 2
}

А for - это оператор цикла, он выполняется так:

200?"200px":""+(this.scrollHeight+5)+"px");">
for (<переменная> ; <выражение> ;<действие переменной>)
{
<действия>
}


оператор for очень мощная вещь, он очень помогает в трудных ситуациях

Оператор - встроенные в ЯП действия, например, самая распространённая это int, if, else, string, switch, for, case, break, exit, и т.д и т.п.

Теперь также создаём событие рисования (draw) и таким же путём пишем:

200?"200px":""+(this.scrollHeight+5)+"px");">if draw_rect=true
{
alpha=.8;
draw_rectangle_color(startx,starty,mouse_x,mouse_y,c_green,c_green,c_green,c_green,true);
}

Здесь всё легко, вот то же самое только по Русски:
если нам нужно рисовать прямоугольник, то мы выбираем прозрачность и рисуем прямоугольник
вот аргументы

200?"200px":""+(this.scrollHeight+5)+"px");">draw_rectangle_color(x1,y1,x2,y2,color 1, color 2, color 3, color 4, outline)


outline - будет ли рисоваться только грань (true) или залитый прямоугольник (false)
Мы нашли новое слово - константа, это заменённое словом числовое выражение или код, в гамаке есть встроенные константы:

200?"200px":""+(this.scrollHeight+5)+"px");">true (правда) - 1
false (ложь) - 0
pi - 3.1415...


Ну вот, разобрались, теперь нам нужно создать новый объект - родительский объект, который будет подключаться к дочерним. Назовём его par (чтобы сменить имя нужно менять код в событие шага контрольного объекта), в событие создания пишем:

200?"200px":""+(this.scrollHeight+5)+"px");">selected=false; //Вот и наша переменная, выбран ли объект

Это всё. Теперь нам конечно же нужен объект, который может передвигаться, называем его objTest, в событие создания пишем код:

200?"200px":""+(this.scrollHeight+5)+"px");">gox=x; //Куда идти по х...
goy=y; //по у
selected=false; //Мы не выбраны =)
object_set_parent(self,par) //Вот и выбор родителя

Новое действие:

200?"200px":""+(this.scrollHeight+5)+"px");">object_set_parent(ind,obj)

Устанавливает родительский объект для объекта с именем ind.
И новый оператор: self, он означает что действие будет переходить к себе
Не бойтесь, ещё немного осталось, в событие шага:

200?"200px":""+(this.scrollHeight+5)+"px");">if distance_to_point(gox,goy) > 20
{
mp_potential_step(gox,goy,6,solid);
}
if(selected=true) && mouse_check_button_pressed(mb_right)
{
gox=mouse_x;
goy=mouse_y;

В нынешние времена легко можно найти массу торговых стратегий, проблема только в том, что большая их часть либо не работает, либо недостаточно эффективна. В такой ситуации создание стратегии с нуля – отличное решение проблемы.

И хотя в каждой конкретной ситуации создание ТС будет отличаться, основные этапы остаются одними и теми же. То есть можно создать что-то вроде универсального руководства, последовательно пройдя через все этапы, на выходе получим вполне работоспособную систему.

Хотя рассматривать будем вариант создания стратегии с нуля, начиная с идеи и заканчивая введением фильтром и окончательной доводкой ТС до ума, это не означает, что все готовые системы сразу нужно отбросить как заведомо неэффективные. Ряд ТС вполне можно использовать как основу и просто добавить несколько фильтров с тем, чтобы отсеять ложные сигналы.

Основные этапы создания стратегии

Если взять наугад штук 5-7 индикаторов и пробовать создать из них рабочую ТС, то что-то годное вряд ли получится. Сперва нужно продумать основную идею стратегии и только потом переходить к подбору инструментов. Можно предложить такую последовательность действий:

  • если система создается с нуля, то первый шаг – работа над идеей. На этом этапе нужно просто определиться с тем, каким будет стиль торговли, например, по тренду будут выполняться сделки или против, а быть может стратегия планируется исключительно пробойной. Пока что о конкретике не думаем;
  • после выбора подходящего стиля торговли можно приступать к проработке деталей. Перед подбором инструментов нужно четко определиться с рабочими валютными парами и таймфреймами, временем торговлии т. д.;

Важно ! При выборе таймфрейма нежелательно сильно уж мельчить, особенно если у трейдера нет опыта спекуляций на малых временных интервалах. Для новичков вообще лучше не спускаться ниже Н1-Н4, подробнее о выборе оптимального временного интервала можно прочесть .

  • следующий этап – подбор подходящих инструментов, и вот здесь обилие выбора может сыграть с трейдером злую шутку, ведь в его распоряжении десятки индикаторов, возможность использовать свечной, волновой, технический, фундаментальный анализ. Из всего этого разнообразия нужно выбрать несколько инструментов, лучше всего подходящих под предполагаемый стиль торговли;
  • одно из главный правил любой стратегии – полученный сигнал должен подтверждаться несколькими фильтрами, но желательно ограничить их количество. Например, для индикаторных стратегий нежелательно, чтобы число индикаторов превышало 3-4, иначе возникнет путаница в сигналах, а если работать планируется с использованием теханализа, то индикаторы и вовсе будут выполнять вспомогательную роль;
  • разрабатываются правила сопровождения позиции, в результате должен получиться алгоритм действий на любой вариант развития событий;
  • последний этап – обкатка ТС сперва на истории, а потом и на демо-счете, а лучше на реальном центовом счете. Основная цель – проверка жизнеспособности стратегии в реальных условиях, а реальный счет (пусть даже и центовый) позволит прочувствовать весь спектр эмоций, начиная от эйфории и заканчивая горечью потерь.

Еще можно посоветовать не зацикливаться на сложности ТС. Практика показывает, что чрезмерная сложность – вовсе не показатель эффективности. Чем проще система, тем легче торговать.

Что стоит включить в ТС

Создание стратегии немного напоминает конструктор, нужно только удачно подобрать детали. При создании ТС использовать можно и нужно:

  • индикаторы. Причем не стоит гнаться ни за их числом, ни за чрезмерной сложностью, даже в полностью механических ТС достаточно 3-5штук;
  • графические паттерны – хорошо известные флаги, вымпелы, треугольники, голова и плечи, двойные дно и вершина по-прежнему хорошо отрабатывают;
  • графические построения;
  • Фибо уровни;
  • элементы фундаментального анализа – сейчас зарабатывать исключительно на новостях сложно, но учитывать экономический календарь в торговле необходимо. Хотя бы просто переставить сделки в безубыток перед выходом важной статистики по США или Европе, а то и полностью закрыть прибыль.

Есть и ряд приемов, польза которых вызывает сомнения:

  • мартингейл – изначально убыточная тактика, единственный шанс на успех заключается в том, что до момента слива удастся отбить величину депозита и немного заработать;

  • локирование без крайней нужды также использовать нежелательно, потом выйти из замка довольно трудно;
  • сигналы со стороны также лучше не использовать. Под сигналами со стороны подразумевается, например, сравнение количества продавцов/покупателей, различные индексы настроя большинства трейдеров и т. д. Но есть и ряд ресурсов, к которым можно прислушаться, например, Авточартист дает неплохие сигналы по графическим паттернам;
  • элементы волнового анализа также лучше неиспользовать (по крайней мере новичкам). Хотя и здесь есть исключения, например, торговля по Волнам Вульфа основана как раз на волновом анализе, но сложностью не отличается.

Разработка простейшей индикаторной стратегии

Предположим, что основная идея стратегии – торговля исключительно в направлении тренда. Причем входить в рынок будет не в момент зарождения тренда, что довольно рискованно, а после завершения небольшой коррекции.

Стратегия должна работать практически на любой валютной паре, это необходимо потому, что из-за крупного таймфрейма сигналы будут возникать не очень часто. Так что оценивать ситуацию будет одновременно по 5-7 валютным парам. Что касается таймфрейма, то подойдет D1, исходим из того, что форекс на начальном этапе – лишь дополнение к основной работе, поэтому и торговать будем на дневныхсвечах.

Теперь нужно определиться с тем, как именно будет определяться момент для входа. Вариантов идентификации тренда можно придумать немало:

  • визуально – но оценка на глаз не позволит выработать четкие правила торговли;
  • с помощью одной или нескольких скользящих средних;
  • по значению индикатора ADX, если больше 30 – то сильный тренд, меньше 20 – на рынке штиль;
  • с помощью графических построений;
  • Bollinger Bands позволяет судить о силе тренда по расстоянию между верхней и нижней границами канала.

В общем, вариантов много, но так как стратегия нужна максимально простая, остановимся на скользящих средних. А точнее одной МА, судить о направлении тренда будем по положению цены относительно нее. Начать можно с периодов, усредняющих цену за целый промежуток времени (неделя, месяц, квартал и т. д.), например, 20 – усреднит цену за прошлый месяц. Самое сложное – подобрать подходящий период МА, но тут уже придется действовать методом проб и ошибок.

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

  • сперва проверяем положение цены относительно МА, цена должна быть выше линии;
  • далее нужно найти трендовое движение, нам нужна свеча с большим телом и малыми тенями (желательно, чтобы величина тени не превышала 10-15% от величины тела свечи);
  • после нее должна следовать свеча с малым дневным диапазоном (расстояние от High до Close). Цена Close не должна доходить до уровня 50% от предыдущего дня – в этот день происходит коррекция цены.

При этом коррекция может проходить по 2 сценариям:

  • когда формируется свеча с длинной тенью снизу открывать сделку можно сразу же на закрытии дня. Такая форма свечи говорит о том, что коррекция уже завершилась;
  • возможен вариант, когда коррекционная свеча закрывается на минимуме, т.е. откат еще не завершился, в таком случае нужно подождать как закроется следующая за ней свеча, если она белая, можно открывать длинную позицию.

Что касается сопровождения позиции и защитных ордеров, то стоп-лосс следует поставить как минимум за середину свечи с большим телом. Чтобы получить целевой уровень, достаточно отложить от уровня покупки величину той же свечи, можно пользоваться трейлинг-стопом.

Правила стратегии сформированы, осталось только проверить ее в деле. Практика показывает, что даже такой нехитрый алгоритм выдает больше половины прибыльных сделок (а если переводить сделку в ноль пораньше, то вероятность получения убытка уменьшается).

Вход в начале тренда

Предложенная выше ТС пропускает часть трендового движения, зато не требует много времени на анализ рынка. Если есть возможность отслеживать поведение цены дня, то можно попробовать оседлать тренд в самом начале его формирования. Так что основная идея стратегии заключается в том, чтобы войти в рынок после того, как цена начнет выходить из горизонтального канала.

И здесь очень важно получить достоверный сигнал вовремя, в самом начале зарождения тренда. На помощь опять могут прийти скользящие средние, вот только использоваться они будут несколько иначе чем в предыдущей стратегии. Можно взять несколько МА с разными периодами и судить о формировании тренда по их расположению друг относительно друга.

Это не революционный подход, нечто подобное использовал еще Билл Уильямс в своем знаменитом Аллигаторе. Так что этот индикатора даже можно взять как основу ТС.

Если добавить Аллигатор со стандартными настройками на Н1, то видно, что он дает немало ложных сигналов, наша задача – отсеять их. Для этого входить в рынок будем отложенным ордером, а уровень его выставления будет определяться с помощью Фракталов.

В итоге схема работы будет выглядеть так (на примере покупок):

  • ищем флетовый участок на графике (все линии Аллигатора хаотично переплетены друг с другом);
  • далее нужна фрактальная свеча (причем она должна располагаться над линиями, не касаясь их даже нижней тенью);
  • ордер buy stop выставляется чуть выше ее максимума, а защитный ордер – за нижней границей зоны консолидации;
  • ТР либо фиксированный (50-70 п), либо использовать трейлинг-стоп. Вообще предсказать силу трендового движения довольно сложно, поэтому лучше использовать трейлинг-стоп, чем фиксированный ТР либо определять целевой уровень с помощью того же теханализа.

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

Пример простой комбинированной системы

Идея все та же – вход на окончании коррекции, но решать эту задачу будем другим способом. Цель остается прежней – определить момент завершения коррекции и войти в направлении тренда, но если раньше мы применяли скользящую среднюю, то теперь будет использовать Фибо уровни и осциллятор для определения завершения отката.

Нас будет интересовать ярко выраженное трендовое движение, его можно определить и визуально. После этого нужно просто растянуть Фибо уровни на него, это нужно для определения потенциальных уровней завершение коррекции. Наибольшую значимость имеет уровень коррекции 38,2%, допускается торговать на отбой от 50% и 61,8%.

Но самого факт касания ценой Фибо уровня мало, нужно подтверждение. С этой задачей неплохо может справится Стохастик (можно попробовать применить RSI с той же целью). Например,для сделки на покупку нужно, чтобы цена находилась неподалеку от уровня коррекции, а Стохастик в это время был в зоне перепроданности.

После того, как происходит касание ценой уровня, дожидаемся пока Стохастик выйдет из зоны перепроданности и покупает. Стоп можно поставить за следующий уровень коррекции, а ТР разместить как минимум на недавнем максимуме, предшествующем началу отката.

Фибо уровни и осциллятор – лишь необходимый минимум, нужный для получения сигнала. При желании можно усложнить систему, введя дополнительные фильтры.

Стратегии на основе технического анализа

Если использоваться будет теханализ в чистом виде, то задача несколько упрощается, разрабатывать ТС с нуля уже не нужно. Есть ряд приемов и инструментов, эффективность которых проверена годами, а трейдеру остается только выбрать подходящие и использовать их при построениях.
В принципе, для успешной торговли достаточно:

  • трендовых линий – их строим на разных таймфреймах, начиная со старшего и постепенно опускаясь к рабочему;
  • Фибо уровней, их следует растягивать на значимые движения ценына истории. Ключевое значение будут иметь уровни коррекции 38,2, 50 и 61,8%, практика показывает, что коррекция чаще всего завершается как раз у этих отметок;
  • в МТ4 реализован и ряд других инструментов теханализа, например, вилы Эндрюса, набор инструментов Ганна, несколько видов каналов и т. д.

Но для достаточно верного прогноза хватит Фибо уровней и трендовый линий, зоны скоплений уровней и линий обычно выступают в роли поддержки/сопротивления. Торговля может вестись как на пробой, так и на отбой от уровней и линий.

Что касается дополнительных фильтров, то добавить можно свечные паттерны и какой-нибудь индикатор для поиска дивергенций (тот же Стохастик или MACD). Подробнее о применении теханализа можно прочесть .

Фильтры для торговых систем

Любая ТС, даже если идея рабочая и в целом торговля идет прибыльно, генерирует немало сигналов и часть из них убыточна. Уже после формирования правил системы можно использовать ряд универсальных фильтров, которые помогут подтянуть соотношение прибыльных/убыточных сделок.

Есть ряд фильтров, которые подойдут практически под любую стратегию:

  • ситуация на старших таймфреймах. Если, например, стратегия ведется на Н1 по механической стратегии, то не лишним будет взглянуть на то, что творится на Н4 и D1;
  • средний дневной диапазон, имеется ввиду расстояние, которое цена проходит в среднем за день, при внутридневной торговле это поможет отфильтровать ряд сигналов. Представим, что за день цена в среднем проходит 100-120 п, если в один из дней цена к вечеру уже прошла в одном направлении пунктов 90-100, а ТС дает сигнал на вход в рынок в том же направлении, то есть смысл его проигнорировать, статистика говорит, что движение в этот день вряд ли продолжится;

Важно ! Соблюдение этого правила приведет к тому, что часть прибыльных сделок будет упущена, зато повысится соотношение прибыльных/убыточных сделок.

  • значение имеет и количетво свечей после формирования сигнала, есть даже фильтр 5 свечей, на нем остановимся подробнее.

Когда ТС дает сигнал, то в идеале ситуация должна начать развиваться в нашу пользу практически сразу же после заключения сделки (имеется ввиду на следующих 1-3 свечах). Если этого не происходит, то чем больше прошло времени с момента заключения сделки, тем меньшее влияние на рынок окажут те факторы, которые имели значение, когда трейдер входил в рынок. Их влияние затухает со временем.

В качестве критерия можно принять 5 свечей, если после заключения сделки цена не ушла в прибыльную сторону на протяжении 5 свечей, то сделку лучше закрыть вручную. Имеется ввиду вариант развития событий, когда график остается на месте, если же цена ушла в убыточную сторону, то этот фильтр не применяется.

Это условие применимо практически ко всем таймфреймам (за исключением m1-m5). Конечно, сохраняется вероятность, что цена, потоптавшись около одной отметки, уйдет в нужную сторону, но наш выбор – стабильность. Лучше пожертвовать парой прибыльных сделок, зато избежать 3-5 убыточных.

Подведение итогов

Начинать работать без торговой системы смерти подобно, это должен запомнить каждый трейдер. Слив депозита в таком случае – всего лишь вопрос времени.

Выбрать подходящую ТС не составит труда, более того в свободном доступе можно найти неплохие рабочие системы. Можно озаботиться и созданием своей стратегии, тем более, что для этого не нужно знание языков программирования, достаточно лишь наличия идеи и хотя бы базовых знаний относительно того как рынок работает и какие индикаторы и для каких целей используются.

Сам процесс напоминает сбор конструктора – сперва ставим задачу, а потом просто подбираем нужные инструменты для ее решения. После проверки на истории можно переходить к тесту ТС на демо- или центовом счете.

В этой статье вряд ли я затрону нечто неизведанное. Все выкладки просты и понятны любому, кто знает, что такое Ajax. Я уже писал статью о том, как следует совмещать клиент с сервером в реал-тайм играх (). В данной статье я решаю те же самые проблемы применительно к пошаговым играм.

Итак, что такое пошаговая игра ? В википедии можно найти следующее определение пошаговой стратегии - это жанр компьютерных игр, основной особенностью которого является то, что игроки совершают ходы по очереди, в противоположность стратегии в реальном времени . Я бы немного упростил это определение:

  • Пошаговая стратегия - это стратегическая пошаговая игра .
  • Стратегическая игра - это жанр игр, в котором залогом достижения победы является планирование и стратегическое мышление .
  • Пошаговая игра - это жанр игр, основной особенностью которого является то, что игроки совершают ходы по очереди .
К пошаговым играм относятся:
  • Пошаговые стратегии
  • Карточные игры
  • Настольные игры (шахматы, го, монополия и пр.)
Замечу, что пошаговые игры накладывают меньше ограничений на сложность протокола взаимодействия по сравнению с реал-тайм играми. А именно, время реакции на то или иное событие ключевой роли не играет . Игроку обычно отводится от 10 секунд времени на принятие решения. Даже если пинг гигантский, скажем, 3 секунды, то игроку остается еще целых 7 секунд на раздумье. Кроме того, пинг может скакать и прыгать, а нас это совсем не волнует (в реал-тайм играх такая ситуация практически убивает любой протокол).

Обычно (в 95% пошаговых игр) в любой момент времени решение принимает ровно один игрок. Следовательно, сужается множество запросов, на которые мы должны адекватно реагировать.

Поэтому при создании протокола мы будем ориентироваться прежде всего на простоту его реализации и поддержки. Это позволит нам извлечь большую прибыль за меньшее время.

Приводимые рассуждения имеют под собой опору 2-месячной разработки некоторой карточной игры.

Умный или глупый клиент?

Для начала, давайте определимся, насколько "умным" может быть наш клиент. Я рассуждаю о том, стоит ли дублировать логику приложения (правила игры) на клиенте. Безусловно, сервер должен быть умным, чтобы предотвратить потенциальный взлом приложения. Но стоит ли обучать бизнес-логике клиент?

Это напрямую зависит от того, сколько весит полный объем данных о состоянии вашей игры. Если этот объем данных велик, долго собирается на сервере и передается клиенту, то имеет смысл часть логики реализовать на клиенте, чтобы разгрузить сервер. Например, в Civilization датчик используемой памяти всегда зашкаливает. Сможете ли вы создать нечто подобное, оставив на клиенте исключительно UI?

С другой стороны, чем умнее клиент, тем дороже обойдется разработка игры. Замечу, что от эрудиции клиента время разработки сервера никак не зависит. Пусть даже клиент супер-пупер-мега умный, если пользователь захочет перезагрузить окно браузера, то серверу прийдется собирать и компоновать все данные об игре для передачи их клиенту. А ля "Загрузка сохраненной игры". Вывод: умный клиент может ускорить работу приложения, но он всегда потребует дополнительных ресурсов для разработки приложения.

Предлагаю следующий тест :

1. Позволяет ли объем канала?

Оцените средний вес полного объема данных о состоянии игры. Далее, умножьте на среднее количество запросов к серверу в секунду. Если полученное число превысит объем исходящего канала передачи данных, то глупый клиент недопустим. Если это число превысит 20% исходящего канала, то стоит призадуматься, потянет ли?

2. Велика ли трудоемкость?

Оцените трудоемкость алгоритма сбора данных об игре (в долях секунды). Здесь же учтите все запросы к базе данных. Далее, умножьте на среднее количество запросов серверу в секунду. Если время превысит одну секунду, то глупый клиент недопустим. Если это число превысит 200 мс, то стоит призадуматься, потянет ли?

Продолжение:

theme_park:
IНам понадобиться:
спрайт здания
спрайт меню
спрайтЫ разнЫХ кнопОк таких как:
срайт с надписью(стройка, строительство, построить и т.д.)
окошко, которое будит появляться
рисунок со зданием,
1)остальное сами будим добавлять
2) слово подделочные-создал сам, т.к. нам понадобиться подделывать под свой исходник)
IIПриступим:
1)создаём всё что написано в пункте I кроме 1)
Создадим глобальную переменную под названием money, установите любое изначальное кол-во денег
Так же сделаем объект mouse & keyboard
Создаём текст назовём его info, сделаем событие always, в нём создаём action:
выбираем info в выборе действий выбираем set text в тексте пропишем вот это:
"money: " &(global("money".
2)добавим меню ,главной задачей меню: не мешать, а помогать игроку ориентироваться(как оно может мешать?-легко, если вы поставите его по середине игры);прежде чем сделать меню создадим новый layer, который назовём menu,в его пропорциях(настройках, опциях) в пункте display пропишем:


в нём добавим спрайт и возьмём изображение меню, которое было в предделочных материалах(пункт I) и поместим наше меню в укромное местечко где оно не будет мешать, но будет видимым на экране
поместим также кнопку из предделочных материалов(пункт I) с надписью СТРОИТЬ(или что-то в этом роде)
положим её на меню
теперь заходим в Event Sheet Editor
создаём событие(#бла-бла-бла#-это моё сообщение(пояснение) вам только вместо бла-бла-бла будет стоять мой комментарий для вас;>>-действие;ll-деление окошками например:

mouse&keyboard ll on object clicked ll left clicked to object #кнопка вашего меню с надписью СТРОИТЬ(или что-то в этом роде)##остальное потом (см. 3пункт)#
3)теперь Самое сложное (я разбил это на два пункта чтобы это не было столь за мудрено),
создаём спрайт из предделочных материалов "окошко, которое будит появляться"
потом создаём пустой спрайт под названием p1, окошко отодвинем за пределы экрана, а p1 поставим на место где должно появиться ваше окошко при нажатии кнопки строить(или что-то в этом роде ЧВЭР)
отлично!Теперь переходим в event sheet editor
пропишем не доделанное событие до конца:
Text ll set text ll bla-bla-bla)
mouse&keyboard ll on object clicked ll left clicked to object #кнопка вашего меню с надписью СТРОИТЬ(ли что-то в этом роде)#>>
4)Вторая часть самого сложного :
создадим спрайт спрайт где будет нарисовано изображение здания(предделочные материалы)назовём h1
создадим пустой спрайт, назовём p2, теперь поместим его на место где должно открыться окошко,
создадим спрайт-тоже окошко(предделочные материалы),в окошке красиво напишем название здания, его стоимость и описание(по желанию)назовём i1
создадим ещё один пустой спрайт, под названием р3, поместим его рядом с р2, только чтобы он касался р2 только верхним левым углом
теперь создадим несколько событий,но сначала до делаем прошлое событие одним новым действием:
mouse&keyboard ll on object clicked ll left clicked to object #кнопка вашего меню с надписью СТРОИТЬ(ли что-то в этом роде)#>> sistem ll create object relative to object ll #ваше окошко# #номер layer под именем menu# #X;Y-не меняем# to object p1
>>sistem ll create object relative to object ll #ваше второе окошко# #номер layer под именем menu# #X;Y-не меняем# to object p2
Нам надо ещё сделать обратно ему событие:
копируем событие и инвертируем
new event
mouse&keyboard ll is over object ll h1>>sistem ll creat object to relative to object ll i1 #номер layer под именем menu# #X;Y-не меняем# to object p3
Cделаем спрайт со зданием(пользуйся предделочными материалами)назовём house
Создадим окно где будут появляться наши здания при их выборе в меню назовём rlo
события:
mouse&keyboard ll on object clicked ll left clicked to h1>>sistem ll create to object relative to object ll house #номер layer под именем menu# #X;Y-не меняем# to object rlo
>> sistem ll subtract from value ll #кол-во денег которое должно отняться при строительстве#
теперь событие чтобы строить было нельзя
я вам расскажу мой бывший способ запрещения (когда закончу писать исследую ещё один способ, которому меня о синило когда я вспомнил игру theme park world)
события:
house ll on collision with another object ll to house
>>house ll destroy
>> sistem ll subtract from value ll - #удвоенное кол-во денег которое отнялось при строительстве##заметьте вы должны поставить - кол-во#
в принципе всё.
IIIчто хочу сказать:

Меня очень огорчил крах моей игры.Она была стратежка, и по её схеме составленна эта статья.Попрошу сильно не критиковать, писал долго,найдёте речевые ошибки пишите исправлю
а также вот исходник на растерзание,смлтрите, впринципе там всё так же как и тут написано только это была демонстративная версия игры.Главное ни чего не менять, а то за глючит!
пользуйтесь,экспериментируйте, проверяйте, делайте что хотите мне всё ровно

KaMiKaZa:
Все "системные" выражения нужно внести в тег "Код".
Тогда, думаю, лучше будет.
Ещё, мне кажется, скрины тут бы не помешали. А также исходник, для новичков.

theme_park:
я не умею делать скрины событий.

ну это не обязательно.

iamnp:
theme_park , есть спец кнопка на клаве - PrintScreen

theme_park:
я знаю просто некоторые по другому делают.Тем более у каждого свой спрайт
и если я понаставлю все эти спрайты мало кому будет понятно.
ну может кто плюсанёт? Не зря же я корячился?

burlachenko:
Что бы такой урок кого-то заинтересовал, его нужно соответственно оформить, а здесь "абы было".
И все таки если будет желание, по чуть чуть, когда будет время "прихорошите" его пожалуйста.

theme_park:
окей, приду со школы прохорошу.
ПС. добавил исходник

Serega Lebedev:

iamnp , а куда эти скрины потом деваются?

KaMiKaZa:

В буфер обмена.
Зайди в любой текстовый редактор, и выполни операцию "Вставить", либо нажми Ctrl+V.

Вашу компанию я считаю одной из самых сильных на рынке консалтинговых услуг в нашей стране. Мне нравится, что вы затрагиваете широкий диапазон управленческих проблем и освещаете их достаточно качественно и глубоко. В публикациях вашей компании я нахожу для себя много полезного, поскольку всегда интересно знакомиться с опытом профессионалов, учиться у них.

Борисюк Юрий Александрович, консультант по управлению, доктор технических наук

Мне очень нравится цикл мастер-классов, которые Вы ведете. Лично я, ранее являясь руководителем фабрики, начал менять свои подходы к управлению, в т.ч. благодаря информации получаемой от Вас. Она как-то отзывалась с тем, что я делал и наблюдал на фабрике. С тех пор у меня зародилась мысль как же малоэффективна промышленная способность России и как огромен потенциал и как это можно реализовать. Лично знакомясь с проблемами разных предприятий (иногда друзья приглашают как эксперта) я вижу, как многое можно сделать, как увеличить и результативность и эффективность.

Дрягин Олег Борисович

Да, мне нравятся Ваши мастер-классы, очень системный подход, владение материалом на высоком уровне и, безусловно, чувствуется большой практический опыт в тех вопросах, которые рассматриваются. Меня привлекает то, что профессионализм и высокий уровень профессионального владения предметом у Александра, позволяет мне по другому посмотреть на уже знакомые вещи. С моей точки зрения, это очень важно, и нужно, на известные тебе вещи взглянуть по новому, т.к. в процессе операционной работы очень часто глаз "замыливается" и ты перестаешь видеть, на самом деле, очевидные вещи.

Елена Федаш, Директор по персоналу, Корпорация "АТБ", г. Днепропетровск.

В продолжение темы:
Разное

Довольно часто в последнее время вместо того, чтобы сделать, к примеру, осциллограф из компьютера, многие предпочитают просто купить цифровой USB-осциллоскоп. Однако, пройдясь...

Новые статьи
/
Популярные