| 
	
		
		
			| Помогите с созданием игры |  |  |  | 
| Гортхаур | Дата: Четверг, 19 Апреля 2012, 15:13 | Сообщение # 1 |  |   частый гость Сейчас нет на сайте | Всем привет! 
 Хотел бы спросить у вас совета. Как лучше и правильно сделать БД. Посмотрев урок , я увидел 7 таблиц в БД. Тут я решил вот что, сначало сделаю таблицу персонажа, потом врага и т.д. по нарастающей.
 
 Но хотел бы узнать вот что:
 
 При объединении таблицы user и avatar, не будет ли ни каких проблем в дальнейшем при обращении к ней?
 
 Вот что у меня получилось:
 
 
 Code CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci; /* Создаем БД со стандартной кодировкой  cp1251(для того что б поддерживался русский язык)*/  USE testgame; /* используем данную БД */
 
 /* таблица персонажа */
 CREATE TABLE `users` (
 id_user    bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
 email    CHAR(64), /* текстовый тип (64 символа) */
 pass  CHAR(32), /* текстовый тип (32 символа) */
 name  CHAR(32), /* текстовый тип (32 символа) */
 life  INT DEFAULT 50, /* числовой тип, по умолчанию равен 50 */
 atk  INT DEFAULT 7, /* числовой тип, по умолчанию равен 7 */
 def  INT DEFAULT 5, /* числовой тип, по умолчанию равен 5 */
 lov  INT DEFAULT 7, /* числовой тип, по умолчанию равен 7 */
 lvl  INT DEFAULT 1, /* числовой тип, по умолчанию равен 1 */
 exp  INT DEFAULT 0, /* числовой тип, по умолчанию равен 0 */
 PRIMARY KEY  (`id_user`)  /* Показываем что уникальным номером у нас являеться id_user */
 id_ava  bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
 gander  SMALLINT(1), /* Пол игрока, цыфровой тип(1 цыфра) */
 vid  SMALLINT(2), /* Вид игрока,  цыфровой тип(2 цыфры)*/
 path  CHAR(32), /* Путь к папке с рисунками персонажа, текстовый тип(32 символа) */
 PRIMARY KEY (`id_ava`) /* Показываем что уникальным номером у нас являеться id_ava */
 ) ENGINE=MyISAM DEFAULT CHARSET=cp1251; /* Обозначаем тип таблицы MyISAM. Таблицы типа MyISAM показывают хорошие результаты при выборках SELECT. Для .jktt подробного изучения читайте Самоучитель по MySQL 5 */
 Правильно ли это сделано мной, или всё таки оставить 2 таблицы?
 
 И ещё может ли кто мне вот обьяснить вот это:
 
 1. DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci
 2. ENGINE=MyISAM DEFAULT CHARSET=cp1251
 3. TYPE=MyISAM
 
 От куда это и где про это можно посмотреть. Чтоб мне было понятно, а не просто копировать!
 Добавлено (19.04.2012, 14:17)---------------------------------------------
 Вообщем попробовал то что сам написал и понял что так не получиться! Так как выдаёт ошибку:
 
 
 Code #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id_ava  bigint(20) unsigned NOT NULL auto_increment, /* уникальный н' at line 14 
 А переводиться она вот так, только промтом переводил:
 
 
 Code #1064 - у Вас есть ошибка в Вашем синтаксисе SQL; проверьте руководство, которое соответствует Вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом 'id_ava bigint (20) неподписанный НЕ ПУСТОЙ auto_increment,/* уникальный н' в линии 14
 Так что решил делать отдельно! Дабы было меньше проблем! Может просто для жтого есть какой то другое решение, я не знаю!
 
 Как я понял что
 
 1. DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci
 
 Это вот это:
 
 
   
 Так то можно с начало создать БД руками, а потом наполнять его таблицами?
 
 но мне по прежнему не понятно вот это:
 
 2. ENGINE=MyISAM DEFAULT CHARSET=cp1251
 3. TYPE=MyISAM
 Добавлено (19.04.2012, 15:01)---------------------------------------------
 Народ 30 просмотров и ни кто ни чего не скажет что ль?!
 Добавлено (19.04.2012, 15:13)---------------------------------------------
 Вот создал БД. И вношу туда одну таблицу:
 
 
 Code /* таблица персонажа */  CREATE TABLE `users` (
 id_user    bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
 email    CHAR(64), /* текстовый тип (64 символа) */
 pass  CHAR(32), /* текстовый тип (32 символа) */
 name  CHAR(32), /* текстовый тип (32 символа) */
 life  INT DEFAULT 50, /* числовой тип, по умолчанию равен 50 */
 atk  INT DEFAULT 7, /* числовой тип, по умолчанию равен 7 */
 def  INT DEFAULT 5, /* числовой тип, по умолчанию равен 5 */
 lov  INT DEFAULT 7, /* числовой тип, по умолчанию равен 7 */
 lvl  INT DEFAULT 1, /* числовой тип, по умолчанию равен 1 */
 exp  INT DEFAULT 0, /* числовой тип, по умолчанию равен 0 */
 PRIMARY KEY  (`id_user`)  /* Показываем что уникальным номером у нас являеться id_user */
 ) ENGINE=MyISAM DEFAULT CHARSET=cp1251; /* Обозначаем тип таблицы MyISAM. Таблицы типа MyISAM показывают хорошие результаты при выборках SELECT. Для .jktt подробного изучения читайте Самоучитель по MySQL 5 */
 Таблица создана и нет проблем! но вот когда я создаю следующую таблицу:
 
 
 Code /* таблица аватара */  CREATE TABLE `avatar` (
 id_ava  bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
 gander  SMALLINT(1), /* Пол игрока, цыфровой тип(1 цыфра) */
 vid  SMALLINT(2), /* Вид игрока,  цыфровой тип(2 цыфры)*/
 path  CHAR(32), /* Путь к папке с рисунками персонажа, текстовый тип(32 символа) */
 PRIMARY KEY (`id_ava`) /* Показываем что уникальным номером у нас являеться id_ava */
 ) TYPE=MyISAM;
 
 То появляется ошибка:
 
 
 Code #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 8
 И переводится:
 
 
 Code #1064 - у Вас есть ошибка в Вашем синтаксисе SQL; проверьте руководство, которое соответствует Вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать около 'TYPE=MyISAM' в линии 8
 И таблица не создаётся! Почему?
 |  |  |  |  |  | 
