Среда, 27 Ноября 2024, 21:07

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Создание боя между персонажами?
FaraonДата: Вторник, 28 Мая 2013, 17:23 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Привет всем добрым и злым дядям. У меня такой вопрос, как можно сделать битву между персонажами в игре? (КОД не писать)
Просто объясните пожалуйста шаги создания боя,
Например формулу снятия жизни от атаки, и т.д. ...
Ну создал я в базе таблицу
Код
CREATE TABLE `users` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `username` varchar(50) NOT NULL,
   `login` varchar(50) NOT NULL,
   `password` varchar(64) NOT NULL,
   `life` INT DEFAULT 50,
   `atk` INT DEFAULT 7,
   `def` INT DEFAULT 5,
   `lov` INT DEFAULT 7,
   `lvl` INT DEFAULT 1,
   `exp` INT DEFAULT 0,
   PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=cp1251;

Что дальше далеть?
AssasinДата: Вторник, 28 Мая 2013, 23:13 | Сообщение # 2
web-coder
Сейчас нет на сайте
Бои бывают разными. Самые популярные: как в Карнаже (куда бить, что защищать), как в Ботве (бой происходит автоматически, игрок только результат видит). О каком ты говоришь?
Yashko3Дата: Вторник, 28 Мая 2013, 23:27 | Сообщение # 3
Господин Ведущий
Сейчас нет на сайте
Если брать за основу твою БД, то вначале хода проверять ХП игрока. Если меньше 0, то герой умер.
Если больше 0 - то отнимаем от хп атаку противника, и проверяем на след. раунд снова.

Если еще использовать защиту, то тогда УРОН=atk-def





старый профиль
php <3
FaraonДата: Среда, 29 Мая 2013, 00:07 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Цитата (Assasin)
О каком ты говоришь?

О том что Yashko3 написал.
Yashko3 и все??! спасибо smile
Думал что нужно по специальной формуле подсчитывать, а оказалось совсем просто)
TreeLoysДата: Четверг, 30 Мая 2013, 17:27 | Сообщение # 5
частый гость
Сейчас нет на сайте
Можно ввести рандом, что б было более реалистично =)

http://kfni.ho.ua/ - мой сайт по урокам SFML
FaraonДата: Четверг, 22 Августа 2013, 22:18 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Привет,
Помогите мне пожалуйста.
Хочу создать бой между игроками но не знаю как это можно сделать?
Я не говорю мне написать готовый код, в интернете я искал но последовательной инструкции я не нашел, нашел уже готовый код html + JavaScript для боя, но готового мне не нужно! Если Вам не трудно объясните мне схему боя, какой функционал нужно написать? Простенький бой HP = ataka-def
Я видел что такие темы уже есть, но последовательной инструкции нет!
Заранее спасибо!
TreeLoysДата: Пятница, 23 Августа 2013, 12:59 | Сообщение # 7
частый гость
Сейчас нет на сайте
Зайди и поиграй в игры) Пойми принцип, запиши на бумагу что и за чем идет и как можно его воссоздать. Любую, повторяюсь ЛЮБУЮ игру можно повторить! Если рhр то тебе в помощь мускул и вперед! Сначало напиши на бумаге, если это арена то создай поиск, например нажал игрок на поиск, обработчик должен отсеять всех игроков определенного лвла провести рандомный выбор игрока и его показать, потом игрок начинает бить игрока и происходит рандом: высчитывается какой силы будет атака, будет ли крит, если есть ловкость просчитать будет ли попадение, потом просчитывается защита, если урон меньше защиты сможет противник поставить блок, если выше сколько урона поглотят щиты или будет максимальный урон, после победы выдать награду, поражение - забрать. В помощь функция rand(); операторы -,+, >,<,=,/,*. Ну и переменные и что-нибуть для вывода, эхо принт) ах да, забыл про mysql там только запросы на создание, обновления и сортировки, удачи.

Добавлено (23.08.2013, 12:59)
---------------------------------------------
В общем основы пыха и мускула!

Добавлено (23.08.2013, 12:59)
---------------------------------------------
В общем основы пыха и мускула!


http://kfni.ho.ua/ - мой сайт по урокам SFML
akyl91Дата: Пятница, 23 Августа 2013, 13:12 | Сообщение # 8
участник
Сейчас нет на сайте
А если посреди боя один из игроков вышел из игры?
Как отслеживать он-лайн?


