Урок 1 Обсуждение игры. Создание БД (MySQL)
+8
Selestina
BloodZevs
Ира
Дрон
trusishka
Иван
Loki2102
Admin
Участников: 12
Страница 1 из 1
Урок 1 Обсуждение игры. Создание БД (MySQL)
Итак начнем с сердца игры, ее Базы Данных (далее БД). Для чего она нужна? В ней будут храниться все данные, такие как: характеристики персонажа, сообщения в чате, какие предметы находяться в инвентаре и т.д. Мы будем пользоваться БД MySQL, так как она очень хорошо подходит для наших php скриптов. БД хранит в себе таблицы, в каждой таблице находяться столбцы, например таблица «users» имеет 3 столбца: “login”, “pass”, “email”. Думаю с этим разобрались.
У нас будет 7 таблиц:
users – хранит все характеристики игрока
avatar – хранит вид персонажа
chat – хранит сообщения чата
inventar – отображает какие вещи в инвентаре
quest – хранит данные о квесте
battle – хранит данные о боях
enemy – хранит данные о врагах
В дальнейшем БД может дополниться. Теперь рассмотрим каждую таблицу отдельно.
В таблице users будем хранить такие данные:
id_user – уникальный номер персонажа
email — email игрока, по нему будет осуществляться вход в игру
pass - пароль
name — имя игрока, будет отображаться в самой игре и в чате
life – жизни персонажа
atk — значение атаки
def - значение защиты
lov – значение ловкости
lvl – уровень игрока
exp – опыт игрока
В таблице avatar такие данные:
id_ava – уникальный номер аватарки
gander – какого пола персонаж
vid – какой вид у персонажа
path – путь к папке с картинками персонажа
В таблице chat такие данные:
id_msg – уникальный номер сообщения
msg – сообщение
time_msg – время когда было написано сообщение
wrt_user – кто написал
who – кому написали
В таблице inventar такие данные:
id_inv – уникальный номер вещи
name_object – название вещи
atk_up – сколько добавляет к атаке
def_up - сколько добавляет к защите
lov_up - сколько добавляет к ловкости
life_up - сколько добавляет к жизням
В таблице quest такие данные:
id_quest – уникальный номер квеста
cont_quest – завершен квест или нет?
kill_quest – сколько убито противников
В таблице battle такие данные:
id_btl – уникальный номер битвы
end_btl – исход битвы ( выиграли вы или проиграли )
В таблице enemy такие данные:
id_enm – уникальный номер врага
name_enm – имя врага
life_enm – жизни врага
atk_enm - атака
def_enm - защита
lov_enm - ловкость
exp_enm – сколько опыта даст если победить его
path_enm – путь к картинкам врага
Думаю все, если чего то не хватает, то по ходу написания доделаем. С установкой xampp я думаю разобрались. Теперь запустите его, в xampp Control Panel должно быть запущено Apache и MySQL, все остальное выключено. Напротив MySQL есть кнопка Admin, жмите на нее и попадете в утилиту phpMyAdmin, которая позволяет создавать БД. В открывшемся окне браузера находим вкладку SQL и жмем ее (картинка). Теперь пришло время создать нашу БД, а также ознакомиться со скриптовым языком SQL. Ниже приведен код и прокоментирован, если все таки возникнут вопросы, то задавайте
У нас будет 7 таблиц:
users – хранит все характеристики игрока
avatar – хранит вид персонажа
chat – хранит сообщения чата
inventar – отображает какие вещи в инвентаре
quest – хранит данные о квесте
battle – хранит данные о боях
enemy – хранит данные о врагах
В дальнейшем БД может дополниться. Теперь рассмотрим каждую таблицу отдельно.
В таблице users будем хранить такие данные:
id_user – уникальный номер персонажа
email — email игрока, по нему будет осуществляться вход в игру
pass - пароль
name — имя игрока, будет отображаться в самой игре и в чате
life – жизни персонажа
atk — значение атаки
def - значение защиты
lov – значение ловкости
lvl – уровень игрока
exp – опыт игрока
В таблице avatar такие данные:
id_ava – уникальный номер аватарки
gander – какого пола персонаж
vid – какой вид у персонажа
path – путь к папке с картинками персонажа
В таблице chat такие данные:
id_msg – уникальный номер сообщения
msg – сообщение
time_msg – время когда было написано сообщение
wrt_user – кто написал
who – кому написали
В таблице inventar такие данные:
id_inv – уникальный номер вещи
name_object – название вещи
atk_up – сколько добавляет к атаке
def_up - сколько добавляет к защите
lov_up - сколько добавляет к ловкости
life_up - сколько добавляет к жизням
В таблице quest такие данные:
id_quest – уникальный номер квеста
cont_quest – завершен квест или нет?
kill_quest – сколько убито противников
В таблице battle такие данные:
id_btl – уникальный номер битвы
end_btl – исход битвы ( выиграли вы или проиграли )
В таблице enemy такие данные:
id_enm – уникальный номер врага
name_enm – имя врага
life_enm – жизни врага
atk_enm - атака
def_enm - защита
lov_enm - ловкость
exp_enm – сколько опыта даст если победить его
path_enm – путь к картинкам врага
Думаю все, если чего то не хватает, то по ходу написания доделаем. С установкой xampp я думаю разобрались. Теперь запустите его, в xampp Control Panel должно быть запущено Apache и MySQL, все остальное выключено. Напротив MySQL есть кнопка Admin, жмите на нее и попадете в утилиту phpMyAdmin, которая позволяет создавать БД. В открывшемся окне браузера находим вкладку SQL и жмем ее (картинка). Теперь пришло время создать нашу БД, а также ознакомиться со скриптовым языком SQL. Ниже приведен код и прокоментирован, если все таки возникнут вопросы, то задавайте
Последний раз редактировалось: Admin (Ср Ноя 02, 2011 2:09 am), всего редактировалось 1 раз(а)
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
У меня когда нажимаешь на Admin ни чего не происходит, что делать?
Loki2102- Сообщения : 1
Очки : 1
Репутация : 0
Дата регистрации : 2011-02-17
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
Вопросов прилично.)Скачал я все вышеуказанные программы.проблем вроде как не возникло.но скачав XAMPP Control Panel нарвался на такую делему.Устанавливал несколько раз.Думал может что то пропустил но не хочет он нивкакую запускать этот апачи.при первом запуске работает MySql running stop admin.Filezilla running stop admin.Апачи не пашет пытаешься запустить дает такой ответ.(WARNING: terminating worker thread 0.Apache started [port 80].я думал порт не открыт так открыл ему этот 80 порт через cmd.песня таже.Ну и на Mysql долбишь по кнопке Админ он не открывает мне эту страницу...И зачем у тебя тут еще есть статья про денвер.Почему урок не по денверу?там все работает и апачи в том числе.набор программ с функциями денвера как я понял....
Иван- Сообщения : 1
Очки : 1
Репутация : 0
Дата регистрации : 2011-10-15
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
Просто много кто не любит Денвер
Но у тебя же получилось?
Но у тебя же получилось?
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
у меня все зашибись вроде усановилос но вот как записать в базу что либоето уже вотпрос
trusishka- Сообщения : 2
Очки : 2
Репутация : 0
Дата регистрации : 2011-11-24
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
все я уже разобрался
trusishka- Сообщения : 2
Очки : 2
Репутация : 0
Дата регистрации : 2011-11-24
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
апачи не подключается чего то
Дрон- Сообщения : 1
Очки : 1
Репутация : 0
Дата регистрации : 2011-12-29
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
я вот не поняла как пользоваться xampp?
Ира- Сообщения : 1
Очки : 1
Репутация : 0
Дата регистрации : 2012-04-29
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
А разве эти таблицы не нужно было изначально создавать в PhpMyAdmin???
BloodZevs- Сообщения : 2
Очки : 2
Репутация : 0
Дата регистрации : 2012-05-18
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
Эммм... А где код? Я пока новичок и не очень разбираюсь во всём этом... ._.
Selestina- Сообщения : 1
Очки : 1
Репутация : 0
Дата регистрации : 2012-06-02
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
Selestina, что именно не понятно? Тут нет кода, это надо в phpmyadmin создавать.
ExTus- Сообщения : 5
Очки : 6
Репутация : 1
Дата регистрации : 2012-06-12
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
А где код БД невижу ?
jobananas- Сообщения : 2
Очки : 2
Репутация : 0
Дата регистрации : 2012-06-28
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
Народ, вот вам код.
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 */
) ENGINE=MyISAM DEFAULT CHARSET=cp1251; /* Обозначаем тип таблицы MyISAM. Таблицы типа MyISAM показывают хорошие результаты при выборках SELECT. Для .jktt подробного изучения читайте Самоучитель по MySQL 5 */
/* таблица аватара */
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;
/* таблица чата */
CREATE TABLE `chat` (
id_msg bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
msg CHAR(255), /* текстовый тип(255 символов) */
time_msg CHAR(5), /* текстовый тип(5 символов) */
wrt_user CHAR(32), /* текстовый тип(32 символов) */
who CHAR(32), /* текстовый тип(32 символов) */
PRIMARY KEY (`id_msg`) /* Показываем что уникальным номером у нас являеться id_msg */
) TYPE=MyISAM;
/* таблица инвентаря */
CREATE TABLE `inventar` (
id_inv bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
name_object CHAR(64),
atk_up INT(2),
def_up INT(2),
lov_up INT(2),
life_up INT(4),
PRIMARY KEY (`id_inv`) /* Показываем что уникальным номером у нас являеться id_msg */
) TYPE=MyISAM;
/* таблица квеста */
CREATE TABLE `quest` (
id_quest bigint(20) unsigned NOT NULL auto_increment,
cont_quest CHAR(32),
kill_quest INT DEFAULT 0,
PRIMARY KEY (`id_quest`)
) TYPE=MyISAM;
/* таблица боя */
CREATE TABLE `battle` (
id_btl bigint(20) unsigned NOT NULL auto_increment,
end_btl CHAR(32),
PRIMARY KEY (`id_btl`)
) TYPE=MyISAM;
/* */
CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CH AR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;
/* Добавляем в таблицу данные о враге */
INSERT INTO enemy (name_enm,
atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)
VALUES('Призраки','7','40','6','4','10','path/enemy/');
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 */
) ENGINE=MyISAM DEFAULT CHARSET=cp1251; /* Обозначаем тип таблицы MyISAM. Таблицы типа MyISAM показывают хорошие результаты при выборках SELECT. Для .jktt подробного изучения читайте Самоучитель по MySQL 5 */
/* таблица аватара */
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;
/* таблица чата */
CREATE TABLE `chat` (
id_msg bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
msg CHAR(255), /* текстовый тип(255 символов) */
time_msg CHAR(5), /* текстовый тип(5 символов) */
wrt_user CHAR(32), /* текстовый тип(32 символов) */
who CHAR(32), /* текстовый тип(32 символов) */
PRIMARY KEY (`id_msg`) /* Показываем что уникальным номером у нас являеться id_msg */
) TYPE=MyISAM;
/* таблица инвентаря */
CREATE TABLE `inventar` (
id_inv bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
name_object CHAR(64),
atk_up INT(2),
def_up INT(2),
lov_up INT(2),
life_up INT(4),
PRIMARY KEY (`id_inv`) /* Показываем что уникальным номером у нас являеться id_msg */
) TYPE=MyISAM;
/* таблица квеста */
CREATE TABLE `quest` (
id_quest bigint(20) unsigned NOT NULL auto_increment,
cont_quest CHAR(32),
kill_quest INT DEFAULT 0,
PRIMARY KEY (`id_quest`)
) TYPE=MyISAM;
/* таблица боя */
CREATE TABLE `battle` (
id_btl bigint(20) unsigned NOT NULL auto_increment,
end_btl CHAR(32),
PRIMARY KEY (`id_btl`)
) TYPE=MyISAM;
/* */
CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CH AR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;
/* Добавляем в таблицу данные о враге */
INSERT INTO enemy (name_enm,
atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)
VALUES('Призраки','7','40','6','4','10','path/enemy/');
Артик- Сообщения : 2
Очки : 2
Репутация : 0
Дата регистрации : 2012-08-23
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
А вообще плагиатить нехорошо... полазил по сайту, и что я вам скажу? Темы содраны с gcup.ru.
И вот конкретно эта тема: gcup.ru/forum/51-1972-1.
И вот конкретно эта тема: gcup.ru/forum/51-1972-1.
Артик- Сообщения : 2
Очки : 2
Репутация : 0
Дата регистрации : 2012-08-23
Re: Урок 1 Обсуждение игры. Создание БД (MySQL)
у вас трохи неправильний в конце код!
/* */
CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CH AR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;
/* Добавляем в таблицу данные о враге */
INSERT INTO enemy (name_enm,
atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)
VALUES('Призраки','7','40','6','4','10','path/enemy/');
а вот правильний код
/* 111 */
CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CHAR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;# MySQL вернула пустой результат (т.е. ноль строк).
/* Добавляем в таблицу данные о враге */
INSERT INTO enemy (name_enm,
atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)
VALUES('Призраки','7','40','6','4','10','path/enemy/');# Затронута 1 строка.
/* */
CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CH AR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;
/* Добавляем в таблицу данные о враге */
INSERT INTO enemy (name_enm,
atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)
VALUES('Призраки','7','40','6','4','10','path/enemy/');
а вот правильний код
/* 111 */
CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CHAR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;# MySQL вернула пустой результат (т.е. ноль строк).
/* Добавляем в таблицу данные о враге */
INSERT INTO enemy (name_enm,
atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)
VALUES('Призраки','7','40','6','4','10','path/enemy/');# Затронута 1 строка.
sauronxaker119- Сообщения : 2
Очки : 2
Репутация : 0
Дата регистрации : 2012-09-22
помилка в коді
доброго дня! я у вас в коді найшов ошибку : вот код з ошибкой
/* */
CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CH AR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;
/* Добавляем в таблицу данные о враге */
INSERT INTO enemy (name_enm,
atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)
VALUES('Призраки','7','40','6','4','10','path/enemy/');
а вот правильний код для созданія таблици
/* 111 */
CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CHAR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;# MySQL вернула пустой результат (т.е. ноль строк).
/* Добавляем в таблицу данные о враге */
INSERT INTO enemy (name_enm,
atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)
VALUES('Призраки','7','40','6','4','10','path/enemy/');# Затронута 1 строка.
/* */
CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CH AR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;
/* Добавляем в таблицу данные о враге */
INSERT INTO enemy (name_enm,
atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)
VALUES('Призраки','7','40','6','4','10','path/enemy/');
а вот правильний код для созданія таблици
/* 111 */
CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CHAR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;# MySQL вернула пустой результат (т.е. ноль строк).
/* Добавляем в таблицу данные о враге */
INSERT INTO enemy (name_enm,
atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)
VALUES('Призраки','7','40','6','4','10','path/enemy/');# Затронута 1 строка.
sauronxaker119- Сообщения : 2
Очки : 2
Репутация : 0
Дата регистрации : 2012-09-22
Похожие темы
» Урок 8 Создание инвентаря (php, FD, MySQL)
» Урок 11 Создание квеста (php, FD, MySQL)
» Урок 5 Создание чата (php, FD, MySQL)
» Урок 6 Создание характеристик чара (php, FD, MySQL)
» Урок 3 II этап регистрации (php, FD, MySQL)
» Урок 11 Создание квеста (php, FD, MySQL)
» Урок 5 Создание чата (php, FD, MySQL)
» Урок 6 Создание характеристик чара (php, FD, MySQL)
» Урок 3 II этап регистрации (php, FD, MySQL)
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|