14.06.2017, 10:47
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,123
|
|
Сообщение от webxmm
|
Когда нажал на первый квадрат, то открывается как бы 10 вопросов.
(Далее смысл такой, что ты отвечаешь на первый вопрос, у тебя второй становится активным. Отвечаешь на второй, становится третий активный и так до десятого. Потом, когда закончишь первый уровень из 10 вопросов, можно перейти на второй).
|
Отвечать на вопросы это тест, а не игра...
|
|
14.06.2017, 11:19
|
Интересующийся
|
|
Регистрация: 15.03.2017
Сообщений: 29
|
|
Сообщение от laimas
|
1, 2 - без сервера никак, и не важно РНР ли это или иной язык серверный. Можно конечно и в файл все писать, но это крайне неудобно, для таких целей лучше БД. Кроме того у вас неверное представление о регистрации и ее назначении, если только под регистрацией не подразумевать принимать от клиента все что угодно.
Собственно хранить состояние действий пользователя можно и на сервере, коли есть действительно регистрация, а значит и идентификация пользователя. Но можно и на клиенте.
А вот что касается самого сценария - "квадратики и пока...", то можно конечно все отдать клиенту, но в таком случае можно и "обойти правила". Поэтому, в зависимости от задачи разрешения на каждый этап должен давать сервер. То есть здесь потребуется и клиентский язык, и серверный.
Если же просто ради "учиться", то можно все на JS сделать, эмулируя на нем же и поведение сервера.
|
Сообщение от laimas
|
Если же просто ради "учиться", то можно все на JS сделать, эмулируя на нем же и поведение сервера.
|
Ну вот я и не хочу серверный трогать.
Я думал начать так.
Сделать HTML форму. Ввожу данные.
Затем скрываю форму ставя ей display:none, а отображаю другой уже div (в котором отображаю введенные данные, типа ПривЕт username).
Так?
Только у меня вопрос, при перезагрузке странички у меня снова отобразится форма для ввода. Как-то можно сделать, чтобы остался на второй стадии (когда форма скрыта, а отображаются данные).
И второй вопрос, реально ли через JS записать в файл как-то емейл введенный? Ну или если не в файл, а где-то хранить
|
|
14.06.2017, 11:20
|
Интересующийся
|
|
Регистрация: 15.03.2017
Сообщений: 29
|
|
Сообщение от ksa
|
Отвечать на вопросы это тест, а не игра...
|
а ну да )
|
|
14.06.2017, 11:33
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Это смотря чему вы хотите научится. Если форма ради проформы, можно и так, но если учеба, это и знания как обрабатывается форма на клиенте (проверка ввода данных), то нет.
Хотя это в жизни нынешней и не пригодится, но не используя серверный язык, а только клиентский, можно с одной html страницы передать форму на другую страницу, на которой посредством JS получить данные этой формы, проверить их и сохранить на клиенте. Вот это уже ближе к "научится чему либо".
Другими словами - в качестве хранения используется локальное хранилище браузера (localStorage). Пользователь входит на сайт, на индексную страницу, JS сценарий которой проверяет - если в локальном хранилище зарегистрирован клиент, значит приветствие ему и предлагаем сыграть. При этом "сыграть", это может быть переход на саму страницу с игрой. Если же нет регистрации, то переход на страницу регистрации, где форма и сценарий ее проверки.
Ну и т.д., и т.п.
|
|
14.06.2017, 11:58
|
Интересующийся
|
|
Регистрация: 15.03.2017
Сообщений: 29
|
|
Сообщение от laimas
|
Это смотря чему вы хотите научится. Если форма ради проформы, можно и так, но если учеба, это и знания как обрабатывается форма на клиенте (проверка ввода данных), то нет.
Хотя это в жизни нынешней и не пригодится, но не используя серверный язык, а только клиентский, можно с одной html страницы передать форму на другую страницу, на которой посредством JS получить данные этой формы, проверить их и сохранить на клиенте. Вот это уже ближе к "научится чему либо".
Другими словами - в качестве хранения используется локальное хранилище браузера (localStorage). Пользователь входит на сайт, на индексную страницу, JS сценарий которой проверяет - если в локальном хранилище зарегистрирован клиент, значит приветствие ему и предлагаем сыграть. При этом "сыграть", это может быть переход на саму страницу с игрой. Если же нет регистрации, то переход на страницу регистрации, где форма и сценарий ее проверки.
Ну и т.д., и т.п.
|
Скажу так.
Я реально хочу сделать такую игру-тест, интересно просто. При этом я бы хотел, чтобы во время написания я получил знания, которые желательно можно использовать в дальнейшем (front-end junior, для себя что-то писать). HTML/CSS знаю, но этого недостаточно.
То есть хотелось бы научится тому, что в реальной работе используется.
Попробую передать тогда с index.html на game.html (пока правда не знаю как это сделать)
|
|
14.06.2017, 12:19
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Не цитируйте сообщения полностью, или вообще ничего не цитируйте, если нет необходимости.
Сообщение от webxmm
|
Я реально хочу сделать такую игру-тест
|
Если цель front-end junior, то регистрация и "Привет, Вася", это не ваша забота, пишите только сам тест. Если же целью учебы является умение писать полностью веб приложение, то без знаний серверного языка не получится.
|
|
14.06.2017, 18:03
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,662
|
|
Сообщение от webxmm
|
(имя пользователя, имя, емейл,)
|
Зачем всё это? Можно конечно всю биографию пользователя сохранять ради сохранения) но обычно личные данные требуются не для самого пользователя, он ведь их итак знает) а для самого приложения (идентификация, рассылки, уведомления, ...) и других пользователей (информация, общение, переписка, ...). Как ты пишешь тебе нужно только сохранять состояние игры, это идентификация, localStorage дает идентификацию браузера, в таком случае достаточно "Продолжить" и "Начать заново" без всяких имен и тд, если нет нужды разделять пользователей одного браузера, если такие вообще могут быть.
|
|
14.06.2017, 21:03
|
Интересующийся
|
|
Регистрация: 15.03.2017
Сообщений: 29
|
|
Сообщение от laimas
|
Если цель front-end junior, то регистрация и "Привет, Вася", это не ваша забота, пишите только сам тест. Если же целью учебы является умение писать полностью веб приложение, то без знаний серверного языка не получится.
|
Ок, можете что-то дать по моей игре-тесту такое, чтобы это пригодилось для работы потом? Ну скажем может дополнить игру какими-то функциями..
|
|
14.06.2017, 21:04
|
Интересующийся
|
|
Регистрация: 15.03.2017
Сообщений: 29
|
|
Сообщение от Rise
|
Зачем всё это? Можно конечно всю биографию пользователя сохранять ради сохранения) но обычно личные данные требуются не для самого пользователя, он ведь их итак знает) а для самого приложения (идентификация, рассылки, уведомления, ...) и других пользователей (информация, общение, переписка, ...). Как ты пишешь тебе нужно только сохранять состояние игры, это идентификация, localStorage дает идентификацию браузера, в таком случае достаточно "Продолжить" и "Начать заново" без всяких имен и тд, если нет нужды разделять пользователей одного браузера, если такие вообще могут быть.
|
Я поэтому и хотел емейл в файл записывать, а отображать данные просто для красоты.
По localStorage я буду гуглить
|
|
14.06.2017, 21:06
|
Интересующийся
|
|
Регистрация: 15.03.2017
Сообщений: 29
|
|
Но пока я встрял вот на чем... я создал массив с картинками, пытаюсь распечатать его в див, но мне печатается только одна каринка... код..
var imageArray = new Array("img/x5.jpg", "img/site.jpg");
var i;
var text = "";
function getImgArr()
{
for(i = 0; i < imageArray.length; i++){
document.getElementById("container").innerHTML = "<img src='"+imageArray[i]+ "'>" + "<br/>";
}
}
<div id="container">
<input type="button" value="START" OnClick="getImgArr();"/>
</div>
|
|
|
|