| Assasin | Дата: Четверг, 19 Апреля 2012, 16:29 | Сообщение # 2 |  |   web-coder Сейчас нет на сайте | Code CREATE TABLE `users` (   id_user    bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
 email    CHAR(64), /* текстовый тип (64 символа) */
 pass  CHAR(32), /* текстовый тип (32 символа) */
 name  CHAR(32), /* текстовый тип (32 символа) */
 gander  SMALLINT(1), /* Пол игрока, цыфровой тип(1 цыфра) */
 vid  SMALLINT(2), /* Вид игрока,  цыфровой тип(2 цыфры)*/
 path  CHAR(32), /* Путь к папке с рисунками персонажа, текстовый тип(32 символа) */
 life  INT DEFAULT 50, /* числовой тип, по умолчанию равен 50 */
 atk  INT DEFAULT 7, /* числовой тип, по умолчанию равен 7 */
 def  INT DEFAULT 5, /* числовой тип, по умолчанию равен 5 */
 lov  INT DEFAULT 7, /* числовой тип, по умолчанию равен 7 */
 lvl  INT DEFAULT 1, /* числовой тип, по умолчанию равен 1 */
 exp  INT DEFAULT 0, /* числовой тип, по умолчанию равен 0 */
 PRIMARY KEY  (`id_user`)  /* Показываем что уникальным номером у нас являеться id_user */
 ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Желательно знать синтаксис mysql, а не методом тыка делать.
 |  |  |  |  |  | 
