Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Лабиринт - игра (https://javascript.ru/forum/project/25208-labirint-igra.html)

function 29.01.2012 12:52

Цитата:

Сообщение от trikadin
На. А то жалко смотреть.

Я просто этой ерундой не занимался.

trikadin 29.01.2012 12:54

Цитата:

Сообщение от function
Я просто этой ерундой не занимался.

Ну, не такая уж это и ерунда, хорошая игра всегда складывается из мелочей.

function 29.01.2012 13:02

Цитата:

Сообщение от trikadin
Ну, не такая уж это и ерунда, хорошая игра всегда складывается из мелочей.

Ну это да, но с каких пор моя игра претендует на статус хорошей?:)

trikadin 29.01.2012 13:06

Цитата:

Сообщение от function
Ну это да, но с каких пор моя игра претендует на статус хорошей?

Ну, в теории, код всегда должен быть хорошим)

poorking 29.01.2012 14:14

Цитата:

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

function,

Почему не радует? Не надо картинки, возьмите табличку + backround-color для клеток, и никаких map ненадо, но отображение вашей игры это вопрос второстепенный.

У вас будет модель, матрица ("двумерный массив") NxM в одних клетках 0, в других 1 (0 - тоннель, 1 - стенки), и еще у нее будет механизм генерации случайных игровых полей, повесите на нее событие "указатель наведен на клетку", в который передаются координаты клетки, обработчик проверит на какую клетку наведен указатель, на 0 или на 1, будет вести необходимые подсчеты, следить за ходом игры и все такое, сформирует параметры и будет инициировано событие модели "после наведения указателя на клетку" и в его обработчик (который будет вешать вид для себя) будут переданы необходимые для вида параметры, который (обработчик), например, будет перерисовывать всю картину или ее части, в зависимости от того какой у вас вид по функционалу. Контроллер - собственно тот механизм, который передает модели информацию о том, что сделал пользователь, иногда модели это не интересно, он может и напрямую общаться с видом, это естественно, если некоторые действия не влияют на ход игры, а только на ее отображение.

Таким образом - модель - независимый движок, к ней вы сможете потом подключить хоть canvas, хоть что угодно в качестве вида, контроллер - должен знать протоколы связи с моделью и видом, он может их менять, а вид должен знать только протокол чтения с модели. Рекомендую использовать паттерн Observable для реализации MVC, очень удобно, Observable можете подсмотреть у Kolyaj в CrossJS или в фреймворке Ext в ядре.

Я когда делал парочку аркад подобных чисто ради спорта, этим не пользовался (MVC), а когда пришло просветление - было лень переделывать ))

function 29.01.2012 19:44

Спасибо за идею, но мне игру сдавать уже завтра да и времени нет. Потом, конечно, попробую так сделать. А сейчас хочу спросить, почему непроигрывается музыка в 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 30.01.2012 22:44

Люди, ау! Что молчите?

рони 30.01.2012 23:27

function,
Посмотрите спецификацию на тег audio -> например повтор "loop" Mozilla Firefox пока не поддерживает

Раед 31.01.2012 00:10

function,
Не знаю, что происходит, но не успеваю на страницу зайти, как игра пишет
Цитата:

Сообщение от игра
Вы проиграли


Aetae 31.01.2012 01:29

Цитата:

Сообщение от Раед (Сообщение 154230)
function,
Не знаю, что происходит, но не успеваю на страницу зайти, как игра пишет

Мыша у вас над красным полем.)


Часовой пояс GMT +3, время: 13:09.