| {Помогите мне с Браузерной игрой} | 
|  | 
| 
| DeadDay | Дата: Суббота, 12 Октября 2013, 20:00 | Сообщение # 1 |  |   New game Studio Сейчас нет на сайте | Всем привет! 
 Издалека:
 
 Я нет уж и давно занимаюсь игростроем. Хотя им и нельзя назвать, так как учу и практикую HTML и CSS. Для простоты и удобства работаю в Macromedia Dreamweaver 8. Хотя многие меня отговаривают от него, яко бы: «Пиши в обычных редакторах». Мне удобнее работать в Dreamweaver, быстро и удобно. А язык вёрстки я и так учу.
 
 Теперь начал учить язык программирования PHP. Пока мне он нравиться. Для примера уже сделал калькулятор с не сколькими возможностями. И так по не многу.
 
 Задумал сделать игру. Посмотрел практически все движки и конструкторы. Много что понравилось. Но брать я их не хочу, так как не уверен, что смогу, что - то на них сделать. Поэтому задумал проект, Браузерную MMORPG. Не смотрите, на то, что MMORPG. Я хочу сделать очень простую кликабельную игру. На чистом PHP.
 
 Так как я начинающий, прошу мне немного уделить время и терпения. Хочу, конечно же, всё сделать сам, но пока это не реально. Потому что я ещё ученик.
 
 Об игре:
 
 Первое что я хочу сделать – это арену. Для сражения.
 Второе – это задание. Статичные. Выполнил, получил награду, начинай заново. ( Пример: Убейте 10 врагов.)
 
 Пока всё. Да это то, что я хочу сделать на первых парах.
 
 Как я думаю:
 
 Второе действие, я ещё как то представляю, как сделать. А вот первое нет. Что должно быть в арене?
 
 Арена простая. Противник, кнопка удара и всё.
 
 1.	Для начало мне надо вывести все характеристики персонажа и врага.
 2.	Сделать не большую вёрстку, расположить все элементы.
 3.	Сам скрипт:
 
 Попробую описать:
 
 1.	При нажатии на кнопку, мы передаём значения в формулу, методом POST или GET.
 2.	Формула рассчитывает, и получаем результат.
 3.	Функцией UPDATE обновляем Базу Данных с таблицей “users”.
 4.	Берём данные награды из таблицы “enemy”.
 5.	И собственно выводим на экран эти данные.
 
 Вот как то так. Если я в чём - то ошибаюсь, поправьте меня не много! Код мне не нужен вообще. Не хочу копировать, ни чему не научусь. Можно так же расписать.
 
 Заранее спасибо!!!!
 
 
   New Games Studio
 ---------------------------------------------------------------------------------------
 Проекты:
 DeadDay - Online
 --- Мертвый день: Выживание
 |  |  |  |  | 
| 
| HerrPotapov | Дата: Суббота, 12 Октября 2013, 23:34 | Сообщение # 2 |  | заслуженный участник Сейчас нет на сайте | Я бы тебе предложил зарегистрироваться на github.com, создать репозиторий (публичный) и загружать весь свой код туда. Два плюса этого подхода:
 1. учишься работать с система контроля версий
 2. люди могут смотреть твой код и давать свои советы.
 
 А по поводу сообщения - как насчет пойти и просто попытаться это сделать, а если не получится - спрашивать совета?
 
 Discord: alpotapov#1741
 
 Интервью с разработчиком WarCastle - Читаем и вникаем!
 
 
 Сообщение отредактировал HerrPotapov - Суббота, 12 Октября 2013, 23:35 |  |  |  |  | 
| 
| DeadDay | Дата: Воскресенье, 13 Октября 2013, 08:30 | Сообщение # 3 |  |   New game Studio Сейчас нет на сайте | HerrPotapov, А вот по тем пунктам? Я хотя бы правильно думаю!? 
 
   New Games Studio
 ---------------------------------------------------------------------------------------
 Проекты:
 DeadDay - Online
 --- Мертвый день: Выживание
 |  |  |  |  | 
| 
| e-lena | Дата: Воскресенье, 13 Октября 2013, 10:38 | Сообщение # 4 |  |   был не раз Сейчас нет на сайте | DeadDay, до того как сделаешь арену, нужно сделать регистрацию игроков с заполнением профиля. Если это не вызывает у тебя затруднений то и арена не вызовет. В PHP везде одно и тоже:
 отображение страницы -> действие пользователя -> получение сервером GET/POST запроса -> отображение страницы и т.д.
 Удачи тебе в проекте, буду с интересом следить за развитием.
 
 миру мир
 |  |  |  |  | 
