Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.10.2010, 08:36
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,576

Этот код по праву можно назвать индусским. В обработчиках onclick одно и то же. Тут даже не знание js дико лажает, а в общем умение программировать, проектировать модель и т.д. Что например будешь делать если надо будет поле сделать 5*5? А должно решаться чисто сменой в конфигурации вместо 4 на 5.
Ответить с цитированием
  #12 (permalink)  
Старый 19.10.2010, 15:28
Кандидат Javascript-наук
Отправить личное сообщение для MininAS Посмотреть профиль Найти все сообщения от MininAS
 
Регистрация: 22.09.2009
Сообщений: 122

Сообщение от subzey Посмотреть сообщение
Bolo1910,
пожалуйста, воспринимайте конструктивную критику конструктивно.

Ваш код не тот, по которому стоит учиться. Используйте css, разделяйте логику и представление, не делайте кашу из тегов, не исользуйте document.write без необходимости, используйте методы DOM, забудьте про учебники по html, датированные ранее, чем 2005 годом, помните про кроссбраузерность.
Ответ по взрослому, так сказать не обсирающий, а поучающий.
Такой на форумах критики мало.
Ответить с цитированием
  #13 (permalink)  
Старый 19.10.2010, 15:51
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,576

Сообщение от MininAS Посмотреть сообщение
Ответ по взрослому, так сказать не обсирающий, а поучающий.
Такой на форумах критики мало.
Мир вообще не идеален . Вот у тебя в тетрисе фигурки при повороте так и не отскакивают от стенок и друг друга.
Ответить с цитированием
  #14 (permalink)  
Старый 19.10.2010, 18:39
Аватар для Cr@ZyBoY
Аспирант
Отправить личное сообщение для Cr@ZyBoY Посмотреть профиль Найти все сообщения от Cr@ZyBoY
 
Регистрация: 08.02.2010
Сообщений: 52

Хм, какое совпадение... http://govnokod.ru/4389
Ответить с цитированием
  #15 (permalink)  
Старый 19.10.2010, 20:58
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

както вы сильно жестко на парня накинулись...
Ответить с цитированием
  #16 (permalink)  
Старый 19.10.2010, 21:35
Кандидат Javascript-наук
Отправить личное сообщение для MininAS Посмотреть профиль Найти все сообщения от MininAS
 
Регистрация: 22.09.2009
Сообщений: 122

Сообщение от micscr Посмотреть сообщение
Мир вообще не идеален . Вот у тебя в тетрисе фигурки при повороте так и не отскакивают от стенок и друг друга.
ННуууууууу я сначала и не планировал, для меня это как то не сущесственно.
Но если надо то по скрипту эту функцию добавить просто (могу сделать).
Ответить с цитированием
  #17 (permalink)  
Старый 20.10.2010, 03:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Пятнашки )))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
 <title>15</title>
<style type="text/css">
td{
   height: 40px; width: 40px; text-align: center; color: #FFFFF0;  font-weight: bold; font-size: large;
}
</style>
</head>
<body>
 <script language="JavaScript" type="text/javascript">
for (var m = [], l = 4, k = 1, z = [l - 1, l - 1], // l--размер поля
 b = ["background-color: #4169E1;", "background-color: #C0C0C0;color: #C0C0C0;"],
 t = document.createElement("table"), c = 0; c < l; c++) {
    var tr = t.insertRow(c);
    m[c] = [];
    for (var s = 0; s < l; s++) {
        var td = tr.insertCell(s);
        td.style.cssText = b[0];
        td.onclick = function (a, e) {
            return function () {
                cl_go(a, e)
            }
        }(c, s);
        m[c][s] = k;
        td.innerHTML = k++
    }
}
t.rows[l - 1].cells[l - 1].style.cssText = b[1];
t.rows[l - 1].cells[l - 1].innerHTML='';
m[l - 1][l - 1] = 0;
document.body.appendChild(t);
var end = m.toString().split(",").join(""),
    v = l * l * 2;

function go() {
    for (var a = [
        [-1, 0],
        [0, -1],
        [1, 0],
        [0, 1]
    ]; a.length;) {
        var e = Math.floor(Math.random() * a.length),
            d = a[e];
        a.splice(e, 1);
        if (m[z[0] + d[0]] && m[z[0] + d[0]][z[1] + d[1]]) break
    }
    m[z[0]][z[1]] = m[z[0] + d[0]][z[1] + d[1]];
    t.rows[z[0]].cells[z[1]].style.cssText = b[0];
    t.rows[z[0]].cells[z[1]].innerHTML = m[z[0]][z[1]];
    t.rows[z[0] + d[0]].cells[z[1] + d[1]].style.cssText = b[1];
    t.rows[z[0] + d[0]].cells[z[1] + d[1]].innerHTML = '';
    m[z[0] + d[0]][z[1] + d[1]] = 0;
    z = [z[0] + d[0], z[1] + d[1]];
    if (m[l - 1][l - 1] || v > 0) {
        v--;
        setTimeout(arguments.callee, 100)
    } else {
        alert("Please play!!!");
        v = l * l * 2
    }
}
function cl_go(a, e) {
    for (var d = [
        [-1, 0],
        [0, -1],
        [1, 0],
        [0, 1]
    ]; d.length;) {
        var g = Math.floor(Math.random() * d.length),
            f = d[g];
        d.splice(g, 1);
        if (m[a + f[0]] && m[a + f[0]][e + f[1]] == 0) {
            m[a + f[0]][e + f[1]] = m[a][e];
            m[a][e] = 0;
            t.rows[a].cells[e].style.cssText = b[1];
            t.rows[a].cells[e].innerHTML = '';
            t.rows[a + f[0]].cells[e + f[1]].style.cssText = b[0];
            t.rows[a + f[0]].cells[e + f[1]].innerHTML = m[a + f[0]][e + f[1]];
            z = [a, e];
            break
        }
    }
    end == m.toString().split(",").join("") && alert("Game over")
};
</script>
<input type="button" name="" value="Mix"  onclick="go()"/>
</body>
</html>

