[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Игра на javascript
Страницы: 1, 2
balalaikin
Добрый день всем. Такое дело, изучаю php/mysql html, делал проекты минимальные, ну т.е. работа с сервеной частью. Вот решил устроиться на работу, прислали тестовое задание, и к моему удивлению оно состоит в создании игры на яваскрипт, с подсчетом статистики на php. С php, все вроде бы понятно, а вот с яваскриптом похуже(изучаю меньше недели, и то с упором на jquery). Так вот собственно задание:
Есть область 300 х 300 пикселей, в которой появляются квадраты 30 х 30 (мгновенно появляются, держатся на месте одну секунду и мгновенно исчезают). Задача игрока - кликнуть мышью по квадрату (если попал - получил 1 очко). У игрока есть 60 секунд на игру, после чего ему предлагается ввести своё имя для попадания в таблицу рекордов. В каждый момент времени надо показывать, сколько осталось времени и сколько очков набрано.

Есть лимит времени на создание игры. Вот и хочу задать вопрос. С чего начать, подтолкните в какую сторону двигаться.

Сейчас я как понимаю, т.е. создаем таблицу, и рандомно выбираем элемент по идентификатору и меняем цвет, по клику(onclick), вот тут не понимаю как заносить очко если попал на область. Подскажите с чего копать начать, ни в коем случае не прошу код, просто чтобы знать с чего начинать.
T1grOK
var $spoce = 0;
function _click(){
$spoce++;
}

:rolleyes:

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
dron4ik
квадратик это ссылка, или кнопка, или просто область с условием слик по нажатию отправляй запрос, перемещай рендомно задавая координаты Х У.
имея с серверной стороны количество очей, плюсуем их...

А не рано идти на работу где тестовое задание не под силу???
Авось они захотят чтобы ты писал что-то посложней?

_____________
Ex3m.com.ua — Активный образ жизни
Игорь_Vasinsky
Цитата
А не рано идти на работу где тестовое задание не под силу???

ай. да у нас в стране так везде. даже обидно.
и у братский народов тоже. ещё не успел смениться менталитет.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
balalaikin
Цитата (Игорь_Vasinsky @ 4.02.2013 - 19:20)
Цитата
А не рано идти на работу где тестовое задание не под силу???

ай. да у нас в стране так везде. даже обидно.
и у братский народов тоже. ещё не успел смениться менталитет.

А что,собственно, обидно или не так я делаю? По-моему я написал, что изучил на должном уровне серверную часть, а с яваскрипт похуже дело обстоит, я же не прошу прислать Вас готовый код, чтобы отправить его работодателю, есть рынок, если им выгодно взять меня и обучить, они возьмут, никто не будет заниматься благотворительностью, если не нужен, тогда не возьмут, здесь есть различные критерии такие как зарплата и различные претензии на соц пакет и т.д., и если я буду делать что-то гораздо за меньшую плату, то почему бы и нет.
Поэтому извиняюсь, но по-моему Ваше недовольство, по-крайней мере здесь,неуместно, чувствуется какое-то стереотипное мышление, особенно фраза с братскими народами.
dron4ik
Игорь_Vasinsky
ТА да)
Я когда шел на первую работу пыхарём (по приглашению) предупредил что ЯС знаю только на уровне IF FOR... (почти ничего и не изменилось)... на что меня спросили, чужой скрипт поставить смогу? я ответил -да...
Условие было делать на ЦМС...

ТС может поищи вакансию под жумлу?

_____________
Ex3m.com.ua — Активный образ жизни
Игорь_Vasinsky
Цитата
А что,собственно, обидно или не так я делаю?

да не бери на свой счёт) я просто на реплику отписался, которая совпадает с реалиями жизни.

Цитата
особенно фраза с братскими народами.

да я всех граждан бывшего СССР всей душой люблю.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
кстати - я бы предложил бы для взаимодействия клиентской части и серверной использовать ajax, всё в реал тайме и всё чётко.

на клик повесить js функцию работающую с php обработчиком.

по моему всё оч даже не сложно

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
balalaikin
Цитата (dron4ik @ 4.02.2013 - 19:35)
Игорь_Vasinsky
ТА да)
Я когда шел на первую работу пыхарём (по приглашению) предупредил что ЯС знаю только на уровне IF FOR... (почти ничего и не изменилось)... на что меня спросили, чужой скрипт поставить смогу? я ответил -да...
Условие было делать на ЦМС...

ТС может поищи вакансию под жумлу?

На джумле сам делал, есть сайт, но это не так интересно, интересно само программирование и крупные проекты, а не просто корпоративные сайты.(одним пхп не собираюсь ограничиваться, сейчас если б начинал, то начал бы с си или питона или явы, в будущем в любом случае что-то разберу)

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

Да и вообще, в планах начать трудовую деятельность с марта, еще занстру прочитаю про шаблоны и ООП, мускул на более продвинутый уровень выйти( в плане что-то большее, чем селект апдейт и т.д.) и может фреймворк какой-нибудь изучить, а там уже можно и начинать, так что можете не беспокоится smile.gif

ПС: пока буду разбираться, а потом если будут варианты, то выложу на Ваш цензор.
Игорь_Vasinsky
ну вот смотри. есть квадратики которые появляются и пропадают так?