| 
| DeadDay | Дата: Воскресенье, 13 Октября 2013, 11:04 | Сообщение # 5 |  |   New game Studio Сейчас нет на сайте | Нет это уже есть. Сделал самую простую регистрацию. Характеристики все есть. Вот по этому и перешел на арену. 
 
   New Games Studio
 ---------------------------------------------------------------------------------------
 Проекты:
 DeadDay - Online
 --- Мертвый день: Выживание
 |  |  |  |  | 
| 
| Assasin | Дата: Воскресенье, 13 Октября 2013, 20:26 | Сообщение # 6 |  |   web-coder Сейчас нет на сайте | Какого типа бои будут. Игрок нажал "Сражаться" и сразу получает лог боя или же оба игрока сидят и жмут куда ударить и что защитить? |  |  |  |  | 
| 
| DeadDay | Дата: Воскресенье, 13 Октября 2013, 21:23 | Сообщение # 7 |  |   New game Studio Сейчас нет на сайте | Нет бой с ботом. Что то типа, да нажал расчитал через цикл. Пока кто ни будь нк умер. Это как бы автобой. Но думаю по этому же принципу сделаю по ударному, в голову, в тело, в ноги. Если можешь помоги. Только не кодом, а вот как я расписал в первом посте.
 
 
   New Games Studio
 ---------------------------------------------------------------------------------------
 Проекты:
 DeadDay - Online
 --- Мертвый день: Выживание
 |  |  |  |  | 
| 
| e-lena | Дата: Понедельник, 14 Октября 2013, 00:04 | Сообщение # 8 |  |   был не раз Сейчас нет на сайте | DeadDay Напиши лаконично словами, какой бой тебе нужен. Сейчас совсем не понятно что тебе нужно.
 
 миру мир
 |  |  |  |  | 
| 
| DeadDay | Дата: Понедельник, 14 Октября 2013, 09:27 | Сообщение # 9 |  |   New game Studio Сейчас нет на сайте | Есть кнопка, нажал, вывелся результат. 
 
   New Games Studio
 ---------------------------------------------------------------------------------------
 Проекты:
 DeadDay - Online
 --- Мертвый день: Выживание
 |  |  |  |  | 
| 
| e-lena | Дата: Понедельник, 14 Октября 2013, 09:38 | Сообщение # 10 |  |   был не раз Сейчас нет на сайте | Цитата DeadDay (  ) Есть кнопка, нажал, вывелся результат. Тогда проще некуда, при нажатии на кнопку:
 1. Получение сервером данных о начале боя
 2. Расчет боя
 3. Запись результата в БД
 4. Отображение результата пользователю
 
 миру мир
 |  |  |  |  | 
| 
| DeadDay | Дата: Понедельник, 14 Октября 2013, 09:48 | Сообщение # 11 |  |   New game Studio Сейчас нет на сайте | Ну вот, в принципе получил ответ, который и хотел. Добавлено (14.10.2013, 09:48)---------------------------------------------
 Только 1 действие не понил не много.
 
 
   New Games Studio
 ---------------------------------------------------------------------------------------
 Проекты:
 DeadDay - Online
 --- Мертвый день: Выживание
 |  |  |  |  | 
| 
| e-lena | Дата: Понедельник, 14 Октября 2013, 09:57 | Сообщение # 12 |  |   был не раз Сейчас нет на сайте | Цитата DeadDay (  ) Только 1 действие не понил не много. это клик по кнопке или переход по ссылке "Начать бой"
 
 миру мир
 |  |  |  |  | 
