늘모자란, 개발 :: [webhacking.kr] Challenge 16

늘모자란, 개발



뜬금없이 별이 있다. 항상 문제를 보면 뜬금없는것 같다.

<html>
<head>
<title>Challenge 16</title>
<body bgcolor=black onload=kk(1,1) onkeypress=mv(event.keyCode)>
<font color=silver id=c></font>
<font color=yellow size=100 style=position:relative id=star>*</font>
<script> 
document.body.innerHTML+="<font color=yellow id=aa style=position:relative;left:0;top:0>*</font>";

function mv(cd)
{
kk(star.style.posLeft-50,star.style.posTop-50);
if(cd==100) star.style.posLeft=star.style.posLeft+50;
if(cd==97) star.style.posLeft=star.style.posLeft-50;
if(cd==119) star.style.posTop=star.style.posTop-50;
if(cd==115) star.style.posTop=star.style.posTop+50;
if(cd==124) location.href=String.fromCharCode(cd);
}


function kk(x,y)
{
rndc=Math.floor(Math.random()*9000000);
document.body.innerHTML+="<font color=#"+rndc+" id=aa style=position:relative;left:"+x+";top:"+y+" onmouseover=this.innerHTML=''>*</font>";
}

</script>
</body>
</html>




소스를 대강 보자.
body에 event가 걸려있다.
로드되면 kk(1,1)를 부르는데 kk는 9000000중 랜덤으로 하나를 뽑고 floor한다. 그러니까 즉 랜덤한 색을 고르는것이다. 인자로 받는 x,y는 좌표!
그리고 onkeypress에 뭘받던간에 mv를 콜하는데 별을 막 만들어낸다. 심심해서 좀 누르고 있어봤는데 좀 볼만하다. webhacking.kr에서 가장 예쁜 비주얼이 아닌가 싶다.


그리고 특이한게 마우스를 올리면 사라지게 되있다.
별? 꽃 구경은 그만하고. mv에 보면 location.href가 보인다. 저게 아마 최종골이려나 싶다.
body에서 onkeypress로 받는 event.KeyCode를 알아야 할 필요가 있다. 124는 무엇인가?
바로 or에 쓰는 | 라고 한다. 누른다. 해결된다.

이 문제는 IE에서 해야 정상작동이 된다 ㅡㅡ


2016/03/29 12:32 2016/03/29 12:32