Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 30.04.2008, 16:03   #1
Deadle
Новичок
 
Регистрация: 30.04.2008
Сообщений: 2
Репутация: 10
По умолчанию Проблема: определение отсутствует.

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

Дали задание написать игру Камень-Ножницы-Бумага на JavaScript. Но я не прошу мне ее написать, просто помочь кое в чем.

Есть маленький код:
Код:

<script language="JavaScript" type="text/javascript">
function play()
{
	var computer;
	var player;
	var compCount = 0;
	var playCount = 0;
	
	computer = Math.round( Math.random() *2);
	player = Math.round( Math.random() *2);
	
	if(computer > player)
	{
		compCount++;
	}
	if(computer < player)
	{
		playCount++;
	}
}
</script>

Потом нужно в HTML вставить compCount и playCount в соответствующее место.

Код:

<table>
<tr>
    <td>Computer</td>
    <td>Player</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button" value="Play" onclick="play()"></td>
</tr>
<tr>
    <td><script>document.write(compCount);</script></td>
    <td><script>document.write(playCount);</script></td>
</tr>
</table>

Выдает ошибку, что определение отсутствует. И это не странно, потому что определение есть только в самой функции play().

Скажите, как передать эти все значения из функции самому скрипту?

Можно попробовать без функции вообще, но тогда как мне вызывать выполнение скрипта? К тому же скрипт будет выполняться без вызова при загрузке страницы.

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

Вот пример самой игры: http://atlantis.cit.ie/assignment-ja...assignment.mov

Спасибо всем за то, что хотя бы дочитали до конца ))
Deadle вне форума   Ответить с цитированием
Старый 05.05.2008, 14:53   #2
alx
Случайный прохожий
Пользователь
 
Аватар для alx
 
Регистрация: 09.02.2008
Адрес: Оренбург
Сообщений: 40
Репутация: 30
По умолчанию

Можно написать отдельную функцию для вывода значений переменных в соответствующие ячейки:
Код:

function show()
	{
	document.getElementById("com").innerHTML = cp;
	document.getElementById("player").innerHTML = pl;
	}

Предварительно, естественно, нужно указать нужным ячейкам соответствующие id и описать кнопку, по щелчку на которой будет производиться новая игра и вывод её результатов:
Код:

<table width="100%">
	<tr>
		<td id="com">0<td>
		<td><input type="button" value="play" onclick="play(); show();"></td>
		<td id="player">0<td>
	<tr>
</table>

P.S.: И еще из Вашей функции желательно вынести определение переменных compCount и playCount в тело скрипта для того, чтобы они стали глобальными .
alx вне форума   Ответить с цитированием
Старый 05.05.2008, 20:12   #3
Deadle
Новичок
 
Регистрация: 30.04.2008
Сообщений: 2
Репутация: 10
По умолчанию

Спасибо большое, что ответили. Вы мне очень помогли.
Вот это то, что мне нужно было.
Код:

document.getElementById("com").innerHTML = cp;
document.getElementById("player").innerHTML = pl;

Если кому надо весь код, пожалуйста, пишите сюда.
Deadle вне форума   Ответить с цитированием
Старый 22.10.2018, 10:59   #4
Валерий520
Новичок
 
Регистрация: 22.10.2018
Сообщений: 1
Репутация: 10
По умолчанию

Добрый день. Вы выкладывали часть кода игры "камень ножницы бумага" на одном форуме для программистов, если можно код на игру полностью
Валерий520 вне форума   Ответить с цитированием
Старый 23.10.2018, 15:15   #5
Naive
Раздолбайских Дел
Профессионал
 
Аватар для Naive
 
Регистрация: 22.05.2009
Адрес: Екатеринбург
Сообщений: 3,711
Репутация: 2205
По умолчанию

Код:

Math.round( Math.random() *2);

Не правильная формула для равномерного распределения вероятностей.
0 получается в отрезке от 0 до 0.5
1 — от 0.5 до 1.5
2 — от 1.5 до 2
соответственно вероятности:
0 — 0.25
1 — 0.5
2 — 0.25
__________________
Работаю. В этот раз за деньги.
Жду ваши искренние спасибы на яндекс-кошелек: 410011068154587

Последний раз редактировалось Naive; 23.10.2018 в 15:44.
Naive вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В Database Desktop отсутствует руссификация данных Murik БД в Delphi 3 03.07.2008 17:36
Определение IP IvanLex HTML и CSS 6 28.03.2008 08:46
Отсутствует вкладка "Выполнить" в меню пуск Ronni10 Windows 11 13.02.2008 23:06
Определение IP RKS Работа с сетью в Delphi 3 13.12.2007 16:43
Отсутствует popup меню на кнопке приложения в таскбаре dimfil Компоненты Delphi 9 08.11.2007 16:31


21:46.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru