Javascript.RU

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

Создал таблицу по совету Sweet

Теперь не могу осуществить, чтобы при клике на ячейку в ячейке появлялась запись (Х и О).

Пробывал несколько способов:

cont.onclick='write(X)';

cont.onclick='document.cont.createTextNode("X")'

cont.onclick='cont = "X"'

Ничего не сработало. Какой код применить в данной ситуации?
Ответить с цитированием
  #12 (permalink)  
Старый 25.08.2010, 14:25
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Aspiring
Пробывал несколько способов:
А вы уже закончили изучать JavaScript и теперь просто пишете всякий бред наугад? Продолжайте читать статьи, в них всё доходчиво написано.
Ответить с цитированием
  #13 (permalink)  
Старый 25.08.2010, 14:30
Аватар для KOLANICH
Профессор
Отправить личное сообщение для KOLANICH Посмотреть профиль Найти все сообщения от KOLANICH
 
Регистрация: 22.11.2008
Сообщений: 277

используй тег canvas
Ответить с цитированием
  #14 (permalink)  
Старый 25.08.2010, 15:46
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от Aspiring
cont.onclick='write(X)';

cont.onclick='document.cont.createTextNode("X")'

cont.onclick='cont = "X"'
Жжешь! Пиши еще!!!
Сообщение от KOLANICH
используй тег canvas
Для начала нужно хотя бы с основами разобраться
Ответить с цитированием
  #15 (permalink)  
Старый 25.08.2010, 18:16
Интересующийся
Отправить личное сообщение для Aspiring Посмотреть профиль Найти все сообщения от Aspiring
 
Регистрация: 23.08.2010
Сообщений: 27

До конца статьи не прочитал. Но все-равно требовался некий опыт создания приложении для продолжении. Искал по статьям - ничего не нашел.

Понял, что вышенаписанные мною варианты просто бред.

Мое решение:
cont=document.createElement('input');
cont.onclick='value = "X"'

Подсмотрел приложения других, там на каждую кнопку функция смены значения. Т.е. 9 (при 3X3 клеток) практический одинаковых функции только на смену значении формы. Также условия победы написаны вручную: если значение клеток (а1=1 и в1=1 и с1=1) или (а1=1 и в2=1 и с3=1) ..., то игрок один выигрывает.

Это не считается плохим тоном программирования?

В школе в подобной задаче на Pascal я бы просто задал условия по индексам:
if ( (i=j) or (i=n-j+1) or (...) ) and (a[i,j]=1) then write('Player 1 has won the round')
Вышенаписанный код неправильный , но надеюсь Вы поняли, что я имел ввиду

Последний раз редактировалось Aspiring, 25.08.2010 в 18:24.
Ответить с цитированием
  #16 (permalink)  
Старый 25.08.2010, 19:56
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Aspiring
Т.е. 9 (при 3X3 клеток) практический одинаковых функции только на смену значении формы
обработчик вешается на всю таблицу, внутри обработчика через event.target определяем по какой ячейке кликнули, и добавляем в нее рисунок.
http://javascript.ru/tutorial/events
Ответить с цитированием
  #17 (permalink)  
Старый 25.08.2010, 21:24
Аватар для KOLANICH
Профессор
Отправить личное сообщение для KOLANICH Посмотреть профиль Найти все сообщения от KOLANICH
 
Регистрация: 22.11.2008
Сообщений: 277

чёрт подери
создаёшь канвас
рисуешь 4 линии поделив длину и ширину на 3
и помножив на 1 и 2
вешаешь обработчик на клик
если попадает в опр интервал значит в опр клетке
проводишь 2 линии или рисуешь кружок
что сложного?
Ответить с цитированием
  #18 (permalink)  
Старый 26.08.2010, 07:50
Интересующийся
Отправить личное сообщение для Aspiring Посмотреть профиль Найти все сообщения от Aspiring
 
Регистрация: 23.08.2010
Сообщений: 27

Спасибо, но я не интересовался логикой решения задачи.

Код:
function changing(clicked){
if (clicked == 1){
spot = empty1 ;}
if (clicked == 2){
spot = empty2 ;}
if (clicked == 3){
spot = empty3 ;}
if (clicked == 4){
spot = empty4 ;}
if (clicked == 5){
spot = empty5 ;}
if (clicked == 6){
spot = empty6 ;}
if (clicked == 7){
spot = empty7 ;}
if (clicked == 8){
spot = empty8 ;}
if (clicked == 9){
spot = empty9 ;}
if (spot == -1){
if (t == 0){
xo = " O " ;
spot = 0
}
else {
xo = " X " ;
spot = 1
}
if (clicked == 1){
empty1 = spot;}
if (clicked == 2){
empty2 = spot ;}
if (clicked == 3){
empty3 = spot ;}
if (clicked == 4){
empty4 = spot ;}
if (clicked == 5){
empty5 = spot ;}
if (clicked == 6){
empty6 = spot ;}
if (clicked == 7){
empty7 = spot ;}
if (clicked == 8){
empty8 = spot ;}
if (clicked == 9){
empty9 = spot ;}
}
else {
if (spot == 0){
xo = " O ";}
if (spot == 1){
xo = " X ";}
change = 0
}
return (xo) ;
}
function change_b1(form){
clicked = 1;
changing(clicked) ;
t = turnchange(t) ;
form.b1.value = xo;
form.whoseturn.value = whogoesnow
win();
return;
}
function change_b2(form){
clicked = 2;
changing(clicked) ;
form.b2.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}
function change_b3(form){
clicked = 3;
changing(clicked) ;
form.b3.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}
function change_b4(form){
clicked = 4;
changing(clicked) ;
form.b4.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}
function change_b5(form){
clicked = 5;
changing(clicked) ;
form.b5.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}
function change_b6(form){
clicked = 6;
changing(clicked) ;
form.b6.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}
function change_b7(form){
clicked = 7;
changing(clicked) ;
form.b7.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}
function change_b8(form){
clicked = 8;
changing(clicked) ;
form.b8.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}
function change_b9(form){
clicked = 9;
changing(clicked) ;
form.b9.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}
На каждую кнопку по функции, на каждый клик по условии. Разве это не является неграмотным решением или такое допустимо?
Ответить с цитированием
  #19 (permalink)  
Старый 26.08.2010, 08:26
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Aspiring
Разве это не является неграмотным решением или такое допустимо?
да, это криво.
Ответить с цитированием
  #20 (permalink)  
Старый 26.08.2010, 08:40
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Aspiring
Разве это не является неграмотным решением или такое допустимо?
Т.е. самого не смущают 9 абсолютно одинаковых функций?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очистка формы от дефолтных значений js hereim Общие вопросы Javascript 14 04.07.2010 21:29
Почему это работает? (инклуд JS в JS) Василий Б. Общие вопросы Javascript 4 11.06.2010 12:41
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28
Самая лучшая книга по JS? ulandj Оффтопик 2 06.04.2009 11:35
Загрузка дополнительного js кода с сервера Anonymous2008 Общие вопросы Javascript 5 20.11.2008 12:33