| Гортхаур | Дата: Четверг, 19 Апреля 2012, 17:21 | Сообщение # 3 |  |   частый гость Сейчас нет на сайте | Assasin, Т.е. не надо было id_ava bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
 и
 PRIMARY KEY (`id_ava`) /* Показываем что уникальным номером у нас являеться id_ava */
 |  |  |  |  |  | 
| Assasin | Дата: Пятница, 20 Апреля 2012, 12:19 | Сообщение # 4 |  |   web-coder Сейчас нет на сайте | Нет, не нужно. |  |  |  |  |  | 
| Гортхаур | Дата: Вторник, 24 Апреля 2012, 13:03 | Сообщение # 5 |  |   частый гость Сейчас нет на сайте | Всем привет! 
 Вот выбрал время и доделал БД. Так как я один работаю и практически не знаю php, сделал только 2 таблицы для начала. Таблица персонажа и таблица с деньгами. Так как навыков пока нет, можите мне что то посоветовать в каком направлении мне двигаться. Т.е. что дальше разрабатывать, так сказать от лёгкого к более сложному.
 |  |  |  |  |  | 
| Nosorog | Дата: Вторник, 24 Апреля 2012, 13:37 | Сообщение # 6 |  |   участник Сейчас нет на сайте | Quote (Гортхаур) что дальше разрабатыватьДальше разрабатывать "бизнес-план", поставить промежуточные цели, придумать сюжет и т.п.
 Ну а если лень или просто не хочется и
 , то попробуй написать авторизацию/регистрацию в игреQuote (Гортхаур) Так как я один работаю и практически не знаю php
 Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
 |  |  |  |  |  | 
| Гортхаур | Дата: Вторник, 24 Апреля 2012, 20:32 | Сообщение # 7 |  |   частый гость Сейчас нет на сайте | Nosorog, Хорошо спасибо! Добавлено (24.04.2012, 20:32)---------------------------------------------
 Ребят, а подскажите мне вот что!
 
 Какая структура переходов в браузерках, по локациям, инвенратю, и т.д.? Т.е как я понимаю, у меня есть(к примеру, пока ещё нет) возможность перейти к персонажу и посмотреть егохарактеристики или что ещё. Мне надо сделать простую ссылку на другую страничку и там выводить все данные из БД? Или как это вообще всё делается?!
 
 Заранее спасибо!
 |  |  |  |  |  | 
| ПрофЭссор | Дата: Вторник, 24 Апреля 2012, 20:55 | Сообщение # 8 |  |   Разработка и создание сайтов. Студия: dezFlyin. Сейчас нет на сайте | Quote (Гортхаур) и практически не знаю phpМетодом тыка работаешь?
 
 
 Quote (Гортхаур) Мне надо сделать простую ссылку на другую страничку и там выводить все данные из БД?Можешь и таким способом..
 
 
   
 skype: dezFlyin
 icq: 798983
 e-mail: dezfl@yandex.ru
 Если не знаете с чего начать, просто напишите...
 
 Чтобы оставаться на месте, надо бежать, а чтобы куда-то попасть, надо бежать ещё быстрее.
 
 Дешевая расскрутка сайтов!
 |  |  |  |  |  | 
| Гортхаур | Дата: Вторник, 24 Апреля 2012, 20:58 | Сообщение # 9 |  |   частый гость Сейчас нет на сайте | ПрофЭссор, 
 
 Quote Методом тыка работаешь?
 Ну как то надо то учиться!
 
 
 Quote Можешь и таким способом..
 Я есть какой то другой способ?
 |  |  |  |  |  | 
