Лабиринт - игра
Сделал лабиринт. Прошу оценить. Про синтаксис и названия переменных (функций) и сам знаю. http://javascript.info/play/HLR0Pb
|
прикольно) сразу вспомнилась флешка, где в конце рожа с криком вылазила. будешь дорабатывать игру ?
|
Цитата:
Цитата:
|
А, да, можно музыку. Кстати, как её проигрывать?
|
Сделайте случайную генерацию карт, будет интересно, однозначно. И MVC, MVC
|
Цитата:
Цитата:
|
function, а мне игра каждые пять минут говорит, что я проиграл((
|
Цитата:
|
Цитата:
|
На. А то жалко смотреть.
function getRightWord(num) { num+=""; if (num.charAt(num.length-2) == 1) return "секунд" num= num.slice(-1); if (!+num || num > 4 && num < 10) return "секунд"; if (num > 1 && num < 5) return "секунды" else return "секунду" }; alert("Вы выиграли за 23 " + getRightWord(23)); alert("Вы выиграли за 21 " + getRightWord(21)); alert("Вы выиграли за 0 " + getRightWord(0)); alert("Вы выиграли за 25 " + getRightWord(25)); |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Почему не радует? Не надо картинки, возьмите табличку + backround-color для клеток, и никаких map ненадо, но отображение вашей игры это вопрос второстепенный. У вас будет модель, матрица ("двумерный массив") NxM в одних клетках 0, в других 1 (0 - тоннель, 1 - стенки), и еще у нее будет механизм генерации случайных игровых полей, повесите на нее событие "указатель наведен на клетку", в который передаются координаты клетки, обработчик проверит на какую клетку наведен указатель, на 0 или на 1, будет вести необходимые подсчеты, следить за ходом игры и все такое, сформирует параметры и будет инициировано событие модели "после наведения указателя на клетку" и в его обработчик (который будет вешать вид для себя) будут переданы необходимые для вида параметры, который (обработчик), например, будет перерисовывать всю картину или ее части, в зависимости от того какой у вас вид по функционалу. Контроллер - собственно тот механизм, который передает модели информацию о том, что сделал пользователь, иногда модели это не интересно, он может и напрямую общаться с видом, это естественно, если некоторые действия не влияют на ход игры, а только на ее отображение. Таким образом - модель - независимый движок, к ней вы сможете потом подключить хоть canvas, хоть что угодно в качестве вида, контроллер - должен знать протоколы связи с моделью и видом, он может их менять, а вид должен знать только протокол чтения с модели. Рекомендую использовать паттерн Observable для реализации MVC, очень удобно, Observable можете подсмотреть у Kolyaj в CrossJS или в фреймворке Ext в ядре. Я когда делал парочку аркад подобных чисто ради спорта, этим не пользовался (MVC), а когда пришло просветление - было лень переделывать )) |
Спасибо за идею, но мне игру сдавать уже завтра да и времени нет. Потом, конечно, попробую так сделать. А сейчас хочу спросить, почему непроигрывается музыка в Opera и FF (и, возможно, в IE). Вставлял таким кодом:
<audio autoplay="autoplay" loop="loop"> <source src="http://sait-raznoe.do.am/pr/2/music.mp3" type="audio/mpeg"> <source src="http://sait-raznoe.do.am/pr/2/music.wav"> <p align="center"> Извините, музыка не поддерживается вашим браузером. </p> </audio> |
Люди, ау! Что молчите?
|
function,
Посмотрите спецификацию на тег audio -> например повтор "loop" Mozilla Firefox пока не поддерживает |
function,
Не знаю, что происходит, но не успеваю на страницу зайти, как игра пишет Цитата:
|
Цитата:
|
Прикольная задумка) :)
|
Цитата:
|
:) Я думаю внесу лепту)
ТО есть выбираеться 1 любой квадрат у края! Дальше выбираем случайную рядом клетку) Таким делом прокладываем маршрут) Остальное закрашиваем ) |
У игры должна быть кнопка Старт. Крепко раздражает надпись вы проиграли, когда ты даже ещё не врубился что должен делать. Оправдания не принимаются, кнопку нужно добавить.
|
Gozar, +100500
|
Я игру выиграл, и вылез алерт с сообщением о том что я сжульничал. Это возмутительно :D
И кстати сжульничать тоже можно. Сразу проиграть, затем согласиться с алертом так, чтобы указатель мыши сразу после клика по "ок" оказался на красных клетках. И потом по ним добраться до цели. Ничего не вылезет если пробираться по красным, а их много, поэтому целиться не надо. Вот тогда сообщения "Вы сжульничали" будет уместно. |
Кнопку добавил.
Цитата:
Цитата:
|
function,
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 16:44. |