Вы не говорите ЧТО мне делать,
Я не говорю Вам КУДА пойти.
FaraonДата: Пятница, 23 Августа 2013, 15:23 | Сообщение # 9
почетный гость
Сейчас нет на сайте
Цитата (GalakTozawr)
Зайди и поиграй в игры) Пойми принцип, запиши на бумагу что и за чем идет и как можно его воссоздать. Любую, повторяюсь ЛЮБУЮ игру можно повторить! Если рhр то тебе в помощь мускул и вперед! Сначало напиши на бумаге, если это арена то создай поиск, например нажал игрок на поиск, обработчик должен отсеять всех игроков определенного лвла провести рандомный выбор игрока и его показать, потом игрок начинает бить игрока и происходит рандом: высчитывается какой силы будет атака, будет ли крит, если есть ловкость просчитать будет ли попадение, потом просчитывается защита, если урон меньше защиты сможет противник поставить блок, если выше сколько урона поглотят щиты или будет максимальный урон, после победы выдать награду, поражение - забрать. В помощь функция rand(); операторы -,+, >,<,=,/,*. Ну и переменные и что-нибуть для вывода, эхо принт) ах да, забыл про mysql там только запросы на создание, обновления и сортировки, удачи.

Спасибо! Но я не об этом)
Я имею в виду ... расскажите шаги создания боя между игроками!
например:
1) создать в беге таблицу ... и полями .... поле .... отвечает за ...
2) Если бой начинаеться то обновляет значение поля что в таблице!
3) и так далее ...
Сначала мне нужно создать простенький бой, чтобы понять принцип боя!
урон = защита - атака
TreeLoysДата: Пятница, 23 Августа 2013, 16:38 | Сообщение # 10
частый гость
Сейчас нет на сайте
Я с телдфона, расписать сильно не могу. Ну тут же елементарно: достаем все значения в переменные для боя, потом отнимаем переменную: // Достаем значения переменных $healt, $damage, $attacs.
$damage = $protect - $attacs;
$healt = $healt - $damage;
//обновляем значение hр в БД
$echo "Вы нанесли $damage урона себе";


http://kfni.ho.ua/ - мой сайт по урокам SFML
FaraonДата: Пятница, 23 Августа 2013, 16:52 | Сообщение # 11
почетный гость
Сейчас нет на сайте
м... спасибо! Я наверное не правильно сформулировал мысли!
Если вкратце то мне нужно:
Как сделать подачу заявки на бой? Например user 1 нажимает на кнопку user'a 2, после чего user'u 2 выбивает табличка что его вызывают на бой и кнопки принять/отклонить. ???
TreeLoysДата: Пятница, 23 Августа 2013, 18:24 | Сообщение # 12
частый гость
Сейчас нет на сайте
Ну так сделать что бы при каждом переходе из БД запрашивалось поле активен_ли_вызов. Если нет то ничего не делаем, если да то запрашиваем имя игрока и сколько осталось до окончания вызова. Поля: имя_напавшего_игрока, время_окончания_вызова, активен_ли_вызов. При нападении проверяем можно ли напасть на игрока, если да то обновляем в профиле игрока поля выше.

http://kfni.ho.ua/ - мой сайт по урокам SFML
HerrPotapovДата: Пятница, 23 Августа 2013, 18:27 | Сообщение # 13
заслуженный участник
Сейчас нет на сайте
Faraon, покажи что сделал в этом направлении ты сам.

Discord: alpotapov#1741

Интервью с разработчиком WarCastle - Читаем и вникаем!
TreeLoysДата: Пятница, 23 Августа 2013, 18:28 | Сообщение # 14
частый гость
Сейчас нет на сайте
Да кстати)

http://kfni.ho.ua/ - мой сайт по урокам SFML
FaraonДата: Пятница, 23 Августа 2013, 18:40 | Сообщение # 15
почетный гость
Сейчас нет на сайте
Цитата (HerrPotapov)
Faraon, покажи что сделал в этом направлении ты сам.

немного, делаю пробной бой с ботом! то есть выбираешь атаку и нажимаешь кнопку!
Показывать нет смысла так как ето совсем не относиться к тому что нужно подсказать!
А подсказать нужно как сделать отправку заявки пользователю я не знаю!
HerrPotapov - ты знаешь мои знания, подскажи мне решение проблемы пожалуйста!
Как передается сообщения на клиенте?
TreeLoysДата: Пятница, 23 Августа 2013, 18:44 | Сообщение # 16
частый гость
Сейчас нет на сайте
Я же тебе написал, только до ума доведи! Там даже упростить можно!