| ПрофЭссор | Дата: Вторник, 24 Апреля 2012, 21:07 | Сообщение # 10 |  |   Разработка и создание сайтов. Студия: dezFlyin. Сейчас нет на сайте | знаешь как вообще делать лучше? по моему мнению, я начинал так. брал какой нибудь исходник браузерки, АнтиБК, Инстинкт Воина ставил на локалку и разбирался в ней. Так сказать лазил по исходному коду. 
 Прежде чем что-то создать, нужно сломать, Ассасин тоже согласится с таким вариантом. попробуй.
 
 
   
 skype: dezFlyin
 icq: 798983
 e-mail: dezfl@yandex.ru
 Если не знаете с чего начать, просто напишите...
 
 Чтобы оставаться на месте, надо бежать, а чтобы куда-то попасть, надо бежать ещё быстрее.
 
 Дешевая расскрутка сайтов!
 
 
 Сообщение отредактировал ПрофЭссор - Вторник, 24 Апреля 2012, 21:08 |  |  |  |  |  | 
| Гортхаур | Дата: Вторник, 24 Апреля 2012, 21:13 | Сообщение # 11 |  |   частый гость Сейчас нет на сайте | ПрофЭссор, Мне там сложновато пока разбираться! По этому и прихоться делать всё самому! Я конечно что то посматриваю из сторонних исходников, но толка пока мало! |  |  |  |  |  | 
| ПрофЭссор | Дата: Вторник, 24 Апреля 2012, 21:18 | Сообщение # 12 |  |   Разработка и создание сайтов. Студия: dezFlyin. Сейчас нет на сайте | Гортхаур, лучше на мой взгляд ковырять эти дырявые исходники, набираться опыта. чем писать игру с нуля, с нулевым знанием в программировании. это тяжёлый процесс, мучительный процесс. иногда он идет неделями, месяцами, а то и во все годами. многие кто здесь находился я помню, хотели написать свою игру, и все в принципе забили на неё. 
 
   
 skype: dezFlyin
 icq: 798983
 e-mail: dezfl@yandex.ru
 Если не знаете с чего начать, просто напишите...
 
 Чтобы оставаться на месте, надо бежать, а чтобы куда-то попасть, надо бежать ещё быстрее.
 
 Дешевая расскрутка сайтов!
 |  |  |  |  |  | 
| Nosorog | Дата: Вторник, 24 Апреля 2012, 21:50 | Сообщение # 13 |  |   участник Сейчас нет на сайте | Quote (ПрофЭссор) лучше на мой взгляд ковырять эти дырявые исходники, набираться опыта. чем писать игру с нуляА еще лучше учиться программировать правильно, а то эти дырявые исходники научат "плохому".
 
 Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
 |  |  |  |  |  | 
| Гортхаур | Дата: Среда, 25 Апреля 2012, 11:33 | Сообщение # 14 |  |   частый гость Сейчас нет на сайте | Nosorog, Вот по этому и не хочу! Добавлено (25.04.2012, 11:33)---------------------------------------------
 Народ, посмотрите правильно я составал таблицу:
 
 Code /* таблица денег */  CREATE TABLE `money` (
 `id_money` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
 gold  INT DEFAULT 0, /* Золото */
 silver  INT DEFAULT 0, /* Серебро */
 copper  INT DEFAULT 0, /* Медь */
 PRIMARY KEY (`id_money`)
 )
 |  |  |  |  |  | 
| Nosorog | Дата: Среда, 25 Апреля 2012, 15:10 | Сообщение # 15 |  |   участник Сейчас нет на сайте | Гортхаур, если запрос ошибок не выдает - значит правильно) А с другой стороны... id_money - это что? Бабло пользователя? Тогда почему AUTO_INCREMENT и в отдельной таблице?
 
 Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
 |  |  |  |  |  | 
| Гортхаур | Дата: Среда, 25 Апреля 2012, 16:30 | Сообщение # 16 |  |   частый гость Сейчас нет на сайте | Nosorog, Ну да, деньги пользователя! 
 Добавлено (25.04.2012, 16:30)
 ---------------------------------------------
 Просто когда я ввёл:
 
 
 Code CREATE TABLE `money` ( gold INT DEFAULT 0, /* Золото */
 silver INT DEFAULT 0, /* Серебро */
 copper INT DEFAULT 0, /* Медь */
 )
 Выдаёт ошибку:
 
 
 Quote #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 5
 
 Сообщение отредактировал Гортхаур - Среда, 25 Апреля 2012, 16:35 |  |  |  |  |  | 
