Потратил 2-3 минуты.
Сохранил страничку на комп и открыл файл petals.js
Потратил 2-3 минуты.
Сохранил страничку на комп и открыл файл petals.js
Минздрав предупреждает: Существует два типа людей. Избегайте обоих.
Что-то я не подумал
var mainDiv, guessBox, answerBox, form, inited, checked;
var dicePos, dice;
inited = false;
function Init()
{
mainDiv = document.getElementById("main");
guessBox = document.getElementById("guessBox");
answerBox = document.getElementById("show");
form = document.getElementById("form");
dice = new Array();
for (var i = 0; i < 5; i++)
{
dice[i] = new Array();
dice[i]["object"] = document.getElementById("dice" + (i+1));
dice[i]["x"] = 0;
dice[i]["y"] = 0;
dice[i]["value"] = 1;
}
dice["sum"] = 0;
inited = true;
checked = true;
}
window.onload = Init;
function Roll()
{
if (!inited) return;
checked = false;
answerBox.innerHTML = "";
form.reset();
dice["sum"] = 0;
for (var i = 0; i < 5; i++)
{
dice[i]["object"].style.visibility = "hidden";
var collide = true;
while (collide)
{
dice[i]["x"] = Math.round(Math.random()*450);
dice[i]["y"] = Math.round(Math.random()*240);
if (i == 0) break;
collide = false;
for (var j = 0; j < i; j++)
{
if ( Math.abs( dice[i]["x"] - dice[j]["x"] ) <= 50 && Math.abs( dice[i]["y"] - dice[j]["y"] ) <= 50 )
{
collide = true;
break;
}
}
}
dice[i]["value"] = 1 + Math.floor (Math.random() * 6)
if (dice[i]["value"] > 6) dice[i]["value"] = 6;
switch (dice[i]["value"])
{
case 3:
dice["sum"] += 2; break;
case 5:
dice["sum"] += 4; break;
}
dice[i]["object"].style.backgroundPosition = ((dice[i]["value"]-1) * -50) + "px 0px";
dice[i]["object"].style.top = dice[i]["y"] + "px";
dice[i]["object"].style.left = dice[i]["x"] + "px";
window.setTimeout('dice[' +i+ ']["object"].style.visibility = "visible";', (i+1) * 200);
}
}
function Check()
{
if (!checked)
{
if (guessBox.value == "")
answerBox.innerHTML = 'The number is ' + dice["sum"] + ".";
else if (guessBox.value != dice["sum"])
answerBox.innerHTML = '<span style = "color:red"><b>Wrong</b></span>, the number is ' + dice["sum"] + ".";
else
answerBox.innerHTML = '<span style = "color:green"><b>Correct</b></span>, the number was ' + dice["sum"] + ".";
checked = true;
}
}
Браво Alexiy
1km=1024m
Увидеть код - это одно, а догадаться "почему" - совсем другое.
--
К головоломке приступал 2 раза. Первый раз минут 5 не дал результата. Второй раз минут за 15 до меня дошло
Блин, просидел полчаса... много думал...
Вывод, теперь не пойму, то ли я слишком глупый(не могу решить простую задачу), толи слишком умный(как говорится в задаче).
Все, сегодня мозги не варят, пошел спать, завтра додумаю.
PS: код принципиально не хочу смотреть
Мысля-эврика пришла сразу на второй попытке...
ну просто подсказали ведь...
Vekkappa добавил 22.08.2006 в 23:17
А кстати, там всё легко и к математике никакого отношения не имеет.
Вся соль в словах "лепестки вокруг роз", просто найдите эти розы и всё...
Вообще, прикольная головоломка, афтару респект!
Последний раз редактировалось Vekkappa; 22.08.2006 в 22:17. Причина: Добавлено сообщение
Whatever people say i am, that's what i'm not.
наверное я такой тупой....
задачу сам не разгодал, посмотрел на код.... всё равно не понял ничего
Ducunt volentem fata, nolentem trahunt
блин... сначало тупил.. оч.. но минуты за 3 разгадал... блин
розы тут не причем, сразу говорю и лепестки... это ж все образно... что-то вокруг чего-то
Аналогично, приступал к разгадке 2 раза. Первый раз тупил минут 15 - нефига не понял и пошел спать. Сейчас, после просмотра кода и кое-каких подсказок что называется "дошло". Оказалось банально просто. Кто не хочет явный ответ - просьба дальше не читать.
Текст ниже скрыт другим цветом - нужна подсказка - выделите мышкой мое сообщение - станет видно.
Розы - это центральные точки на гранях кубика. Есть они только на сторонах 1, 3 и 5 - на остальных гранях точек нет. Эти точки - стебель. А кол-во точек возле них - лепестки. Т.е. у 1 - ноль лепестков, у трешки - два, у пятерки - 4. Далее складываем все лепестки и получаем ответ.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)