1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

an another clock

Тема в разделе "WASM.ENGLISH", создана пользователем dcskm4200, 1 июн 2005.

  1. dcskm4200

    dcskm4200 New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2004
    Сообщения:
    173
    Адрес:
    China
    hey, all

    here is a interesting clock. Could you translate it to masm?

    ;=================================================

    <SCRIPT language=JavaScript>

    dCol='DD00EE';//date colour.

    fCol='000000';//face colour.

    sCol='006699';//seconds colour.

    mCol='ff3300';//minutes colour.

    hCol='003300';//hours colour.

    ClockHeight=50;//round size x axiad

    ClockWidth=50;//round size y axiad

    ClockFromMouseY=-100;//distance and direction clock from mouse

    ClockFromMouseX=100;



    //Alter nothing below! Alignments will be lost!



    d=new Array("SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SAT URDAY");

    m=new Array("JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST ","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER");

    n=new Array("VATECH");

    date=new Date();

    day=date.getDate();

    year=date.getYear();

    if (year < 2000) year=year+1900;

    TodaysDate=" "+d[date.getDay()]+" "+day+" "+m[date.getMonth()]+" "+year;

    D=TodaysDate.split('');

    H='...';

    H=H.split('');

    M='....';

    M=M.split('');

    S='.....';

    S=S.split('');

    Face='1 2 3 4 5 6 7 8 9 10 11 12';

    font='Arial';

    size=2;

    speed=0.55;

    ns=(document.layers);

    ie=(document.all);

    Face=Face.split(' ');

    n=Face.length;

    a=size*10;

    ymouse=0;

    xmouse=0;

    scrll=0;

    props="<font face="+font+" size="+size+" color="+fCol+]<B>";

    props2="<font face="+font+" size="+size+" color="+dCol+]<B>";

    Split=360/n;

    Dsplit=360/D.length;

    HandHeight=ClockHeight/4.5

    HandWidth=ClockWidth/4.5

    HandY=-7;//size=1 x=-7;y=-2.5 centry axiad

    HandX=2.5;//-2.5;

    scrll=0;

    step=0.06;

    currStep=0;

    y=new Array();x=new Array();Y=new Array();X=new Array();

    for (i=0; i < n; i++){y=0;x=0;Y=0;X=0}

    Dy=new Array();Dx=new Array();DY=new Array();DX=new Array();

    for (i=0; i < D.length; i++){Dy=0;Dx=0;DY=0;DX=0}

    if (ns){

    for (i=0; i < D.length; i++)

    document.write('<layer name="nsDate'+i+'" top=0 left=0 height='+a+' width='+a+'><center>'+props2+D+'</font></center></layer>');

    for (i=0; i < n; i++)

    document.write('<layer name="nsFace'+i+'" top=0 left=0 height='+a+' width='+a+'><center>'+props+Face+'</font></center></layer>');

    for (i=0; i < S.length; i++)

    document.write('<layer name=nsSeconds'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3 color='+sCol+'><center><b>'+S+'</b></center></font></layer>');

    for (i=0; i < M.length; i++)

    document.write('<layer name=nsMinutes'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3 color='+mCol+'><center><b>'+M+'</b></center></font></layer>');

    for (i=0; i < H.length; i++)

    document.write('<layer name=nsHours'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3 color='+hCol+'><center><b>'+H+'</b></center></font></layer>');

    }

    if (ie){

    document.write('<div id="Od" style="position:absolute;top:0px;left:0px]<div style="position:relative]');

    for (i=0; i < D.length; i++)

    document.write('<div id="ieDate" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';text- align:center]'+props2+D+'</B></font></div>');

    document.write('</div></div>');

    document.write('<div id="Of" style="position:absolute;top:0px;left:0px]<div style="position:relative]');

    for (i=0; i < n; i++)

    document.write('<div id="ieFace" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';text- align:center]'+props+Face+'</B></font></div>');

    document.write('</div></div>');

    document.write('<div id="Oh" style="position:absolute;top:0px;left:0px]<div style="position:relative]');

    for (i=0; i < H.length; i++)

    document.write('<div id="ieHours" style="position:absolute;width:16px;height:16px;font-family:Arial;font -size:16px;color:'+hCol+';text-align:center;font-weight:bold]'+H+' </div>');

    document.write('</div></div>');

    document.write('<div id="Om" style="position:absolute;top:0px;left:0px]<div style="position:relative]');

    for (i=0; i < M.length; i++)

    document.write('<div id="ieMinutes" style="position:absolute;width:16px;height:16px;font-family:Arial;font -size:16px;color:'+mCol+';text-align:center;font-weight:bold]'+M+' </div>');

    document.write('</div></div>')

    document.write('<div id="Os" style="position:absolute;top:0px;left:0px]<div style="position:relative]');

    for (i=0; i < S.length; i++)

    document.write('<div id="ieSeconds" style="position:absolute;width:16px;height:16px;font-family:Arial;font -size:16px;color:'+sCol+';text-align:center;font-weight:bold]'+S+' </div>');

    document.write('</div></div>')

    }

    (ns)?window.captureEvents(Event.MOUSEMOVE):0;

    function Mouse(evnt){

    ymouse = (ns)?evnt.pageY+ClockFromMouseY-(window.pageYOffset):event.y+ClockFrom MouseY;

    xmouse = (ns)?evnt.pageX+ClockFromMouseX:event.x+ClockFromMouseX;

    }

    (ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;

    function ClockAndAssign(){

    time = new Date ();

    secs = time.getSeconds();

    sec = -1.57 + Math.PI * secs/30;

    mins = time.getMinutes();

    min = -1.57 + Math.PI * mins/30;

    hr = time.getHours();

    hrs = -1.575 + Math.PI * hr/6+Math.PI*parseInt(time.getMinutes())/360;

    if (ie){

    Od.style.top=window.document.body.scrollTop;

    Of.style.top=window.document.body.scrollTop;

    Oh.style.top=window.document.body.scrollTop;

    Om.style.top=window.document.body.scrollTop;

    Os.style.top=window.document.body.scrollTop;

    }

    for (i=0; i < n; i++){

    var F=(ns)?document.layers['nsFace'+i]:ieFace.style;

    F.top=y + ClockHeight*Math.sin(-1.0471 + i*Split*Math.PI/180)+scrll;

    F.left=x[i] + ClockWidth*Math.cos(-1.0471 + i*Split*Math.PI/180);

    }

    for (i=0; i < H.length; i++){

    var HL=(ns)?document.layers['nsHours'+i]:ieHours[i].style;

    HL.top=y[i]+HandY+(i*HandHeight)*Math.sin(hrs)+scrll;

    HL.left=x[i]+HandX+(i*HandWidth)*Math.cos(hrs);

    }

    for (i=0; i < M.length; i++){

    var ML=(ns)?document.layers['nsMinutes'+i]:ieMinutes[i].style;

    ML.top=y[i]+HandY+(i*HandHeight)*Math.sin(min)+scrll;

    ML.left=x[i]+HandX+(i*HandWidth)*Math.cos(min);

    }

    for (i=0; i < S.length; i++){

    var SL=(ns)?document.layers['nsSeconds'+i]:ieSeconds[i].style;

    SL.top=y[i]+HandY+(i*HandHeight)*Math.sin(sec)+scrll;

    SL.left=x[i]+HandX+(i*HandWidth)*Math.cos(sec);

    }

    for (i=0; i < D.length; i++){

    var DL=(ns)?document.layers['nsDate'+i]:ieDate[i].style;

    DL.top=Dy[i] + ClockHeight*1.5*Math.sin(currStep+i*Dsplit*Math.PI/180)+scrll;

    DL.left=Dx[i] + ClockWidth*1.5*Math.cos(currStep+i*Dsplit*Math.PI/180);

    }

    currStep-=step;

    }

    function Delay(){

    scrll=(ns)?window.pageYOffset:0;

    Dy[0]=Math.round(DY[0]+=((ymouse)-DY[0])*speed);

    Dx[0]=Math.round(DX[0]+=((xmouse)-DX[0])*speed);

    for (i=1; i < D.length; i++){

    Dy[i]=Math.round(DY[i]+=(Dy[i-1]-DY[i])*speed);

    Dx[i]=Math.round(DX[i]+=(Dx[i-1]-DX[i])*speed);

    }

    y[0]=Math.round(Y[0]+=((ymouse)-Y[0])*speed);

    x[0]=Math.round(X[0]+=((xmouse)-X[0])*speed);

    for (i=1; i < n; i++){

    y[i]=Math.round(Y[i]+=(y[i-1]-Y[i])*speed);

    x[i]=Math.round(X[i]+=(x[i-1]-X[i])*speed);

    }

    ClockAndAssign();

    setTimeout('Delay()',50);

    }

    if (ns||ie)window.onload=Delay;

    </SCRIPT>

    ;===========================================



    regards.[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
     
  2. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    script don't work :dntknw:

    IE 6.0.2600
    Код (Text):
    1.  
    2. <html>
    3.  <body>
    4.   your script
    5.  </body>
    6. </html>
    7.  
     
  3. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    translate java to asm? ya, nice joke
     
  4. dcskm4200

    dcskm4200 New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2004
    Сообщения:
    173
    Адрес:
    China
    yureckor



    ;============

    this may work.

    ;============



    Broken Sword.



    ;============

    is it a joke?

    NO.

    ;============







    [​IMG] 2092346001__my_clock_1.zip
     
  5. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    hi! nice clock, but who has enough time to play? you can start, and when meet any difficulty you can ask for help. as russian proverb says: "eyes are scared, but hands are doing" ;) regards!
     
  6. dcskm4200

    dcskm4200 New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2004
    Сообщения:
    173
    Адрес:
    China
    Hello,shoo



    That's absolutely true.



    long time ago, I did a dream. everyone taught me that your eyes was charming, but your hands was too small. it is impossible to do a big work with your hands.



    regards
     
  7. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    dcskm4200

    I'm think that fixed flash clock is more best than this.
     
  8. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    dcskm4200

    very cool ;)
     
  9. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    Couldn't help but notice - what a charming English you all exposing here :)))
     
  10. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    masquer

    I just know some English words, but not grammer so lets speak Russian better :)
     
  11. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    masquer



    I must admit that yours is no better :)

    "you all exposing here" should be "you ARE all exposing here ;)
     
  12. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    How is it possible to expose a language anyway?
     
  13. dcskm4200

    dcskm4200 New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2004
    Сообщения:
    173
    Адрес:
    China
    Hey, all who interested the clock.



    everyone told about the language. None really dealed with our common language (asm) .



    i'm sad.



    I'll try to do.

    1. hook mouse for getting a (x, y) coordinates of mouse;

    2. modify WaterEffect demo to show clock's char.



    regards.
     
  14. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    volodya

    yep, no one is perfect, are is supposed to be there for sure, my bad



    Quantum

    it is possible, maybe displaying is a little bit more correct however
     
  15. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев


    very true, no one seems to care about the clock anyway and we better flame about languages we speak (or at least intend to) instead :)

    Besides this will add some fresh blood into WASM.ENGLISH :)
     
  16. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    dcskm4200

    hi! you ought not to be sad! if you did not get any response - may be nobody interested with this. look: i have a clock at the wall, at the right bottom of the screen, on my hand, in the phone etc. - why do i need another one? ;) nobody will do to you what is interesting mostly to you.

    so, what you already did in this? to make a big one you have to split it into the lesser parts ("divide et impera"). firstly try to create empty window and process WM_MOUSEMOVE - it returns coordinates of the mouse pointer: so, draw there something, of course if it is not a first step, after clearing prev. drawing, then send us hello - we will do next step. regards!
     
  17. Aquila

    Aquila Самурай дзена

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    1.467
    Адрес:
    Russia, Moscow
    Quantum



    You can do it with X-pose :).
     
  18. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Aquila

    LOL.



    dcskm4200

    Sorry for my flooding in your topic
     
  19. dcskm4200

    dcskm4200 New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2004
    Сообщения:
    173
    Адрес:
    China
    Hello,Quantum



    not at all.

    as shoo said, i should be feel luckily since most of members are interesting the topic.



    regards
     
  20. dcskm4200

    dcskm4200 New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2004
    Сообщения:
    173
    Адрес:
    China
    hey,all

    1,2 step have been finished. but clock char can't be showed.



    regards

    include source code.



    [​IMG] _471529436__1.rar