| 
| DeadDay | Дата: Понедельник, 14 Октября 2013, 17:11 | Сообщение # 13 |  |   New game Studio Сейчас нет на сайте | А все спасибо. 
 ###
 Вообщем поковырялся я с кодом и что то получилось. Но как то работает не очень. Посмотрите пожалуста, может что то испрасить надо, где!?
 ###
 
 #############
 Исходные данные:
 #############
 
 ###
 Сам код:
 ###
 
 
 Код  <?php
 
 // Подключаемся к БД...
 
 $host  = "localhost";
 $login  = "DD";
 $pass = "123456";
 
 $connect = mysql_connect ("$host","$login","$pass") or die ("Подключение не удалось!" . mysql_error());
 
 $db = mysql_select_db ("battle" , $connect) or die ("Не удалось выбрать БД!" . mysql_error());
 
 // Устанавливаем кодировку...
 
 mysql_query ("SET NAMES 'utf8'");
 
 //###
 
 $sql = mysql_query("SELECT * FROM user");
 $result =  mysql_fetch_array ($sql);
 
 echo "Имя: " . $result['name'];
 echo "<br>Здоровье: " . $result['p_hp'];
 echo "<br>Мак.урон: ". $result['p_at_max'];
 echo "<br>Мин.урон: " . $result['p_at_min'];
 
 echo "<br><br>";
 
 $sql2 = mysql_query("SELECT * FROM enemy");
 $result2 =  mysql_fetch_array ($sql2);
 
 echo "Имя: " . $result2['e_name'];
 echo "<br>Здоровье: " . $result2['e_hp'];
 echo "<br>Мак.урон: ". $result2['e_at_max'];
 echo "<br>Мин.урон: " . $result2['e_at_min'];
 
 echo "<form acrion = index.php method = post>";
 echo "<br><input type = submit name = submit value = 'Действие'>";
 echo "</form>";
 
 if (isset($_POST['submit'])){
 
 if ($result['p_hp'] >= 10){
 $bat = $result['p_hp'] - rand( $result2['e_at_min'] ,  $result2['e_at_max'] );
 
 echo "$bat<br>";
 $up = mysql_query ("UPDATE user SET p_hp = '$bat' WHERE `id` =1") or die ("Обновить не удалось!<br>" . mysql_error());
 if ($result['p_hp'] <= 10){
 echo 'Вы проиграли!!!';
 }
 }
 
 if ($result2['e_hp'] >= 10){
 $bat2 = $result2['e_hp'] - rand( $result['p_at_min'] ,  $result['p_at_max'] );
 
 echo "$bat2<br>";
 $up2 = mysql_query ("UPDATE enemy SET e_hp = '$bat2' WHERE `id` =1") or die ("Обновить не удалось!<br>" . mysql_error());
 if ($result2['e_hp'] <= 10){
 echo 'Вы победили!!!';}}
 }
 ?>
 
 
 ###
 Таблица user:
 ###
 
 
   
 ###
 Таблица enemy:
 ###
 
 
   
 #############
 Начальная страница:
 #############
 
 
   
 ####
 
 Теперь при нажатии на кнопку Действие, происходит вот что: Он считае поформуле, обновляет БД. НО!!!! Результат не совпадает.
 
 
   
 Нажал ещё раз:
 
 
   
 А в БД сохраняются вот что:
 
 
   
 Почему так происходит, я не понимаю! Может где то в коде ошибся! Помогите мне с решением этой проблеммы!!!
 
 Заранее спасибо + с меня!!!
 
 
   New Games Studio
 ---------------------------------------------------------------------------------------
 Проекты:
 DeadDay - Online
 --- Мертвый день: Выживание
 
 
 Сообщение отредактировал DeadDay - Вторник, 15 Октября 2013, 11:04 |  |  |  |  | 
| 
| Assasin | Дата: Вторник, 15 Октября 2013, 12:29 | Сообщение # 14 |  |   web-coder Сейчас нет на сайте | Получается следующее: 1. Считываются данные с БД и выводятся на экран
 2. Затем происходит расчет формулы, которая уменьшает какие то данные
 НО, 1 пункт выполнился раньше второга, поэтому данные у тебя отличаются
 
 
 Код  <?php
 
 // Подключаемся к БД...
 
 $host  = "localhost";
 $login  = "DD";
 $pass = "123456";
 
 $connect = mysql_connect ("$host","$login","$pass") or die ("Подключение не удалось!" . mysql_error());
 
 $db = mysql_select_db ("battle" , $connect) or die ("Не удалось выбрать БД!" . mysql_error());
 
 // Устанавливаем кодировку...
 
 mysql_query ("SET NAMES 'utf8'");
 
 //###
 
 $sql = mysql_query("SELECT * FROM user");
 $result =  mysql_fetch_array ($sql);
 
 
 
 $sql2 = mysql_query("SELECT * FROM enemy");
 $result2 =  mysql_fetch_array ($sql2);
 
 $description = '';
 
 if (isset($_POST['submit'])){
 
 if ($result['p_hp'] >= 10){
 $bat = $result['p_hp'] - rand( $result2['e_at_min'] ,  $result2['e_at_max'] );
 
 $result['p_hp'] = $bat;
 
 $description .= "$bat<br>";
 $up = mysql_query ("UPDATE user SET p_hp = '$bat' WHERE `id` =1") or die ("Обновить не удалось!<br>" . mysql_error());
 if ($result['p_hp'] <= 10){
 $description .= 'Вы проиграли!!!';
 }
 }
 
 if ($result2['e_hp'] >= 10){
 $bat2 = $result2['e_hp'] - rand( $result['p_at_min'] ,  $result['p_at_max'] );
 
 $result2['e_hp'] = $bat2;
 
 $description .= "$bat2<br>";
 $up2 = mysql_query ("UPDATE enemy SET e_hp = '$bat2' WHERE `id` =1") or die ("Обновить не удалось!<br>" . mysql_error());
 if ($result2['e_hp'] <= 10){
 $description .= 'Вы победили!!!';}}
 }
 
 echo "Имя: " . $result['name'];
 echo "<br>Здоровье: " . $result['p_hp'];
 echo "<br>Мак.урон: ". $result['p_at_max'];
 echo "<br>Мин.урон: " . $result['p_at_min'];
 
 echo "<br><br>";
 
 echo "Имя: " . $result2['e_name'];
 echo "<br>Здоровье: " . $result2['e_hp'];
 echo "<br>Мак.урон: ". $result2['e_at_max'];
 echo "<br>Мин.урон: " . $result2['e_at_min'];
 
 echo "<form acrion = index.php method = post>";
 echo "<br><input type = submit name = submit value = 'Действие'>";
 echo "</form>";
 
 echo $description;
 ?>
 
 |  |  |  |  | 