Последний раз редактировалось рони, 20.10.2010 в 03:44.
Ответить с цитированием
  #18 (permalink)  
Старый 20.10.2010, 11:31
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

рони,
а почему время прохождения не выдает? Это же самое интересное
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #19 (permalink)  
Старый 20.10.2010, 14:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Gozar,
Будет Вам и дудка, будет и свисток )))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
 <title>15</title>
<style type="text/css">
td{
   height: 40px; width: 40px; text-align: center; color: #FFFFF0;  font-weight: bold; font-size: large;
}
</style>
</head>
<body>
 <script language="JavaScript" type="text/javascript">
for (var m = [], l = 4, k = 1, z = [l - 1, l - 1],start,step, // l--размер поля
 b = ["background-color: #4169E1;", "background-color: #C0C0C0;color: #C0C0C0;"],
 t = document.createElement("table"), c = 0; c < l; c++) {
    var tr = t.insertRow(c);
    m[c] = [];
    for (var s = 0; s < l; s++) {
        var td = tr.insertCell(s);
        td.style.cssText = b[0];
        td.onclick = function (a, e) {
            return function () {
                cl_go(a, e)
            }
        }(c, s);
        m[c][s] = k;
        td.innerHTML = k++
    }
}
t.rows[l - 1].cells[l - 1].style.cssText = b[1];
t.rows[l - 1].cells[l - 1].innerHTML='';
m[l - 1][l - 1] = 0;
document.body.appendChild(t);
var end = m.toString().split(",").join(""),
    v = l * l * 2;

function go() {
    for (var a = [
        [-1, 0],
        [0, -1],
        [1, 0],
        [0, 1]
    ]; a.length;) {
        var e = Math.floor(Math.random() * a.length),
            d = a[e];
        a.splice(e, 1);
        if (m[z[0] + d[0]] && m[z[0] + d[0]][z[1] + d[1]]) break
    }
    m[z[0]][z[1]] = m[z[0] + d[0]][z[1] + d[1]];
    t.rows[z[0]].cells[z[1]].style.cssText = b[0];
    t.rows[z[0]].cells[z[1]].innerHTML = m[z[0]][z[1]];
    t.rows[z[0] + d[0]].cells[z[1] + d[1]].style.cssText = b[1];
    t.rows[z[0] + d[0]].cells[z[1] + d[1]].innerHTML = '';
    m[z[0] + d[0]][z[1] + d[1]] = 0;
    z = [z[0] + d[0], z[1] + d[1]];
    if (m[l - 1][l - 1] || v > 0) {
        v--;
        setTimeout(arguments.callee, 100)
    } else {step=0;start = new Date();
        alert("Please play!!!");
        v = l * l * 2
    }
}
function cl_go(a, e) {
if(end == m.toString().split(",").join("")) {alert("Please Mix!!!");return};
step++;
for (var d = [
        [-1, 0],
        [0, -1],
        [1, 0],
        [0, 1]
    ]; d.length;) {
        var g = Math.floor(Math.random() * d.length),
            f = d[g];
        d.splice(g, 1);
        if (m[a + f[0]] && m[a + f[0]][e + f[1]] == 0) {
            m[a + f[0]][e + f[1]] = m[a][e];
            m[a][e] = 0;
            t.rows[a].cells[e].style.cssText = b[1];
            t.rows[a].cells[e].innerHTML = '';
            t.rows[a + f[0]].cells[e + f[1]].style.cssText = b[0];
            t.rows[a + f[0]].cells[e + f[1]].innerHTML = m[a + f[0]][e + f[1]];
            z = [a, e];
            break
        }
    }
    end == m.toString().split(",").join("") && alert("Game over "+Math.floor(((new Date()).getTime() - start.getTime())/1000)+" s "+step+" step")
};
</script>
<input type="button" name="" value="Mix"  onclick="go()"/>
</body>
</html>
Ответить с цитированием
  #20 (permalink)  
Старый 23.02.2011, 11:33
Аватар для True-Coder
Новичок на форуме
Отправить личное сообщение для True-Coder Посмотреть профиль Найти все сообщения от True-Coder
 
Регистрация: 23.02.2011
Сообщений: 3

камрады, оцените, как вам наша реализация пятнашек?

Последний раз редактировалось True-Coder, 03.04.2011 в 21:29.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дам 500 руб...нужна любая игра на JS с объяснением astra_89 Работа 5 31.05.2010 08:37
зацените. игра на javascript sonic2 Ваши сайты и скрипты 16 10.05.2010 13:32
Игра орел или решка на jquery. В любом случаи выводит вы проиграли! Dimaz jQuery 4 25.12.2009 15:04
Игра на яваскрипт + Бесплатные скрипты alien777 Ваши сайты и скрипты 1 05.10.2009 22:34
Игра "Висельник" SerGeO3x Общие вопросы Javascript 1 02.07.2008 18:59