RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2424270 views

В начале локации пишу: $counter=‘COUNTER’
Создаю локацию “COUNTER” , в ней пишу gs “time” , создаю локацию “TIME” , в ней пишу код:

time=time+1 
if time=60:hour=hour+1&time=0 
if hour=24:day=day+1&hour=0 
if day=30:month=month+1&day=0 
if month=12:year=year+1&month=0

Потом создал локацию “новая_локация” в ней пишу : *p ‘Дата: ‘+str(day)+’ День ‘+str(month)+’ месяца’+str(year) +’Года’ ,вобщем тема в том что когда я должен зайти в магазин,то у меня должно прибавиться время,и я пишу в локации “магазин” : day=day+5000(это я просто к примеру),и после этого у меня получается вот что:*p ‘Дата:5000 День 1 месяца 1 Года’
Почему у меня прибавляются только дни?..по идеи же должен прибаляться и месяц..Помогите разобраться с этим!!Заранее спасибо=)

asasas,
У тебя проверка идет на точное сравнение (=60, =24, =30, =12), а нужно учитывать вариант и больше.
то есть (для дней):

:day_loop
if day>30:
    month=month+1
    day=day-30
    jump 'day_loop'
end

Вот тогда будут обрабатываться бешеные скачки во времени вперед.

P.S. есть другой вариант: без цикла, но через деление нацело и вычисление остатков.

Ntropy,
я что то непонял код!
можно как ниудь попонятнее,я не больно во всём разбераюсь..

Dark[Ol(U23)leneri] #34 20.07.2010 12:43 (15 years ago)

Объясняю понятнее:
:loop начало цикла
if day>30: если переменная “день” больше 30, то
month=month+1 установить значение переменной “месяц” равным предыдущему значению плюс 1
day=day-30 установить значение переменной “день” равным предыдущему значению минус 30
jump ‘day_loop’ завершение цикла
end конец многострочного условия

Спасибо большое!всё понял=)

Dark[Ol(U23)leneri] #34 20.07.2010 13:30 (15 years ago)

Вообще… умные люди сделали бы через 1 единственную переменную

asasas,
эта тема уже обсуждалась, я все подробно расписал и даже выложил соотв. код
см. как сделать часы

Dark[Ol(U23)leneri] #34 20.07.2010 15:43 (15 years ago)

оффтоп конечно, но Nex, Вы забываете одну важную вещь…

Dark,
напомни. Если оффтоп, давай в другую тему.

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

=NOSgod=,
В самом низу есть ссылка FAQ по которой уже даны ответы на многие вопросы.

Спасибо за предыдущий ответ, еще два вопроса:!
1.Можно ли сделать проверку на наличие предмета, не создавая для каждого предмета переменную?
2.Этот вопрос уже более сложный:
В моей боевой системе существует такой параметр как дистанция до врага. Сделать бой один на один не проблема, но при появлении большего кол-ва врагов (в идеале не ограниченного) переменная “дистанция” нужна для каждого врага. Присвоить каждой переменной свое значение не проблема (x=x+1 Дистанция[x] x=x+1),но вот как с ними работать?

Gildmaster,
1.

IF OBJ "Камень":
   ACT "Бросить камень":
      GT "бросаем_камень"
   END
END

2. Не совсем понял вопрос: “как с ними работать?”.

Ntropy,
Спасибо. Поясняю насчет второго вопроса.
Игровая ситуация. На западе и на востоке стоит по противнику. До каждого из них к примеру расстояние 10. Главный герой двигается на запад, чем увеличивает расстояние до одного противника и уменьшает расстояние до другого. Если бы конечно название переменных было статично проблем не было. Но название переменных генерируется в зависимости от количества врагов. Как я могу использовать их в арифметических действиях?

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

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

Log in or Register to post comments.