| 
| DeadDay | Дата: Вторник, 22 Октября 2013, 10:58 | Сообщение # 15 |  |   New game Studio Сейчас нет на сайте | Блин, спасибо тебе большое. + как и обещал с меня. За комп сяду и поставлю. Добавлено (22.10.2013, 10:58)---------------------------------------------
 Всем привет.
 
 Есть такой вопрос, на правильность хода работы.
 
 При написании того или иного скрипта, я изначально не использую бд. А применяю простые переменные. Добеваюсь, чтоб скрипт был работоспособным и потом только переделаю для базы.
 
 Сам конечно понимаю, что, я делаю 2–ю работу. Но почему то мне так удобнее.
 
 Вот сообственно от сюда и вопрос: делать так как делаю. Или же все таки делать так как правильно. И приучать себя к этому.
 
 
   New Games Studio
 ---------------------------------------------------------------------------------------
 Проекты:
 DeadDay - Online
 --- Мертвый день: Выживание
 |  |  |  |  | 
| 
| Assasin | Дата: Вторник, 22 Октября 2013, 23:40 | Сообщение # 16 |  |   web-coder Сейчас нет на сайте | Если у тебя нету еще готовой структуры для будущей таблицы, то делай как сейчас. Я так понимаю "начальные переменные" это будут будущие поля в будущей таблице. Но я обычно создаю таблицу и прописываю ей пару полей, которые точно знаю будут в ней, а потом в ходе дела добавляю новые и изменяю старые.
 |  |  |  |  | 
| 
| DeadDay | Дата: Суббота, 02 Ноября 2013, 15:17 | Сообщение # 17 |  |   New game Studio Сейчас нет на сайте | Assasin, да начальные переменные это будующие поля в таблицы! Добавлено (29.10.2013, 10:12)---------------------------------------------
 
 
   
 Всем привет. Подскажите как лучше сделать бой?!
 Добавлено (02.11.2013, 15:17)---------------------------------------------
 Подскажи в чем проблема:
 Есть страница, выводится все
 нормально. Меняешь в бд
 значения, так же все работает
 хорошо. Пытаюсь вывести данные,
 по ид но он почему то ругается:
 NOTICE: Undefined index: id in ...... on
 line 38
 Вот сама строчка:
 $result = mysql_query ("select * from
 o_users where id = `".$_session_
 [`id`]."`");
 А вот что за ерунда не пойму.
 Просто вывести это ид, он выводит.
 А параметры этого ид не выводит,
 ругается.
 
 
   New Games Studio
 ---------------------------------------------------------------------------------------
 Проекты:
 DeadDay - Online
 --- Мертвый день: Выживание
 |  |  |  |  | 
| 
| Yashko3 | Дата: Суббота, 02 Ноября 2013, 20:39 | Сообщение # 18 |  |   Господин Ведущий Сейчас нет на сайте | попробуй так: 
 Код $result = mysql_query ("select * from `o_users` where `id` = '".$_SESSION['id']."'"); 
 
 
   
 старый профиль
 php <3
 |  |  |  |  | 
| 
| DeadDay | Дата: Суббота, 02 Ноября 2013, 22:14 | Сообщение # 19 |  |   New game Studio Сейчас нет на сайте | Yashko3, Не помогает! 
 
   New Games Studio
 ---------------------------------------------------------------------------------------
 Проекты:
 DeadDay - Online
 --- Мертвый день: Выживание
 |  |  |  |  | 
| 
| Yashko3 | Дата: Суббота, 02 Ноября 2013, 22:28 | Сообщение # 20 |  |   Господин Ведущий Сейчас нет на сайте | значит сессион айди не определена (пустая) 
 
 
   
 старый профиль
 php <3
 |  |  |  |  |