Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 10.12.2011, 22:27
Интересующийся
Отправить личное сообщение для dimidrol Посмотреть профиль Найти все сообщения от dimidrol
 
Регистрация: 03.08.2011
Сообщений: 10

ну я там графику не применял.
Ответить с цитированием
  #22 (permalink)  
Старый 11.12.2011, 17:05
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

dimidrol, в моём примере нет графики вообще...
Ответить с цитированием
  #23 (permalink)  
Старый 11.12.2011, 23:37
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

нужно тебе разделить ЛОГИКУ игры от оболочки. я обычно (ни разу если честно) так делаю.
)))))))


суть в том что у тебя должна быть виртуальная матрица лишь СИМВОЛИЗИРУЮЩАЯ крестики нолики, в ней должны производится изменения, и именно с ней должны проводиться все операции)! с виртуальной матрицей невидимой человеку)!!! и нужно нафигачть функцию "отрисоватьИзменения()" ! и вот эта рисовальная функция будет смотреть что с виртуальной матрицей, пробегаться по ней и рисовать это на страничке )))) как это все сделать ты я думаю сам найдешь способ

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

как то так

не нужно херачить ЛОГИКУ игры и ОТРИСОВКУ к одну кучу))) лучше разделить, и это на самом деле не так сложно как кажется пока не начал)

Последний раз редактировалось Livanderiaamarum, 11.12.2011 в 23:43.
Ответить с цитированием
  #24 (permalink)  
Старый 12.12.2011, 08:59
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от Livanderiaamarum
как то так
Фигня какая-то...
Ответить с цитированием
  #25 (permalink)  
Старый 12.12.2011, 11:24
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от ksa Посмотреть сообщение
Фигня какая-то...
веский аргумент. вы наверное просто не знакомы с MVC архитектурой(( рекомендую подтянуть скилл.
Ответить с цитированием
  #26 (permalink)  
Старый 12.12.2011, 14:00
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Livanderiaamarum, для программки "Крестики Нолики" это точно фигня.
Ответить с цитированием
  #27 (permalink)  
Старый 12.12.2011, 14:39
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от ksa Посмотреть сообщение
Livanderiaamarum, для программки "Крестики Нолики" это точно фигня.
ну он хочет поназасовывать в матрицу дом элементы)))! и я хочу посоветовать что такие вещи нужно логически разделять. при том вроде просто обьяснил))
Ответить с цитированием
  #28 (permalink)  
Старый 12.12.2011, 15:09
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Livanderiaamarum, таки я пытаюсь сказать, что там и матрица-то никакая не нужна. Т.ч. куда уже проще-то?
Ответить с цитированием
  #29 (permalink)  
Старый 13.12.2011, 08:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Вариант крестиков нуликов )))
<!DOCTYPE>
<html>
<head>
  <title></title>
<style type="text/css">
td{
   height: 22px; width: 22px; text-align: center;
   border: #000000 solid 1px;
}
</style>
</head>

<body>

<div id="tv"></div>
<script  type="text/javascript">
for (var m = Array(9), l = 3, b = ["background-color: #FFFF00;", "background-color: #00FF00;"],
 t = document.createElement("table"), st = 0, c = 0; c < l; c++)
 for (var tr = t.insertRow(c), s = 0; s < l; s++) {
    var td = tr.insertCell(s);
    td.innerHTML = "&nbsp;";
    td.onclick = function (a) {
        return function () {
            go(a)
        }
    }(st++)
}
document.body.appendChild(t);
var arr = [
    [0, 1, 2],
    [3, 4, 5],
    [6, 7, 8],
    [0, 3, 6],
    [1, 4, 7],
    [2, 5, 8],
    [0, 4, 8],
    [2, 4, 6]
],
    arr_st = [
        [1, 3, 5, 7],
        [0, 2, 6, 8]
    ],
    n = 1,
    step = 0;

function arr_indexOf(a, e) {
    for (var d = 0; d < a.length; d++) if (a[d] === e) return d;
    return -1
}
function rand() {
    for (var a = [], e = 0; e < m.length; e++) void 0 == m[e] && a.push(e);
    return a[Math.random() * a.length | 0]
}
function rand_st(a) {
    for (var a = arr_st[a], e = [], d = 0; d < a.length; d++) void 0 == m[a[d]] && e.push(a[d]);
    return e[Math.random() * e.length | 0]
}
function show(a) {
    if ( void 0 == a)  return
    step++;
    t.rows[Math.floor(a / 3)].cells[a % 3].innerHTML = n ? "X" : "O";
    m[a] = n;
    n ^= 1;
    9 == step && mess("0 == 0")
}
function vivat(a, e) {
    for (var d = 0; d < a.length; d++) {
        var f = a[d];
        t.rows[Math.floor(f / 3)].cells[f % 3].style.cssText = b[e]
    }
}
function arr_null(a) {
    for (var e = 0; e < a.length && !(void 0 == m[a[e]]); e++);
    return a[e]
}
function go(a) {
    if (void 0 == m[a] && 9 > step) {
        show(a);
        for (var e = 0, d = []; e < arr.length; e++) {
            for (var f = 0, g = 0; g < arr[e].length; g++) {
                var h = arr[e][g];
                1 === m[h] && f++;
                0 === m[h] && f--
            }
            d[e] = f
        }
         - 1 != arr_indexOf(d, -3) ?
          (f = arr_indexOf(d, -3), mess("vivat O"), vivat(arr[f], 0), step = 9) : -1 != arr_indexOf(d, 3) ?
          (f = arr_indexOf(d, 3), mess("vivat X"), vivat(arr[f], 1), step = 9) : -1 != arr_indexOf(d, -2) ?
          (f = arr_indexOf(d, -2), go(arr_null(arr[f]))) : -1 != arr_indexOf(d, 2) ?
          (f = arr_indexOf(d, 2), show(arr_null(arr[f]))) : show(void 0 == m[4] ?
          4 : (m[0] && m[8] || m[2] && m[6]) && void 0 != rand_st(0) ?
          rand_st(0) : 4 == a ?
          rand_st(1) : m[1] && m[3] && void 0 == m[0] ?
          0 : m[1] && m[5] && void 0 == m[2] ?
          2 : m[3] && m[7] && void 0 == m[6] ?
          6 : m[5] && m[7] && void 0 == m[8] ?
          8 : m[4] && (m[0] || m[2] || m[6] || m[8]) && void 0 != rand_st(1) ? rand_st(1) : rand())
    }
}
function mess(a) {
    document.getElementById("tv").innerHTML = a
}
function new_go() {
    mess("go");
    step = 0;
    m = Array(9);
    n = 1;
    var tds = t.getElementsByTagName('td')
    for (var i=0; i<tds.length; i++)  {
        tds[i].innerHTML = "&nbsp;";
        tds[i].style.cssText = ""
    }

}
new_go();
</script>
<input type="button" name="" value="new"  onclick="new_go()"/>
</body>
</html>

Последний раз редактировалось рони, 13.12.2011 в 10:45.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с replace! faforty Общие вопросы Javascript 2 28.08.2011 13:10
ПОМОГИТЕ с установкой 2 javascript- ов Рашид Общие вопросы Javascript 3 17.11.2010 16:19
Прелоадер (помогите разобраться) xsfd AJAX и COMET 6 16.09.2010 02:30
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
Помогите, не могу никак понять pav-pas ExtJS 2 17.03.2010 10:57