[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Программа-тренажер на JavaScript
EVGEN2007
Добрый день! Дело в том, что мне в руки попал тренажер некой системы контроля, написанной на языке Java Script , ниже привожу код, а так же ссылку на сайт, где можно посмотреть его в действии.
Дело в том, что мне его необходимо изменить, что бы программа работала несколько иначе ( транспоранты загорались в другой последовательности, индикаторы срабатывали в другое время, а
так же ввод чисел сосуществлялся в желаемом виде. Если нетрудно, разберите код и напишите комментарий : (думаю вам будет интересно :-) Заранее очень благодарен.
Код
<!DOCTYPE html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Тренажер</TITLE>
</HEAD>
<BODY bgcolor="Black">
<map name="total">
<area alt="Счетчик времени" shape="circle" coords="97,340,29">
<area alt="Клавиша остановки БВД" shape="rect" coords="541,330,570,358">
<area alt="Клавиша перемотки ленты БВД назад" shape="rect" coords="574,329,602,358">
<area alt="Клавиша перемотки ленты БВД вперед" shape="rect" coords="605,329,634,359">
</map>
<script>
function initArray() {
    this.length = initArray.arguments.length;
    la = this.length;
    for (var i = 0; i < this.length; i++) {this[i] = initArray.arguments[i];}}
    
sobo = new initArray("i7","i7","i7","i7","t6","t6","tr","tr","t6","t6","tr","tr","t6","t6","tr","tr","i7","i7","i7","i7","i7","i8","i7","i7","t1","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9","i1","i2","i3","i4","i5","i6","i7","i8","i9");
sobk = new initArray(   1,   2,   3,   4,  33,  34,  37,  38,  33,  34,  37,  38,  33,  34,  37,  38,   5,   6,   7,   8,   9,   1,   0,   1,  23,   6,   5,   4,   3,   2,   1,   0,  10,  11,   7,   6,   5,   4,   3,   2,   1,   0,  10,   8,   7,   6,   5,   4,   3,   2,   1,   0,   9,   8,   7,   6,   5,   4,   3,   2,   1,  11,   9,   8,   7,   6,   5,   4,   3,   2,  10,  11,   9,   8,   7,   6,   5,   4,   3,   0,  10,  11,   9,   8,   7,   6,   5,   4,   1,   0,  10,  11,   9,   8,   7,   6,   5,   2,   1,   0,  10,  11,   9,   8,   7,   6,   3,   2,   1,   0,  10,  11,   9,   8,   7,   4,   3,   2,   1,   0,  10,  11,   9,   8,   5,   4,   3,   2,   1,   0,  10,  11,   9,  12,  12,  12,  12,  12,  12,  12,  12,  12);
sobv = new initArray( 900, 900, 900, 900, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 900, 900, 900, 900, 900,   0, 900,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0);
usl = new initArray(   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1);
mno = new initArray(
"i1","i1","i2","i3","i4","i5","i6","i7","i8","i9",
"t1","t2","t3","t4","t5","t6","k0","k1","k2","k3",
"k4","k5","k6","k7","k8","k9","kz","ks","st");
ris = new initArray(
"0.gif","1.gif","2.gif","3.gif","4.gif","5.gif","6.gif","7.gif","8.gif","9.gif",
",.gif","_.gif","-.gif","np_.gif","np.gif","vkl.gif","otkl.gif","p_.gif","p.gif","ost_.gif",
"ost.gif","tr_.gif","tr.gif","tr_ro_.gif","tr_ro.gif","tr_r_.gif","tr_r.gif","tr_g_.gif","tr_g.gif","tr_f_.gif",
"tr_f.gif","tr_d_.gif","tr_d.gif","tr_d51_.gif","tr_d51.gif","tr_2.gif","tr_1.gif","tr_2.gif","tr_1.gif","kl0_.gif",
"kl0.gif","kl1_.gif","kl1.gif","kl2_.gif","kl2.gif","kl3_.gif","kl3.gif","kl4_.gif","kl4.gif","kl5_.gif",
"kl5.gif","kl6_.gif","kl6.gif","kl7_.gif","kl7.gif","kl8_.gif","kl8.gif","kl9_.gif","kl9.gif","klz_.gif",
"klz.gif","klsbr_.gif","klsbr.gif","stop_.gif","stop.gif");

    var sost = 0;
    var tek = 0;
    
function npusk() {
if (sost > 0) {if (sost < 3) {sost = 3;
    document.images["tr"].src=("tr_1.gif");
    sbros(11,7);
    document.images["i8"].src=(ris[0]);
    document.images["i9"].src=(ris[0]);
    work(0);}}}
    
function work(nsob) {
if (sost > 1) {
    if (nsob < sobo.length) {
        document.images[sobo[nsob]].src=(ris[sobk[nsob]]);
        nsob = nsob + 1; tek = nsob; if (usl[nsob-1] < 1) {
        setTimeout('work(' + nsob + ')', sobv[nsob-1]);}}}}
    
function sdvig(n) {for(i=6;i>1;i--)
    {document.images[mno[i]].src=document.images[mno[i-1]].src;}
    document.images[mno[1]].src=(ris[n]);}

function sbros(n,k) {for(i=1;i<k;i++){document.images[mno[i]].src=(ris[n]);}}
function sbrost() {for (i=1;i<7;i++){document.images[mno[9+i]].src=(ris[22+i*2]);}}
function click_np(n) {document.images['np'].src=(ris[n]); if (n==13) {npusk()}}
function click_p(n) {document.images['p'].src=(ris[n]); if (n==17) {if (sost>2) {pusk()}}}
function click_vkl(n) {document.images['vkl'].src=(ris[n]);
    if (n==15) {sost=2; document.images['tr'].src=("tr_.gif");}
    else {sost=0; document.images['tr'].src=("tr.gif"); sbros(11,10); sbrost();}}
function click_ost(n) {document.images['ost'].src=(ris[n]); sbrost();
    if (sost>0){sost=1; document.images['tr'].src=("tr_.gif");}}

function click_sbr(n) {document.images['ks'].src=(ris[n]); if (n==61) {sbros(11,7)}}
function click_k(m,n) {document.images[mno[16+m]].src=(ris[39+n+m*2]); if (n==0) {if (sost>0) {sdvig(m)}}}

function click_stop(n) {document.images['st'].src=(ris[n]); if (n==63) {sbros(11,7)}}

function pusk(){if (sost<4) {work(tek);} else {sbros(12,7)}}

</script>

    <DIV style="position:absolute; top:0px; left:0px;z-index:1;">
    <img src="tutor_r1.jpg" width="770" height="520" border="0" alt="" usemap="#total">
    </DIV>
    
    <DIV style="position:absolute; top:181px; left:440px; z-index:2;">
    <img id="i1" src="_.GIF" width="16" height="22" border="0" alt=""></DIV>
    <DIV style="position:absolute; top:181px; left:415px; z-index:2;">
    <img id="i2" src="_.GIF" width="16" height="22" border="0" alt=""></DIV>
    <DIV style="position:absolute; top:181px; left:385px; z-index:2;">
    <img id="i3" src="_.GIF" width="16" height="22" border="0" alt=""></DIV>
    <DIV style="position:absolute; top:181px; left:357px; z-index:2;">
    <img id="i4" src="_.GIF" width="16" height="22" border="0" alt=""></DIV>
    <DIV style="position:absolute; top:181px; left:327px; z-index:2;">
    <img id="i5" src="_.GIF" width="16" height="22" border="0" alt=""></DIV>
    <DIV style="position:absolute; top:181px; left:297px; z-index:2;">
    <img id="i6" src="_.GIF" width="16" height="22" border="0" alt=""></DIV>
    <DIV style="position:absolute; top:181px; left:235px; z-index:2;">
    <img id="i7" src="_.GIF" width="16" height="22" border="0" alt=""></DIV>
    <DIV style="position:absolute; top:181px; left:205px; z-index:2;">
    <img id="i8" src="_.GIF" width="16" height="22" border="0" alt=""></DIV>
    <DIV style="position:absolute; top:181px; left:178px; z-index:2;">
    <img id="i9" src="_.GIF" width="16" height="22" border="0" alt=""></DIV>
    
    <DIV style="position:absolute; top:168px; left:76px; z-index:2;">
    <img id="t1" src="tr_ro.gif" width="48" height="17" border="0" alt="Транспарант РУЧНАЯ ОПЕРАЦИЯ">
    </DIV>
    <DIV style="position:absolute; top:218px; left:80px; z-index:2;">
    <img id="t2" src="tr_r.gif" width="44" height="16" border="0" alt="Транспарант РАБОТА">
    </DIV>
    <DIV style="position:absolute; top:183px; left:510px; z-index:2;">
    <img id="t3" src="tr_g.gif" width="44" height="17" border="0" alt="Транспарант ГОДЕН">
    </DIV>
    <DIV style="position:absolute; top:216px; left:509px; z-index:2;">
    <img id="t4" src="tr_f.gif" width="46" height="16" border="0" alt="Транспарант ФИНИШ">
    </DIV>
    <DIV style="position:absolute; top:247px; left:508px; z-index:2;">
    <img id="t5" src="tr_d.gif" width="45" height="17" border="0" alt="Транспарант ДЕФЕКТ">
    </DIV>
    <DIV style="position:absolute; top:279px; left:508px; z-index:2;">
    <img id="t6" src="tr_d51.gif" width="45" height="17" border="0" alt="Транспарант ДЕФЕКТ ТАКТ51">
    </DIV>
    
    <DIV style="position:absolute; top:266px; left:66px; z-index:2;">
    <img id="np" src="np.gif" width="71" height="29" border="0" alt="Клавиша НАЧАЛЬНЫЙ ПУСК" onmousedown="click_np(13)" onmouseup="click_np(14);">
    </DIV>
    
    <DIV style="position:absolute; top:326px; left:168px; z-index:2;">
    <img id="p" src="p.gif" width="63" height="21" border="0" alt="Клавиша ПУСК" onmousedown="click_p(17)" onmouseup="click_p(18);">
    </DIV>
    
    <DIV style="position:absolute; top:178px; left:662px; z-index:2;">
    <img id="ost" src="ost.gif" width="40" height="39" border="0" alt="Клавиша ОСТАНОВ" onmousedown="click_ost(19)" onmouseup="click_ost(20);">
    </DIV>
    
    <DIV style="position:absolute; top:335px; left:353px; z-index:2;">
    <img id="k0" src="kl0.gif" width="23" height="19" border="0" alt="Клавиша 0" onmousedown="click_k(0,0)" onmouseup="click_k(0,1);">
    </DIV>
    <DIV style="position:absolute; top:335px; left:385px; z-index:2;">
    <img id="k1" src="kl1.gif" width="23" height="19" border="0" alt="Клавиша 1" onmousedown="click_k(1,0)" onmouseup="click_k(1,1);">
    </DIV>
    <DIV style="position:absolute; top:334px; left:418px; z-index:2;">
    <img id="k2" src="kl2.gif" width="23" height="22" border="0" alt="Клавиша 2" onmousedown="click_k(2,0)" onmouseup="click_k(2,1);">
    </DIV>
    <DIV style="position:absolute; top:334px; left:449px; z-index:2;">
    <img id="k3" src="kl3.gif" width="24" height="22" border="0" alt="Клавиша 3" onmousedown="click_k(3,0)" onmouseup="click_k(3,1);">
    </DIV>
    <DIV style="position:absolute; top:308px; left:285px; z-index:2;">
    <img id="k4" src="kl4.gif" width="31" height="20" border="0" alt="Клавиша 4" onmousedown="click_k(4,0)" onmouseup="click_k(4,1);">
    </DIV>
    <DIV style="position:absolute; top:308px; left:317px; z-index:2;">
    <img id="k5" src="kl5.gif" width="31" height="21" border="0" alt="Клавиша 5" onmousedown="click_k(5,0)" onmouseup="click_k(5,1);">
    </DIV>
    <DIV style="position:absolute; top:308px; left:349px; z-index:2;">
    <img id="k6" src="kl6.gif" width="31" height="21" border="0" alt="Клавиша 6" onmousedown="click_k(6,0)" onmouseup="click_k(6,1);">
    </DIV>
    <DIV style="position:absolute; top:308px; left:383px; z-index:2;">
    <img id="k7" src="kl7.gif" width="27" height="21" border="0" alt="Клавиша 7" onmousedown="click_k(7,0)" onmouseup="click_k(7,1);">
    </DIV>
    <DIV style="position:absolute; top:308px; left:414px; z-index:2;">
    <img id="k8" src="kl8.gif" width="29" height="22" border="0" alt="Клавиша 8" onmousedown="click_k(8,0)" onmouseup="click_k(8,1);">
    </DIV>
    <DIV style="position:absolute; top:308px; left:446px; z-index:2;">
    <img id="k9" src="kl9.gif" width="31" height="21" border="0" alt="Клавиша 9" onmousedown="click_k(9,0)" onmouseup="click_k(9,1);">
    </DIV>
    <DIV style="position:absolute; top:330px; left:319px; z-index:2;">
    <img id="kz" src="klz.gif" width="26" height="24" border="0" alt="Клавиша  , " onmousedown="click_k(10,0)" onmouseup="click_k(10,1);">
    </DIV>
    <DIV style="position:absolute; top:330px; left:283px; z-index:2;">
    <img id="ks" src="klsbr.gif" width="30" height="21" border="0" alt="Клавиша СБРОС" onmousedown="click_sbr(61)" onmouseup="click_sbr(62);">
    </DIV>
    
    <DIV style="position:absolute; top:327px; left:539px; z-index:2;">
    <img id="st" src="stop.gif" width="31" height="20" border="0" alt="Клавиша СТОП" onmousedown="click_stop(63)" onmouseup="click_stop(64);">
    </DIV>
    
    <DIV style="position:absolute; top:173px; left:613px; z-index:2;">
    <img id="tr" src="tr.gif" width="13" height="103" border="0" alt="">
    </DIV>
    
    <DIV style="position:absolute; top:320px; left:684px; z-index:2;">
    <img id="vkl" src="otkl.gif" width="35" height="36" border="0" alt="">
    </DIV>
    <DIV style="position:absolute; top:320px; left:688px; z-index:2;">
    <img src="zero.gif" width="25" height="15" border="0" alt="Включить БВЦ" onclick="click_vkl(15)">
    </DIV>
    <DIV style="position:absolute; top:338px; left:693px; z-index:2;">
    <img src="zero.gif" width="25" height="15" border="0" alt="Отключить БВЦ" onclick="click_vkl(16)">
    </DIV>
    
</BODY>
</HTML>




Спустя 1 час, 24 минуты, 20 секунд (19.04.2007 - 10:23) loginsan написал(а):
Во-первых, где обещанная ссылка на сайт?
Во-вторых, Вам лень или Вы хотите кому-то заплатить за эту работу? wink.gif
В чем сложности?
Цитата
транспоранты загорались в другой последовательности, индикаторы срабатывали в другое время, а
так же ввод чисел сосуществлялся в желаемом виде.

За время отвечает массив sobv.
sobo и mno - массивы идентификаторов рисунков в html-разметке, а еще массивы sobk и ris - отвечают за "транспоранты" (sobk содержит номера элементов из ris). Т.е. возможно дело в элементах этих массивов, иначе - изменять код функций javascript (не путать с Java!).
Пока непонятно, что Вы конкретно хотите изменить...
Вобщем, Вы справитесь если захотите. Успехов!

Спустя 41 минута, 56 секунд (19.04.2007 - 11:05) EVGEN2007 написал(а):
Дело в то, что очень слабо разбираюсь в javascript , а нужно понять и разобраться в программе, поэтому прошу помощи.
Вот ссылка : Тренажер

Спустя 1 час, 13 минут, 11 секунд (19.04.2007 - 12:18) TRIAL написал(а):
Модная штуковина ))) Постядерный квест такой ))) Пытался что-либо сделать но так ничего и не смог. Это вобще тренажер чего?

Спустя 7 часов, 30 минут, 34 секунды (19.04.2007 - 19:48) EVGEN2007 написал(а):
Цитата(TRIAL @ 19.4.2007, 9:18) [snapback]18591[/snapback]
Модная штуковина ))) Постядерный квест такой ))) Пытался что-либо сделать но так ничего и не смог. Это вобще тренажер чего?

Хорошая такая штука, тренажер контроля некой аппаратуры ..... Ну так что, кто может разобраться в коде ?


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.