Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Изменение значения переменной со временем.
 
 автор: Trunk   (26.05.2005 в 21:32)   письмо автору
 
 

Вот у меня есть переменная, скажем $hp. Она имела, к примеру, значение 500. После некоего действия с ней, она стала равной 0. Надо сделать, чтобы она за 10 минут стала опять равной 500. Тоесть на 5 минутах должна быть равной 250, на 2,5 минутах 125, вообщем плавно. Эта переменная не должна быть дробной!
Внимание вопрос: как это сделать?

И ещё. Мы, повторюсь, делаем игру. Так вот - с помощью чего надо проверять в игре ли пользователь или нет? Я думаю можно заносить в базу время последнего действия (отправка сообщения в чате, переход куда-то и т.д) и сравнивать с текущем временем. Вот только как это сравнивать я не знаю! Подскажите пожалуйста!

   
 
 автор: Flash5   (26.05.2005 в 22:45)   письмо автору
 
   для: Trunk   (26.05.2005 в 21:32)
 

А где хранится значение переменной? В базе данных или в файле? Или в массиве GLOBALS?
Вы правы, на клиентской машине работает JavaScript который каждые N секунд отсылает запрос серверу (открывает ссылку например)

   
 
 автор: TrunK   (27.05.2005 в 08:49)   письмо автору
 
   для: Flash5   (26.05.2005 в 22:45)
 

Переменная хранится в БД. И ещё надо, чтобы она восстанавливалась независимо от пользователя!

   
 
 автор: Loki   (27.05.2005 в 09:43)   письмо автору
 
   для: TrunK   (27.05.2005 в 08:49)
 

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

   
 
 автор: TrunK   (27.05.2005 в 15:03)   письмо автору
 
   для: Loki   (27.05.2005 в 09:43)
 

Да нет же... Эта переменная - есть жизни персонажа. Ну вообщем как во многих рпг. Вот у вас есть 1 жизнь из 500 возможных. К примеру за 3 секунды должен восстановится 1 % жизней (от 500). Как это сделать???

   
 
 автор: Loki   (27.05.2005 в 15:30)   письмо автору
 
   для: TrunK   (27.05.2005 в 15:03)
 

Так а чем мой вариант не устраивает?
Есть персонаж. Для простоты пусть у него будет 3 параметра: id (имя), здоровье, время последнего удара.
Предположим, персонаж получил удар, который отнял 250 единиц здоровья. При следующем обращении к этому персонажу (причем, обращении как самим игроком, так и его противником), вычисляем его здоровье:
здоровье_текущее=(здоровье(после последнего удара)+(текущее время-время последнего удара)/3)
Если он получает очередной удар, то записываем в базу здоровье=здоровье_текущее-сила удара и дату удара.
Я, к сожалению, от игр совсем далек, так что фантазирую только из тех данных что вы сами предоставили:)

   
 
 автор: Flash5   (27.05.2005 в 16:10)   письмо автору
 
   для: Trunk   (26.05.2005 в 21:32)
 

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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования