Бой как в mmorpg
Здравствуйте!
Я начинающий писатель текстовых квестов в жанре фэнтези. Знаю html достаточно, чтобы сверстать несложную страницу и сайт. В свою работу хочу включить поединки между героем и монстрами. Пробовала разобраться с javascript, но без особых успехов :wacko: Может кто поможет мне в этом сложном деле:help: Надо скрипт, чтобы бой был как в mmorpg. Например как в БК, но проще. Есть у героя 2 параметра: сила и жизнь. Сила - это количество урона противнику, Жизнь - количество здоровья. При попадании в монстра, от его количества жизней отнимается число, а при угадывании его удара, от жизни героя ничего не отнимается. ну и т.д. пока у кого-нибудь не станет жизнь равно 0 и тогда переход на новую страницу сайта (или появление ссылки для переходя). И еще чтобы лог боя при каждом ходе высвечивался в textarea. И снабдить комментариями, что где надо будет поменять, чтобы можно было наделать много монстров. Ну я думаю Вы играли в БК, и знаете что к чему и как. Ну вот и все. Надеюсь проблема раскрыта исчерпывающе. Заранее всем откликнувшимся спасибо.:victory: |
можно грабить корованы?
|
не поняла вопроса
|
что такое БК? The Burning Crusade?
|
Цитата:
Цитата:
Скажу честно: ты ничего не потерял, что не знаеш об этой игре я даже тебе завидую немного, хотя я и играл в нее всего день irka07, Ирина, к сожалению ваша задача должна решатся как на клиенте, так и на сервер. Это раз. Во вторых, все запросы типа "сделайте мне" стоит задавать в разделе работа. Здесь не пишут за вас скрипты, а помогают самим написать. Если вы готовы сесть, и учить JS, а затем самостоятельно с некоторой нашей помощью написать скрипт, то мы вам поможем. Иначе- в Раздел Работа. |
Спасибо всем.
|
Gvozd вот нашла подходящий скрипт, камень-ножницы-бумага.
<html> <head> <title>JAVA SCRIPT</title> <script type="text/javascript"> var us = 0; var co = 0; // function jsknb(user) { pc = "Компьютер выбрал "; win = ". Вы выиграли!"; lose = ". Вы проиграли!"; draw = ". Ничья!" var res; if (Math.random()<0.4) { res = "камень"; } else if (Math.random()<0.7) { res = "ножницы"; } else { res = "бумага"; } if (user=="no") {alert("Сделайте выбор!");} switch (res) { case "камень": switch (user) { case "камень": {alert(pc+res+draw);break;} case "ножницы": {co++;alert(pc+res+lose);break;} case "бумага": {us++;alert(pc+res+win);break;} }; break; case "ножницы": switch (user) { case "камень": {us++;alert(pc+res+win);break;} case "ножницы": {alert(pc+res+draw);break;} case "бумага": {co++;alert(pc+res+lose);break;} }; break; case "бумага": switch (user) { case "камень": {co++;alert(pc+res+lose);break;} case "ножницы": {us++;alert(pc+res+win);break;} case "бумага": {alert(pc+res+draw);break;} }; break; } document.knb.txt1.value = "Компьютер: "+co; document.knb.txt2.value = "Игрок: "+us; } </script> <meta http-equiv="Content-Type" content="text/html;charset=windows-1251"> </head> <body onLoad="showtime()" bgColor="#d2d2d2"> <form name="knb" value="no"> <INPUT TYPE="radio" name="choice" onClick="document.knb.value = 'камень'">камень <br> <INPUT TYPE="radio" name="choice" onClick="document.knb.value = 'ножницы'">ножницы <br> <INPUT TYPE="radio" name="choice" onClick="document.knb.value = 'бумага'">бумага <br><br> <input type="button" name="button1" value="Играть!" onClick="jsknb(document.knb.value)"> <br><br>Счет:<br> <INPUT TYPE="text" name="txt1" value="Компьютер: 0"> <br> <INPUT TYPE="text" name="txt2" value="Игрок: 0"> </form> </body> </html> Подскажете как переделать так, чтобы количество побед "Х" отминусовывалось от заданного числа "У" и чтобы когда станет "У"=0 у одного из игроков, то игра заканчивалась? То есть, чтобы счет шел на убывание |
отминусовывалось: -
числа: var когда: if игра заканчивалась: document.body.innerHTML = 'game over!<br>а теперь можно идти грабить корованы'; |
-->
|
уфф... ну подскажите куда и какое if вствить в скрипт, чтобы проверить значения противников равные 0, и перейти к следующему документу. Не получается у меня:cray:
|
для начала надо отступы расставить, а то действительно не видно куда его вставлять
|
-->
|
а как же корованы :cray:
|
Караваны... как-нибудь в другой раз :p
|
Продолжаем тему.
Вот теперь подумываю как реализовать, чтобы значение us или co присваивалось другое, которое например было введено при начале игры (при распределении параметров героя). В начале игры, игрок распределяет n-сумму очков на параметры. И при переходе к поединку, значение жизни us или co бралось из "базы". Для этого наверное необходимо будет скрипт отдельный с записанными в нем данными делать как файл.js? |
еще раз - ничего не понял, кроме того, что us и co - это здоровье (скажем так)
|
Параметр жизни задается вначале игры, каждый раз монстры разные (жизни их тоже). Хотелось бы не делать кучу html страничек и на каждой прописывать жизни героя и монстров. Допустим вначале сам игрок задает на сколько его герой здоров(присвоили) значение N(жизней) герою. Потом в процессе выполнения квеста, пройдя по скажем 10 страничкам, попадает на страничку поединка и учитывается его жизни N, которые он задал ранее.
Так вот, где прописать это значение (параметры героя), чтобы оттуда его колличество жизней включить в поединок |
irka07,
объясните зачем вы это делаете? надеюсь вы же не собираетесь это запускать в свет как я уже говорил делать такую задачу на клиенте как миниму глупо всю логику надо пеерносить на сервер, оставив пользователю только уведомления, и возможность выбирать удары прошел удар или нет должно вычислятся на сервере и количество жизней также. Иначе вашу игру будут взламывать все кому не лень короче то, ч какого бока вы подошли к задаче не тянет на что-то что можно запустить и показать кому-то ни было. максимум на пробу пера в JS |
вы играли когданибудь в текстовые квесты, или книги-игры? Сервер тут ненужен, это не онлайн игра - в понимании "онлайн" игры. А лишь маленькое приложение к интерактивному литературному произведению. Чтобы глазки у читателя(игрока) расслабились от напряженного чтения с монитора компьютера. Да и онлайн-версию, можно скомпилировать в электронную книгу и играть в оффлайне.
|
теперь мне ваша задуска более понятна
да, тут сервер и вправду не нужен и пожалуй, у большинства людей возникают проблемы такого рода с глазами Полагаю хранение жизней лучше всего сделать с пощью cookie-сов |
Gvozd, не думаю, что к этой задаче нужно относиться серьезно: читеришь - ну и ССЗБ :haha:
irka07, здоровье можно хранить в сессии на сервере или в cookies на клиенте работа с cookie описана в cookies (там есть функции, которыми можно пользоваться) |
x-yuri,
теперь я уже вижу что она не так серьезна, как мне показалось вначале |
Gvozd с чего-бы мне быть серьезной:) я с яваскриптами воопще только начала знакомиться и далеко не все еще понимаю даже в работе того что сейчас делаю:D
x-yuri хм... предлогаете еще и переводчицей стать? :blink: |
нет предлагаю скопипастить оттуда функции. Перевести нужно только их названия и параметры ;)
|
Часовой пояс GMT +3, время: 09:30. |