пропиши к ним onclick="ajax()";

вот функция которая отправит данные на PHP обработчик

<script type="text/javascript">
function ajax () {
var xmlhttp;
if ( window.XMLHttpRequest ) {
// IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// IE6, IE5
xmlhttp = new ActiveXObject ( "Microsoft.XMLHTTP" );
}
// обрабатываем ответ
xmlhttp.onreadystatechange = function () {
// если запрос к скрипту удачный
if ( xmlhttp.readyState == 4 ) {
//Будет выводиться в <marquee id="string"></marquee>
//Вывод в нужный элемент DOM если нужно
//document.getElementById("string").innerHTML=xmlhttp.responseText;


}
}

//отправляем данные на php обработчик
xmlhttp.open ( "GET", "getdata.php?rand="+Math.random(), true );
xmlhttp.send ();
}
</script>



можешь скока хочешь передавать аргументов - данные пользователя, блока или что угодно.

вообще есть навыки работы с JS, php?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
balalaikin
Цитата (Игорь_Vasinsky @ 4.02.2013 - 20:16)
ну вот смотри. есть квадратики которые появляются и пропадают так?

пропиши к ним onclick="ajax()";

вот функция которая отправит данные на PHP обработчик

<script type="text/javascript">
function ajax () {
var xmlhttp;
if ( window.XMLHttpRequest ) {
// IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// IE6, IE5
xmlhttp = new ActiveXObject ( "Microsoft.XMLHTTP" );
}
// обрабатываем ответ
xmlhttp.onreadystatechange = function () {
// если запрос к скрипту удачный
if ( xmlhttp.readyState == 4 ) {
//Будет выводиться в <marquee id="string"></marquee>
//Вывод в нужный элемент DOM если нужно
//document.getElementById("string").innerHTML=xmlhttp.responseText;


}
}

//отправляем данные на php обработчик
xmlhttp.open ( "GET", "getdata.php?rand="+Math.random(), true );
xmlhttp.send ();
}
</script>



можешь скока хочешь передавать аргументов - данные пользователя, блока или что угодно.

вообще есть навыки работы с JS, php?

Да, с php все нормально, а вот с JS слабо, выше писал, сейчас прочитаю про AJAX, давно собирался.
bodja
balalaikin
Бросайте этот тест, по этому заданию ясно , что хотят фронт-энд программиста.
С недельными знаниями JS - вам лучше не связываться.
balalaikin
Цитата (bodja @ 4.02.2013 - 21:19)
balalaikin
Бросайте этот тест, по этому заданию ясно , что хотят фронт-энд программиста.
С недельными знаниями JS - вам лучше не связываться.

Ну задание-то по сути не такое и сложное, просто, что знания очень слабые, но вот второй день погрузился в JS, штудирую javascript.ru и даже что-то немного проясняется. Раньше видел подобного рода выражения, типа яваскрипт можно выучить за неделю как и css, сейчас понимаю, что это писали полные дилетанты, да и вообще яваскрипт надо знать хотя бы из-за аякса, я так понимаю за ним будущее да и настоящее, так что лишним не будет.
Michael
Не, таблица тут не катит, в ней жесткие позиции квадратов, а про это в условии не сказано.
Надо с абсолютным позиционированием играться.
Задание очень легкое, фронтэнд программистом тут не пахнет, если конечно не думать о защите скрипта игры и т.д.

_____________
There never was a struggle in the soul of a good man that was not hard
balalaikin
Цитата (Michael @ 6.02.2013 - 08:56)
Не, таблица тут не катит, в ней жесткие позиции квадратов, а про это в условии не сказано.
Надо с абсолютным позиционированием играться.
Задание очень легкое, фронтэнд программистом тут не пахнет, если конечно не думать о защите скрипта игры и т.д.

Если есть опыт, то я думаю не сложно. Если для Вас это легко подскажите мне,пожалуйста. Я вот как думаю делать(возможно и полный бред):
Создаем десять дивов с идентификатороми от 1 до 10( в хтмл-ном файле).
Далее если есть событие(нажатие на кнопку "Старт") к примеру:
$('#start').click{function() {
function timer() }
-запускаем setTimeout и такую функцию:
function timer(){
var obj=document.getElementById('timer_inp');
obj.innerHTML--;
if(obj.innerHTML==0){alert('Время вышло!');setTimeout(function(){},1000);}
else{setTimeout(timer,1000);}
}
sitTimeout(timer,6000)// Это время которое отводится на игру

А со сменой, пока только приходит в голову со сменой идентификаторов-
генерить цифру от 1 до 10( сам пока не знаю как) и с помощью AddClass добавлять новый класс и потом removeclass и опять addclass, который выбрали рандомно обратно возвращаем-это все функция ее вставляем в setinterval(func, 1000).

Ну и еще условия накладываем если onclick, то count++ и если obj.innerHTML==0, то clearinterval.

Заранее сорри, за такую белеберду, просто яваскрипт третий день разбираю более менее нормально, поэтому еще не очень втыкаю с методами и свойствами, как что куда. Вроде и похоже на пи эйч пи, но все же по-другому.
Если полный бред написал, то напишите, что полный бред smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.