| biohazardo | Дата: Среда, 25 Апреля 2012, 16:48 | Сообщение # 17 |  |   участник Сейчас нет на сайте | А почему бы не воспользоваться phpmyadmin'ом, если знания SQL невелики...??? 
 web-developer, который хочет делать игры хотя-бы чуть-чуть
 |  |  |  |  |  | 
| Yoda154 | Дата: Среда, 25 Апреля 2012, 20:17 | Сообщение # 18 |  |   участник Сейчас нет на сайте | Quote (biohazardo) А почему бы не воспользоваться phpmyadmin'ом, если знания SQL невелики...??? Ну если парень хочет освоить SQL язык, то пусть делает это. С одной стороны Phpmyadmin это простота освоения и скорость использования, а с другой, чистый SQL намного круче. Сможет с бд из консоли работать...
 |  |  |  |  |  | 
| ПрофЭссор | Дата: Четверг, 26 Апреля 2012, 19:33 | Сообщение # 19 |  |   Разработка и создание сайтов. Студия: dezFlyin. Сейчас нет на сайте | Quote (Гортхаур) А еще лучше учиться программировать правильно, а то эти дырявые исходники научат "плохому". 
 У него здесь по другому.
 
 Он хочет написать игру с нулевыми знаниями в программировании, а не научится программировать. У меня так же было. Исходников куча, у меня есть Инстинкт Воина, в 2009 году я её дорабатывал, полностью все дыры закрыл, большого опыта набрался, сейчас же, дорабатываю игру с нулевым написанием.
 
 А такие исходники, берутся за пример, можно покавырятся в них, много чего полезного набраться можно, заместо  "плохого" .
 
 У меня много знакомых, которые с нулевым знанием в программировании написали игру на базе АнтиБК, ИнстинктВоина. Даже те, которые хорошо программируют, всё равно берутся за пример в исходниках.
 
 Кому как, решать Вам. Мой вариант не плох, особенно для новичка.
 
 
   
 skype: dezFlyin
 icq: 798983
 e-mail: dezfl@yandex.ru
 Если не знаете с чего начать, просто напишите...
 
 Чтобы оставаться на месте, надо бежать, а чтобы куда-то попасть, надо бежать ещё быстрее.
 
 Дешевая расскрутка сайтов!
 |  |  |  |  |  | 
| Nosorog | Дата: Четверг, 26 Апреля 2012, 20:47 | Сообщение # 20 |  |   участник Сейчас нет на сайте | Quote (ПрофЭссор) полностью все дыры закрылПрям таки ВСЕ!?
  А если хорошо поискать? 
 Quote (ПрофЭссор) много чего полезного набраться можно, заместо "плохого" . Здесь, конечно палка о десяти концах
  Можно набраться полезного, можно "плохого", а можно и того, и другого(что более всего вероятно, т.к. нубу тяжело или даже невозможно отличить "хорошее от плохого"). Поэтому, ИМХО, лучше учиться правильно - у педагогов, или на крайняк учебники и форумы. 
 
 Quote (ПрофЭссор) У меня много знакомых, которые с нулевым знанием в программировании написали игру на базе АнтиБК, ИнстинктВоинаС нулевым знанием в программировании написать игру можно, наверное, только за бабло.
 
 
 Quote (ПрофЭссор) Даже те, которые хорошо программируют, всё равно берутся за пример в исходниках. Естественно, зачем изобретать велосипед?! Но они-то могут отличить "хорошее от плохого" в отличии от нуба.
 А теперь собственно по теме...
 Гортхаур, значение ресурсов пользователя лучше и удобнее хранить в самой таблице пользователя, или же использовать внешние ключи
 
 Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
 |  |  |  |  |  
 |