http://kfni.ho.ua/ - мой сайт по урокам SFML
HerrPotapovДата: Пятница, 23 Августа 2013, 20:48 | Сообщение # 17
заслуженный участник
Сейчас нет на сайте
Faraon, уровень твоих знаний я представляю, работать за тебя я не хочу, а алгоритм решения таких вопросов я тебе подсказал в какой-то прошлой теме.
Просил что-то показать по очень простой причине - ты ничего не делаешь и ждешь, что за тебя все сделают другие.


Discord: alpotapov#1741

Интервью с разработчиком WarCastle - Читаем и вникаем!
FaraonДата: Пятница, 23 Августа 2013, 21:05 | Сообщение # 18
почетный гость
Сейчас нет на сайте
Цитата (HerrPotapov)
ты ничего не делаешь и ждешь, что за тебя все сделают другие.

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

Добавлено (23.08.2013, 21:05)
---------------------------------------------

Цитата (GalakTozawr)
Я же тебе написал, только до ума доведи! Там даже упростить можно!

Да, я видел
Цитата
Ну так сделать что бы при каждом переходе из БД запрашивалось поле активен_ли_вызов. Если нет то ничего не делаем, если да то запрашиваем имя игрока и сколько осталось до окончания вызова. Поля: имя_напавшего_игрока, время_окончания_вызова, активен_ли_вызов. При нападении проверяем можно ли напасть на игрока, если да то обновляем в профиле игрока поля выше.

если я не ошибаюсь то ето чтоб принять вызов а как отправить другому пользователю ?
TreeLoysДата: Пятница, 23 Августа 2013, 22:37 | Сообщение # 19
частый гость
Сейчас нет на сайте
[qoute]При нападении проверяем можно ли напасть
на противника, если да то обновляем в профиле
противника поля выше.[/qoute] Очепятка там! То есть находим противника, нажимаем напасть, если можно напасть обнавляем поля выше, пишем в них свой логин, дату нападения, и что вызов активен. Все, ждем. Вто время противник смотрит что на него напал кто-то и нажимает принять/отклонить. Если принял переносим его на арену, ждем напавшего. Теперь мне приходит ссылка на арену, я туда вхожу и начинается рубилово! Как сделать рубилово я уже писал. Ах да, еще в таблицу надо добавить поле принял_вызов думаю догадываетесь зачем?


http://kfni.ho.ua/ - мой сайт по урокам SFML

Сообщение отредактировал GalakTozawr - Пятница, 23 Августа 2013, 22:55
FaraonДата: Среда, 02 Октября 2013, 00:37 | Сообщение # 20
почетный гость
Сейчас нет на сайте
Хочу уточнить все ли ко мне дошло правильно?
Создание боя между игроками:
Нужно сделать:
1. Создать таблицу с полями:
1) Не находится ли игрок в бою?
2) присылали ему заявку на бой?
3) сделал игрок ход или нет?
2. Один логин мы получаем с сессии а другой с GET запросу
3. Выводим характеристику персонажа который нападает и на которого нападают! (жизнь, сила, скорость ...)
4. Добавляем кнопку на страницу "atak"
Цитата
if(isset($_GET[atak])){

$sreqt = mysql_query("UPDATE users SET batlgo='go' WHERE login='$aNickName' "); // обновляєм значення гравця 1 що він зробив хід
$swrqt = mysql_query("UPDATE users SET batlgo=''go WHERE login='$a2NickName' ");// обновляєм значення гравця 2 що він зробив хід
if ($batlgo1 and $batlgo2 == "go") { //$batlgo1 і $batlgo2 якщо два гравця зробити хід то віднімаємо урон
$aHP = $aHP - $а2Strength ; // від життя першого гравця віднімається силу другого
$sqt = mysql_query("UPDATE users SET HP=$aHP WHERE login='$aNickName' "); // оновлюємо життя першого гравця
$a2HP = $a2HP - $аStrength ; // від життя другого гравця віднімається силу першого
$sqtу = mysql_query("UPDATE users SET HP=$a2HP WHERE login='$a2NickName' "); оновлюємо життя другого гравця
}
else
{}

}

Игрок может вызвать на бой другого с помощью ссылки
Цитата
../include/map.php?(нік персонажа якго викликають на бій)

когда игрок нажмет на эту ссылку то игроку 2 обновится значение поля battl что есть в таблице battle что его вызывают на бой и выведется сылка!
Да?
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг