Как сделать?
…
Spoiler
clr
!Время
день = время / (24*60)
hour = (время - день*24*60) / 60
minutes = время - hour*60 - день*24*60
years = день/360
year1 = years + 1
monthes = (день - yearS*360)/30
month = monthes + 1
numbers = день - years*360 - monthes*30
number = numbers + 1
weekday = день/7
неделя = день - weekday*7 + 1
year = year1 + 2014
Spoiler
И еще… вот с этой штукой разобрался, работает. Только как можно зациклить этот момент. Т.е. чтобы нужное действие происходило каждый день (поход на работу).
Ввожу новую переменную рабочий_день = 1 при поступлении на работу
обнуляю ее при прохождении работы
где прописать возврат значения 1?
! Если меч ещё не ковали,
IF меч_куётся = 0:
меч_куётся = 1
деньги = деньги - 1500
! Засекаем время первого визита, в днях (в какой день пришёл).
пришёл_в_первый_раз = время/(24*60)
‘Кузнец почесал бороду и говорит: - Будет тебе меч. Приходи завтра.’
END
! При следующем визите, проверяем, что меч куётся, и что наступил следующий день.
сегодняшний_день = время/(24*60)
IF (меч_куётся = 1) AND (сегодняшний_день - пришёл_в_первый_раз >= 1) AND (меч_получил = 0):
меч_получил = 1
! Наступил следующий день.
‘Кузнец увидел тебя, усмехнулся и кивком показал на стол. Прекрасный клинок. То, что нужно!’
ADDOBJ ‘меч’
END
kosmosnash,
полностью приведи код. Тот кусок, что ты показал, сам по себе 100% рабочий, я его проверил. Ошибка где-то в другом месте.
зациклить этот момент. Т.е. чтобы нужное действие происходило каждый день (поход на работу).
Ввожу новую переменную рабочий_день = 1 при поступлении на работу
обнуляю ее при прохождении работы
где прописать возврат значения 1?
Ничего не понял. Объясни, что ты пытаешься сделать в игре, как это должно выглядеть с точки зрения игрока. Без понятий программирования типа “переменная”, “значение”, “локация”, и т.п.
Nex:
kosmosnash,
полностью приведи код. Тот кусок, что ты показал, сам по себе 100% рабочий, я его проверил. Ошибка где-то в другом месте.
Spoiler
clr
!Время
день = время / (24*60)
hour = (время - день*24*60) / 60
minutes = время - hour*60 - день*24*60
years = день/360
year1 = years + 1
monthes = (день - yearS*360)/30
month = monthes + 1
numbers = день - years*360 - monthes*30
number = numbers + 1
weekday = день/7
неделя = день - weekday*7 + 1
year = year1 + 2014
if неделя = 1: $неделя = ‘Понедельник’
if неделя = 2: $неделя = ‘Вторник’
if неделя = 3: $неделя = ‘Среда’
if неделя = 4: $неделя = ‘Четверг’
if неделя = 5: $неделя = ‘Пятница’
if неделя = 6: $неделя = ‘Суббота’
if неделя = 7: $неделя = ‘Воскресенье’
!Месяца
If month = 1: $month = ’01’
If month = 2: $month = ’02’
If month = 3: $month = ’03’
If month = 4: $month = ’04’
If month = 5: $month = ’05’
If month = 6: $month = ’06’
If month = 7: $month = ’07’
If month = 8: $month = ’08’
If month = 9: $month = ’09’
If month = 10: $month = ’10’
If month = 11: $month = ’11’
If month = 12: $month = ’12’
clr
p ‘<center>’
p ‘<table cellpadding=10 cellspacing=0 border=1>’
p ‘<tr><td><center><img src=“pic/clock.png”></center></td>’
p ‘<td><center><img src=“pic/kalendar.png”></center></td>’
p ‘<td><center><img src=“pic/koshelek.png”></center></td></tr>’
if minutes >= 0 and minutes < 10:
p ‘<tr><td><center><b><<hour>>.0<<minutes>></b></center></td>’
else
p ‘<tr><td><center><b><<hour>>.<<minutes>></b></center></td>’
end
if number < 10:
p ‘<td><center><b>0<<number>>.<<$month>>.<<year>>
<<$неделя>></b></center></td>’
else
p ‘<td><center><b><<number>>.<<$month>>.<<year>>
<<$неделя>></b></center></td>’
end
p ‘<td><center><b><<money>>$</b></center></td></tr>’
p ‘</table>’
p ‘</center>’
Ничего не понял. Объясни, что ты пытаешься сделать в игре, как это должно выглядеть с точки зрения игрока. Без понятий программирования типа “переменная”, “значение”, “локация”, и т.п.
В этом случае мы хотим выковать меч. У нас его нет, мы идем и заказываем его, через день приходим, он уже готов.
А тут я хочу изготовить например стрелы, они мне нужны постоянно. Мастер делает их по 10 штук в день. Я прихожу к нему каждый день, забираю стрелы
Кажись, заработал календарь. Ничего не правил. Просто в другом плеере запустил. Даже не знаю… :P
я хочу изготовить например стрелы, они мне нужны постоянно. Мастер делает их по 10 штук в день. Я прихожу к нему каждый день, забираю стрелы
IF день_взял_стрелы < дни_со_старта_игры:
день_взял_стрелы = дни_со_старта_игры
'"Держи свои стрелы". Кузнец дал мне 10 стрел.'
стрелы = стрелы + 10
ELSE
'Ты уже взял все стрелы. Новые будут завтра.'
END
Благодарю!))
Я тут всех достал, наверно, но все-таки еще вопросик.
Вот я в игре оплачиваю интернет. Мне нужно сделать, чтобы оплаты хватало на неделю, т.е. 7 дней с момента подключения. Но при такой системе времени, получается, что оплаты хватает аккурат до понедельника, потом сбрасыватся. Как сделать, чтобы интернет подключался на 7 дней, а не до конца недели? Привожу код
Spoiler
!тут я оплачиваю
gs ‘stat’
‘<center><font color=blue><b>Отделение почты</b></font></center>’
‘<center><img src=“pic/park/post.jpg”></center>’
act ‘Оплатить интернет’:
cla
‘<i>- Добрый день. Я бы хотел оплатить неделю интернета.
- Конечно. С вас 100$</i>’
act ‘Оплатить’:
время_интернета = день / 7
money -= 100
gt $curloc
gs ‘stat’
end
act ‘Отойти’: gt $curloc
end
act ‘Выйти’:
время = время - 15
gs ‘stat’
gt ‘skver’
end
Spoiler
!тут я подключаю интернет
‘<center><img src=“pic/shop/notebook.png”></center>’
время_сейчас = день / 7
act ‘Подключиться к интернету’:
*clr
‘<center><img src=“pic/shop/notebook_1.png”></center>’
cla
act ‘Подключение…’:
cla
if время_сейчас - время_интернета < 1:
internet = 1
*clr
‘<center><img src=“pic/shop/notebook_2.png”></center>’
‘<center>Интернет подключен!</center>’
else
*clr
‘<center><img src=“pic/shop/notebook_3.png”></center>’
‘<center>Не удалось подключиться к сети Интернет.</center>’
end
act ‘Назад’: gt $curloc
end
end
1.
время_интернета = день / 7
нужно заменить на
время_интернета = день
2.
время_сейчас = день / 7
нужно заменить на
время_сейчас = день
3.
if время_сейчас - время_интернета < 1:
нужно заменить на
if время_сейчас - время_интернета < 7:
Добрый день. Я ковыряю свою первую игру с нулевыми навыками в программировании и прочтением 7-ми уроков с выполнением заданий, поэтому вопрос может быть “дурацкий”, вы уж извините. Пытаюсь сделать боевку, используя простые действия и условия. Вот пример:
IF Жизнь_Минотавра = 100:
Жизнь_минотавра = Жизнь_минотавра - 50
PL “Ты с ловкостью дикого хищника бросаешься на минотавра и пронзаешь его мечем. Еще один удар и враг повержен ”
ELSE
Жизнь = Жизнь - 20
PL “Минотавр сильный и коварный противник. Он легко уклоняется от удара и наносит свой.”
GOTO $CURLOC
END
Код от чего-то не работает, то есть текст появляется, а жизнь минотавра не убавляется. Подскажите, что я не так делаю, пожалуйста.
А на этой локации есть отсылка к локе со статами через gs?
Обычно это выглядит как gs ‘stat’
kosmosnash,
Нет, если я правильно понял вопрос. Код локации выглядит так:
“Ваша жизнь: <<Жизнь>>”
“Жизнь минотавра: <<Жизнь_минотавра>>”
IF Жизнь < 0:
GOTO “Смерть_от_минотавра_в_бою”
END
IF Жизнь_минотавра < 0:
GOTO “Победа_над_минотавром”
END
Можно подробнее что такое “отсылка к локе со статами через gs” я чей-то совсем чайник видать…
Это код той локации, на которой и битва происходит?
Дайте код полностью
Это полностью…. Параметр “Жизнь” и “Жизнь_минотавра” прописаны в стартовой локации
В общем, команда goto, или gt осуществляет переход на другую или на ту же самую локацию. А есть команда gs. Она позволяет “заглянуть” в другую локацию, но оставаться на той же, что и были.
Попробуйте создать локацию (обычно ее называют stat, и пропишите там
*p ‘Ваша жизнь: <<Жизнь>>’
*p ‘Жизнь минотавра: <<Жизнь_минотавра>>’
А в локацию с боем добавьте:
IF Жизнь_Минотавра = 100:
‘Жизнь_минотавра -= 50’
gs ‘stat’
PL “Ты с ловкостью дикого хищника бросаешься на минотавра и пронзаешь его мечем. Еще один удар и враг повержен ”
ELSE
Жизнь -= 20
gs ‘stat’
PL “Минотавр сильный и коварный противник. Он легко уклоняется от удара и наносит свой.”
GOTO $CURLOC
END
т.е. всегда, когда нужно обновить статы, ссылайтесь на эту локацию. Так удобнее всего
Спасибо
kosmosnash,
Правильно я понимаю, что эта строчка
IF Жизнь_Минотавра = 100:
‘Жизнь_минотавра -= 50’
Значат что при этом действии значению “Жизнь_минотавра” будет присвоено значение 50, а не вычисляться формулой Жизнь_минотавра - 50?